【发布时间】:2015-07-02 11:00:21
【问题描述】:
我需要为一个简单的钟摆制作一个 C# 模拟器。 我已经在网上搜索了 3 天,但我被卡住了。
问题是我发现了许多方程可以将角度位置作为时间的函数,这非常适合我进行视觉模拟的需要,但问题是这些函数仅适用于小于 10 的角度,但我应该可以从任何角度进行模拟。 仅适用于小角度的方程示例:
来源:http://hyperphysics.phy-astr.gsu.edu/hbase/pend.html#c2
适用于任何角度(幅度)的方程太复杂了,因为它涉及微分方程和导数。我不知道如何在 C# 中实现这些。 我认为可行但我不知道如何使用的方程式示例:
来源:http://www.sbfisica.org.br/rbef/pdf/070707.pdf (方程编号 32)
最后一个方程的问题是“sn”,即 Jacobi 椭圆函数 sn(u;m) u,我不知道如何在 C# 中使用
有人可以帮忙吗?也许还有另一个我可以以编程方式使用的方程,或者帮助我理解如果它真的有效,我如何使用最后一个方程。
【问题讨论】:
-
也可以rotate a position around an origin,没那么难。 (但依靠三角学而不是实际物理学)
-
它不能工作,因为模拟器必须接受任何摆的长度和质量,以及任何起始角度。
-
codeproject.com/Articles/566614/Elliptic-integrals 上有一篇很好的文章,它正好研究了这个问题,并最终用麦克劳林级数逼近椭圆积分。
标签: c# math physics computational-geometry differential-equations