微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我的重力模拟器似乎不太对劲请帮助! 处理JS

如何解决我的重力模拟器似乎不太对劲请帮助! 处理JS

这是查看我的程序运行情况的链接

https://www.khanacademy.org/computer-programming/bouncing-ball-interactive-new-gui/4666696546598912

为了启动程序:按“THROW”并重新启动程序。否则它将无法正常工作。我不知道为什么会这样。

我在可汗学院的 ProcessingJS 中创建了一个模拟器,但重力似乎......关闭了。

我已经使用 Processing JS 编码大约 3 年了,我喜欢用简单的代码编写复杂的程序。除了 mouseClicked() 之类的东西,我不喜欢使用任何内置函数

无论如何,我在这个程序中有很多变量。

-x 和 y,代表球的位置 -tossstrength 应该表示球相对于 y 的当前速度 -directx 应该表示球相对于 x 的当前速度 -gravity 是一个设定值,表示垂直加速度(重力) - 弹力应该代表弹跳时速度变化的因素 -strength 是抛球时球相对于 x 的起始速度 -topdown 是一个布尔值,true 表示球不能飞出屏幕顶部,false 表示可以

我将重力的起始值从 1 改为 0.83,原因如下:

我最近想知道重力加速度是否接近 9.8 m/s^2(这是真实的),所以我使用了物理学的运动学方程。涉及五个不同的值:

deltaX - 位移 v0 - 起始速度 vf - 最终速度 t - 到达终点所用的时间 a - 恒定加速度

deltaX 很难找到。我想让屏幕上的球模拟一个篮球,所以我找到了篮球的直径(以米为单位),因为我知道球的直径(50),所以我可以使用一个比例来计算 350 像素是多少米(球自由落体运动的距离)。我有 5.334 米。

v0 为 0 米/秒。

我不需要找到 vf。

找到 t 有点草率。我使用手动秒表对球从屏幕顶部落到底部进行计时,发现许多值的平均值为 0.95 秒。

为了找到 a,我使用了运动学方程 deltaX = v0t + 1/2 * at^2 并插入了 deltaX、v0 和 t 的值来找到 a。我发现 11.82 m/s^2。这意味着当重力变量设置为 1 时,重力加速度为 11.82 m/s^2。

这显然远不及 9.8 m/s^2,所以我使用了一个比例来找出重力变量必须设置为多少才能将加速度设置为 9.8 m/s^2。

不过,我的问题仍然存在。正如您自己所看到的,重力看起来不太正确。我做错什么了吗?还是我的悲观情绪影响了我的看法?

非常感谢您调查此事。我将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。