python - 如何在 vpython 中实现两个球的重量?
问题描述
如何在 vpython 中实现两个球的重量?
我将把球放在空中并比较球的下落速度和它的重量。
我们如何实现这一点?如果有其他图书馆,请推荐。
解决方案
作为答案,我发布了一个关于如何使用 VPython 制作物理模型的广泛教程的链接,但我的答案被删除了,因为我必须提供该教程的链接。所以这里至少是一个落下和弹跳球的简单例子:
floor = box(pos=vec(0,-5,0), size=vec(10,0.2,10), texture=textures.wood)
ball = sphere(pos=vec(-5,5,0), radius=0.3,
make_trail=True, color=color.cyan, emissive=True)
L = local_light(pos=ball.pos, color=ball.color)
m = 1
g = 9.8
p = m*vec(2,0,0) # initial momentum of the ball
dt = 0.01
t = 0
gr = gcurve(color=color.red)
while ball.pos.x < 12:
rate(100)
F = vec(0,-m*g,0)
p = p + F*dt
ball.pos = ball.pos + (p/m)*dt
L.pos = ball.pos
if ball.pos.y < floor.pos.y + ball.radius:
p.y = -p.y
t += dt
gr.plot(t,p.y/m)
推荐阅读
- wso2 - wso2-apim 发布者在加载 api 时卡住
- excel - 日期在图表上显示为 1900 年
- javascript - 将 css 变量作为画布过滤器传递
- neo4j - 创建节点并为其设置 ID 而不复制字段
- macos - 对来自 macos 终端的所有连接使用 nexus 默认令牌/凭据
- android - 无法在 android studio 中运行模拟器
- android - 为什么我会收到此错误“从服务器收到状态代码 401:未经授权”?
- c - C/C++:当服务器重新启动时,客户端永远不会恢复 DTLS 连接
- ios - SwiftUI,如何禁用对列表项的触摸,但对列表项的子视图启用触摸?
- excel - 是否有一个公式可以从一张纸(不包括空白)中捕获所有值并在另一张纸上按顺序显示?