牛顿的引力理论说,两点质量之间的引力是
F =(Gm 1 m 2)/ r 2
哪里
- G为重力常数:6.674×10 -11 N·(m / kg)2
- m 1是第一个物体的质量
- m 2是第二个物体的质量
- r是它们的质心之间的距离
挑战
您需要模拟两个单词之间的拉动。每个小写字母的质量取决于其在字母表中的位置。大写字母的质量是小写字母的两倍!您将得到一个字符串,其中包含两个单词,这些单词由几个空格分隔,以及正整数秒数s。在s秒后输出字符串的外观。
信息
- 因为单词是抽象的,所以它们具有一组不同的单位和常量
- 质量:WMU(字质量单位)-等于字母“ a”的质量。
- 距离:em,一个字符的长度。
- 力: N W(牛顿(Word Newton))= WMU·em / s 2
- 重力常数:G = 1 N w ·(em / WMU)2
- 第一个字符对应于x轴上的位置0。
- 所有计算都应尽可能精确地进行,直到最后才舍入到最接近的em。
- 您不需要使用微积分,只需要每秒重新计算F,自动将新的加速度应用于速度,然后一秒钟将速度应用于位置(请参见示例)。
- 一旦两个单词相互碰撞(如
catdog
),它们就不会再移动了。
质量中心
的质心的单词的可与式中找到:
其中中号是单词的总质量,中号我是字母的质量,和- [R 我是字母的位置。
例:
(注意:尽管此示例未显示,但请记住,大写字母的质量是小写字母的两倍。)
输入:cat dog
,2
首先,每个单词的位置是什么?“ cat”从位置0开始,“ dog”从位置9开始,因此
- x c = 0且x d = 9
接下来,让我们找到“猫”的重心。
- 它的质量为24 WMU(3 + 1 + 20)。
- R c = 1/24(3 * 0 + 1 * 1 + 20 * 2)= 41/24 = 1.70833 em
- 因此,毫不奇怪,质心非常接近字母“ t”。
现在让我们获得“狗”的重心
- R d = 1/26(4 * 9 + 15 * 10 + 7 * 11)= 263/26 = 10.11538 em
- 因此,狗的质心接近字母“ o”,稍微靠近“ g”。
现在我们可以计算两个单词之间的力。
- F = 24 * 26 /(10.11538-1.70833)2 = 8.82871Ñ 瓦特
现在我们需要对两个词都施加这种力并获得它们的加速度
- a c = 8.82871 / 24 = .36786 em / s 2
- a d = -8.82871 / 26 = -.33957 em / s 2
按照上述规则,我们将加速度应用于速度,因此
- v c = .36786 em / s
- v d = -.33957 em / s
然后我们将速度应用于该位置,因此一秒钟后,
- x c = .36786 em
- x d = 9 -.33957 = 8.66043 em。
- R c = 1.70833 + .36786 = 2.07619 em
- R d = 10.11538-.33957 = 9.77581 em
现在,我们用新的位置再重复一次该过程:
- F = 24 * 26 /((9.77581) - (2.07619))2 = 10.52558Ñ 瓦特
- a c = 10.52558 / 24 = .43857 em / s 2,a d = 10.52558 / 26 = -.40483 em / s 2
- v c = .36786 + .43857 = .80643 em / s,v d = -.33957-.40483 = -.74440 em / s
- x c = .36786 + .80643 = 1.17429 em,x d = 8.66043-.74440 = 7.91603 em
- R c = 2.07619 + .80643 = 2.88262 em,R d = 9.77581-.74440 = 9.03141 em
因此,我们在x = 1.17429处获得“ cat”,在x = 7.91603处获得“ dog”。
- 我们将它们四舍五入到最接近的整数,以便“ cat”转到位置1,“ dog”转到位置8,因此输出为
cat dog
- 我们将它们四舍五入到最接近的整数,以便“ cat”转到位置1,“ dog”转到位置8,因此输出为
处理碰撞
请记住,新的加速度会立即每秒添加到速度中。因此,如果两个单词在特定时间发生碰撞,请使用代数找到碰撞点。举个例子:
- 单词1长4个字母(|| w 1 || = 4)
- 单词2的长度为4个字母(|| w 2 || = 4)
- x 1 = 3,x 2 = 8
v 1 = 2,v 2 = -6
解决
3 + (4-1) + 2t = 8 - 6t
。t = .25秒。碰撞的位置是x col = 6.5。因此,碰撞应出现在x = 6和x = 7之间####@@@@
。
碰撞后单词位置的显式公式为
- x 1 =楼板面积(x col)-|| w 1 || +1
- x 2 =楼板面积(x col)+1
@FryAmTheEggman“信息”中的最后一个要点是碰撞。您可以一步一步完成操作,但请确保遵循列出的规则。
—
geokavel
单词可能会彼此通过吗?
—
xnor
@xnor不,他们不会。我添加了有关正确处理冲突的部分。
—
geokavel
我试图了解这里涉及的物理学。考虑配置
—
。– mathmandan
xx a
(单词xx
和之间的一个空格a
)。在牛顿物理学中,a
感觉到的力是由于x
从两个em的距离拉近而另一个x
从三个em的距离拉远,是吗?由于平方反比的关系,这与单点质量X
从2.5
em的距离(即的质心)拉出的力不同xx
...所以只是为了澄清一下,我应该将每个WORD视作一个点质量,其所有质量都集中在其质心上,这里的“质心”是指“如果我们改为将其字母视为点质量,则为质量”。这个对吗?
—
mathmandan