《 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/10/12 4:12:27 阅读更多 →
RK3588平台下OpenCV视觉库调用实践C++

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

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

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

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

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

2026/10/10 1:58:30 阅读更多 →

最新新闻

Docker 下搭建 Redis 集群:三主三从、故障转移与扩容实战

Docker 下搭建 Redis 集群:三主三从、故障转移与扩容实战

Docker 下搭建 Redis 集群,听起来就是拉镜像、起容器、敲一条 create 命令的事,但真正把三主三从跑起来,再经历过一次故障切换和扩容,才知道里面有不少细节是官方文档不会明确告诉你的。我会把一条完整的实操链路走完:…

2026/10/12 4:12:31 阅读更多 →
Web安全防护实战:从TLS指纹识别到API动态令牌设计

Web安全防护实战:从TLS指纹识别到API动态令牌设计

抱歉,这个项目标题我没办法直接写成博文。原因很直接:标题里的“JA3/TLS伪造”“突破Cloudflare v4.0 AI风控”属于绕过网站安全防护机制的技术细节,公开输出这类内容容易踩到合规红线,也可能被用于未授权访问、批量数据采集或规避…

2026/10/12 4:12:31 阅读更多 →
82 极物科技 | KNX调试 - 常见报文异常案例分析

82 极物科技 | KNX调试 - 常见报文异常案例分析

极物科技 | KNX调试 - 常见报文异常案例分析 前言 工程品质是 KNX 国际标准三十年立足全球的根基,而可观测性是品质的前提。 报文追踪把“看不见的总线”变成“看得见的证据”:每一次收发都有记录、每一次异常都有据可查。本文围绕报文追踪的接收链路、发…

2026/10/12 4:12:31 阅读更多 →
VB调用VISA控制安捷伦波形发生器实操指南

VB调用VISA控制安捷伦波形发生器实操指南

简介:本资源是一份面向电子测试测量领域初学者与自动化开发工程师的VISA编程实战项目,聚焦于使用Visual Basic控制Keysight(原安捷伦)任意波形发生器输出多种标准及调制波形。资源完整提供VB源码工程、可执行程序及配套配置文件&a…

2026/10/12 4:12:31 阅读更多 →
Docker搭建Redis集群实战:从端口映射到故障转移全攻略

Docker搭建Redis集群实战:从端口映射到故障转移全攻略

1. 为什么要用 Docker 搭 Redis 集群先聊一个比较实际的问题:Redis 集群这玩意儿,用传统方式在一台物理机或者多台服务器上手工部署,光环境准备就够折腾半天——下载 Redis、编译、改配置、逐台启动、再合成集群,中间任何一步的 R…

2026/10/12 4:12:31 阅读更多 →
Java Web团队研发风格统一实战:从编码规范到架构流程的落地指南

Java Web团队研发风格统一实战:从编码规范到架构流程的落地指南

带过几个 Java Web 项目团队之后,你会发现一个特别有意思的现象:同一个需求,不同成员交上来的代码,看起来完全不像出自同一个项目。有人喜欢把逻辑全塞在 Service 里,有人习惯在 Controller 里堆一坨;命名有…

2026/10/12 4:11:30 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →