《 VPython 10套新手入门完整可运行源码》
VPython 10套新手入门完整可运行源码全部复制即可运行安装依赖pip install vpython1. 基础弹跳小球力学入门fromvpythonimport*# 场景设置scenecanvas(title弹跳小球,width600,height400)floorbox(posvector(0,-5,0),sizevector(12,0.5,6),colorcolor.gray(0.3))ballsphere(posvector(0,4,0),radius1,colorcolor.red)# 物理参数ball.vvector(0,0,0)gvector(0,-9.8,0)dt0.01whileTrue:rate(100)ball.vg*dt ball.posball.v*dt# 地面碰撞反弹ifball.pos.y-ball.radiusfloor.pos.yfloor.size.y/2:ball.v.y-ball.v.y*0.85# 恢复系数2. 弹簧振子简谐运动fromvpythonimport*scenecanvas(title弹簧振子)wallbox(posvector(-5,0,0),sizevector(0.5,4,4),colorcolor.gray(0.2))blockbox(posvector(2,0,0),sizevector(1.5,1.5,1.5),colorcolor.blue)springhelix(poswall.pos,axisblock.pos-wall.pos,radius0.4,coils12)# 物理参数k15m2block.vvector(1.2,0,0)dt0.01whileTrue:rate(100)spring.axisblock.pos-wall.pos stretchmag(spring.axis)-7F-k*stretch*norm(spring.axis)block.vF/m*dt block.posblock.v*dt3. 单摆仿真fromvpythonimport*scenecanvas(title单摆)pivotsphere(posvector(0,5,0),radius0.2,colorcolor.gray(0.5))bobsphere(posvector(3,0,0),radius0.4,colorcolor.green)rodcylinder(pospivot.pos,axisbob.pos-pivot.pos,radius0.1)Lmag(bob.pos-pivot.pos)bob.vvector(0,0.6,0)g9.8dt0.01whileTrue:rate(100)rod.axisbob.pos-pivot.pos thetaatan2(bob.pos.x,bob.pos.y-pivot.pos.y)a_tan-g*sin(theta)/L bob.v.xa_tan*dt bob.pos.xbob.v.x*dt# 约束摆长rbob.pos-pivot.pos bob.pospivot.posL*norm(r)4. 两球弹性碰撞fromvpythonimport*scenecanvas(title弹性碰撞)ball1sphere(posvector(-3,0,0),radius0.8,colorcolor.orange)ball2sphere(posvector(3,0,0),radius0.8,colorcolor.cyan)m1,m21,1ball1.vvector(2.5,0,0)ball2.vvector(0,0,0)dt0.01whileTrue:rate(100)ball1.posball1.v*dt ball2.posball2.v*dt# 碰撞检测distmag(ball1.pos-ball2.pos)ifdistball1.radiusball2.radius:v1,v2ball1.v.x,ball2.v.x ball1.v.x((m1-m2)*v12*m2*v2)/(m1m2)ball2.v.x((m2-m1)*v22*m1*v1)/(m1m2)5. 点电荷电场可视化fromvpythonimport*scenecanvas(title点电荷电场,backgroundcolor.black)q1sphere(posvector(0,0,0),radius0.3,colorcolor.red)q2sphere(posvector(4,0,0),radius0.3,colorcolor.blue)# 绘制电场箭头k9e9step1forxinrange(-6,7,step):foryinrange(-4,5,step):forzinrange(-2,3,step):posvector(x,y,z)r1pos-q1.pos r2pos-q2.pos E1k*1*norm(r1)/mag(r1)**2E2k*(-1)*norm(r2)/mag(r2)**2EE1E2 arrow(pospos,axisE*0.08,colorcolor.yellow)6. 行星绕恒星轨道开普勒fromvpythonimport*scenecanvas(title行星轨道)starsphere(posvector(0,0,0),radius1.2,colorcolor.yellow,emissiveTrue)planetsphere(posvector(6,0,0),radius0.4,colorcolor.blue,make_trailTrue)G1M_star10planet.vvector(0,1.3,0)dt0.01whileTrue:rate(100)rplanet.pos-star.pos F-G*M_star*1*norm(r)/mag(r)**2planet.vF*dt planet.posplanet.v*dt7. 滑块斜面摩擦fromvpythonimport*scenecanvas(title斜面滑块)# 斜面angleradians(25)slopebox(posvector(3,-1.5,0),sizevector(8,0.3,3),colorcolor.gray(0.4))slope.rotate(angleangle,axisvector(0,0,1),originslope.pos)blockbox(posvector(0,2,0),sizevector(1,1,1),colorcolor.magenta)g9.8mu0.12block.vvector(0,0,0)dt0.01whileTrue:rate(100)# 沿斜面坐标系分解重力sinAsin(angle)cosAcos(angle)a_downg*sinA-mu*g*cosA block.v.xa_down*dt block.pos.xblock.v.x*dt block.pos.yblock.pos.x*tan(angle)0.68. 带电粒子在磁场回旋fromvpythonimport*scenecanvas(title磁场中带电粒子回旋,backgroundcolor.black)# 匀强磁场箭头Bvector(0,0,0.8)forzinrange(-4,5,2):arrow(posvector(0,0,z),axisvector(0,0,1),colorcolor.green,shaftwidth0.1)chargesphere(posvector(-4,0,0),radius0.3,colorcolor.orange,make_trailTrue)q1m0.5charge.vvector(0,2.5,0)dt0.01whileTrue:rate(100)Fq*cross(charge.v,B)charge.vF/m*dt charge.poscharge.v*dt9. 实时数据绘图弹簧能量曲线fromvpythonimport*scenecanvas(title弹簧振子能量)plotgraph(title动能势能,xtitle时间,ytitle能量)Ek_curvegcurve(colorcolor.red,label动能)Ep_curvegcurve(colorcolor.blue,label弹性势能)wallbox(posvector(-5,0,0),sizevector(0.5,3,3))blockbox(posvector(2,0,0),sizevector(1,1,1))springhelix(poswall.pos,axisblock.pos-wall.pos,radius0.3)k12m1block.vvector(1.5,0,0)t0dt0.01whileTrue:rate(100)spring.axisblock.pos-wall.pos stretchmag(spring.axis)-6F-k*stretch*norm(spring.axis)block.vF/m*dt block.posblock.v*dt# 能量计算Ek0.5*m*mag(block.v)**2Ep0.5*k*stretch**2Ek_curve.plot(t,Ek)Ep_curve.plot(t,Ep)tdt10. 3D基础几何体鼠标交互fromvpythonimport*scenecanvas(title基础几何体 鼠标拖拽物体)box(posvector(-3,0,0),sizevector(1.5,1.5,1.5),colorcolor.cyan)sphere(posvector(0,0,0),radius0.8,colorcolor.orange)cylinder(posvector(3,0,0),axisvector(0,2,0),radius0.6,colorcolor.green)cone(posvector(0,-3,0),axisvector(0,1.5,0),radius0.7,colorcolor.magenta)# 鼠标拖拽逻辑drag_objNonedefmouse_down(evt):globaldrag_obj drag_objscene.mouse.pickdefmouse_move(evt):ifdrag_obj:drag_obj.posscene.mouse.posdefmouse_up(evt):globaldrag_obj drag_objNonescene.bind(mousedown,mouse_down)scene.bind(mousemove,mouse_move)scene.bind(mouseup,mouse_up)运行说明安装pip install vpython新建py文件复制任意一段代码直接运行会自动弹出浏览器3D窗口操作鼠标左键拖拽旋转视角滚轮缩放右键平移画面拓展可自行修改质量、重力、电荷、弹簧劲度系数等参数观察变化

相关新闻

读了80篇文献依然找不到研究空白?教你利用GPT-5.6学会五种“挖缺思维”

读了80篇文献依然找不到研究空白?教你利用GPT-5.6学会五种“挖缺思维”

各位同仁好,我是七哥。一个在高校里从事人工智能 相关领域研究,钻研用大模型AI实操的学术人。可以和七哥交流学术写作或Gemini、GPT、Claude 等大模型 学术实操相关问题,多多交流,相互成就,共同进步。 ”别人都研究过了,我还能写点什么?“ 大多数学术同仁的这种创新…

2026/8/16 3:11:28 阅读更多 →
RK3588平台下OpenCV视觉库调用实践C++

RK3588平台下OpenCV视觉库调用实践C++

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,提供了数百种计算机视觉算法,核心功能包括图像视频处理、特征检测、目标检测、图像分割、相机标定与3D重建、机器学习等本文通过一个简单的图…

2026/8/16 3:12:37 阅读更多 →
拼多多截流软件:20核并发不抢焦,单机跑通百店零报错

拼多多截流软件:20核并发不抢焦,单机跑通百店零报错

拼多多截流软件:20核并发不抢焦,单机跑通百店零报错 干店群想赚钱,核心就两个字——效率。拼多多的同行数据截流,是店群运营中最耗人力也最容易出错的环节。 同行截流是店群最核心的引流手段。别人花大价钱投流的爆款&#xff0…

2026/8/16 3:11:24 阅读更多 →

最新新闻

电赛循迹系统实战:五路传感器与PID算法实现车载平衡滚球精准控制

电赛循迹系统实战:五路传感器与PID算法实现车载平衡滚球精准控制

在准备电赛这类综合性极强的电子设计竞赛时,很多同学都会卡在“循迹”这个看似基础实则考验综合能力的环节上。尤其是在“车载平衡滚球运动控制系统”这类复杂题目中,如何让小车稳定、精准地沿预定轨迹跑完一圈,往往成为决定成败的关键。网上…

2026/8/16 3:13:54 阅读更多 →
从零搭建你的 A 股量化系统(十五):Pandas 量化必备 30 操作(上)——索引、时间序列、重采样

从零搭建你的 A 股量化系统(十五):Pandas 量化必备 30 操作(上)——索引、时间序列、重采样

系列名:《从零搭建你的 A 股量化系统》| 专栏 S2 Python 工具链 | 第 3 篇 / 共 14 篇 标签:#量化投资 #Pandas #时间序列 #重采样 #Python #数据分析 #零基础 #实战 #A股 #散户NumPy 是发动机,pandas 是装了发动机的整…

2026/8/16 3:13:54 阅读更多 →
基于Spring Boot的畜牧养殖管理系统设计与实现

基于Spring Boot的畜牧养殖管理系统设计与实现

一、项目背景与意义随着现代农业向集约化、智能化方向发展,传统粗放式的畜牧养殖管理模式已难以满足现代畜牧业对生产效率、成本控制和食品安全追溯的高要求。开发一套基于信息技术的畜牧养殖管理系统,对于提升养殖场管理水平、降低运营风险、保障产品质…

2026/8/16 3:13:54 阅读更多 →
金士顿Canvas系列存储卡有什么特别的技术优势?

金士顿Canvas系列存储卡有什么特别的技术优势?

金士顿(Kingston)Canvas系列存储卡凭借清晰的阶梯化场景定位、高可靠的软硬件兼容性以及完善的质保体系,在数码扩容与专业影像存储领域建立了显著的综合竞争优势。虽然在极限峰值速率上面对闪迪(SanDisk)极速旗舰&…

2026/8/16 3:13:54 阅读更多 →
XPBD物理模拟:从约束柔度到布料模拟的算法实现与优化

XPBD物理模拟:从约束柔度到布料模拟的算法实现与优化

1. 从弹簧到约束:XPBD的核心思路拆解刚接触物理模拟,尤其是布料、软体这类东西时,很多人都是从经典的弹簧质点模型(Mass-Spring System)开始的。我也一样,早年写个小demo,把一堆质点用弹簧连起来…

2026/8/16 3:12:54 阅读更多 →
程序设计竞赛:黄金窗口期与系统化能力提升指南

程序设计竞赛:黄金窗口期与系统化能力提升指南

1. 项目概述:为什么说竞赛是“过了这个村没这个店”?程序设计竞赛,对于很多计算机专业的学生和算法爱好者来说,是一个既熟悉又充满敬畏的词。你可能听说过ACM-ICPC、蓝桥杯、力扣周赛,也可能在某个深夜刷题时&#xff…

2026/8/16 3:12:54 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/14 13:40:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/14 14:06:45 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/15 2:35:29 阅读更多 →