魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 8176|回复: 52
打印 上一主题 下一主题

球面上的四只蚂蚁 [复制链接]

Rank: 7Rank: 7Rank: 7

积分
3023
帖子
2408
精华
14
UID
12269
性别

智力游戏设计大师 八年元老

跳转到指定楼层
1#
发表于 2011-8-29 13:21:19 |只看该作者 |正序浏览
  有四只蚂蚁A、B、C、D,平均分布在半径为1的球面上,A追逐B,B追逐C,C追逐D,D追逐A。都是按照球面上的最短距离去追逐。四只蚂蚁速度都是1。 那么,最终会怎样?四只蚂蚁能否碰面?能的话运动了多长时间和多长距离?。。。

  有两种矛盾的思路:
  一、根据对称,四只蚂蚁不会碰头。
  二、.最后四只蚂蚁都在一个大圆上,互相追赶,永无止境。
  除了上述两种思路外,是否还会有第三种?
已有 1 人评分经验 收起 理由
谢老师 + 10 理想状态下的一道非常值得探究的好题目!

总评分: 经验 + 10   查看全部评分

鲁班锁吧http://tieba.baidu.com/f?kw=%C2%B3%B0%E0%CB%F8

Rank: 2

积分
282
帖子
249
精华
0
UID
1289657
性别
保密
53#
发表于 2011-9-6 22:43:51 |只看该作者

回复 52# 的帖子

你的计算表达真是太好了,起初我还以为这个函数表达式不会很复杂(幂指数、对数、三角、反三角等函数复合)。
另外,对于球面位置坐标,使用经纬度来表示比用直角坐标要简化很多,并且便于理解。

使用道具 举报

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
52#
发表于 2011-9-6 21:59:43 |只看该作者
要求ABCD坐标随时间变化的方程,不一定要用直角坐标(x,y,z)的方法。可以用经纬度的方法。经度j,纬度w.
x、y、z和j、w满足以下关系式。
x=cosw*cosj
y=cosw*sinj
z=sinw
-------------------------------------------
ABCD的经纬度随时间的变化,只要知道一只蚂蚁的方程即可,其他蚂蚁可以用它推出。
假设任何时候,A的坐标(j1,w1),B(j2,w2),C(j3,w3),D(j4,w4).
那么以下任何时候都成立:
     w1=w3=-w2=-w4
      j2=j1-π/2      j3=j2-π/2    j4=j3-π/2  (即任何蚂蚁和自己所追的对方经度相差永远等于90度。)
------------------------------------------------
对于B蚂蚁:
因为 dw=-sinw/ sqrt(1+(sinw)^2)*dt
所以 dt=-sqrt(1+(sinw)^2)/sinw*dw
对上式积分就可求得B蚂蚁到达任何位置时的时间。
t=∫(w0,w){ -sqrt(1+(sinw)^2)/sinw}                   ∫(a,b){f(x)}表示对f(x)从a积到b的定积分。
再加上 j=ln(sqrt(2))+ln(tan(w))
就可表示B到达任何位置的时间t。
而对 -sqrt(1+(sinw)^2)/sinw 的积分我不会求精确函数,不过可以求近似值。
另外当蚂蚁绕球一圈时,w已接近数值0,所以 sqrt(1+(sinw)^2)近似等于1
对于只要求-1/sinw的积分即可,求出的积分=-ln(tan(w/2))
蚂蚁绕一圈时,j=-2*π,此时w=atn(e^(-2π)/sqrt(2))=0.00132048065157392182498809843643
    初始w0=0.61547970867038734106746458912399
绕一圈所花费的时间=∫(0.61547970867038734106746458912399,0.00132048065157392182498809843643){ -sqrt(1+(sinw)^2)/sinw} =6.265
对于绕一圈以上的可以用以下近似函数表示:
        t=6.265+(-ln(tan(w/2)+ln(tan(0.00132048065157392182498809843643/2))
     即t=-ln(tan(w/2)-5.106   
    也可写成  w=2*atn(e^(-t-5.106))       式a
    加上         j=ln(sqrt(2))+ln(tan(w))     式b
    就可表示B蚂蚁位置与时间的关系式.

[ 本帖最后由 lulijie 于 2011-9-6 22:10 编辑 ]

使用道具 举报

Rank: 2

积分
282
帖子
249
精华
0
UID
1289657
性别
保密
51#
发表于 2011-9-6 11:52:14 |只看该作者
楼上分析得很好,如果能有这四个点的坐标随时间变化的方程就最好了!

题中的四只蚂蚁位置对称,但是运动路径并不是两两对称,指向性为A→B→C→D→A,其中A→C、B→D方向空缺,这就造成直线AC、BD的特殊性,AC⊥BD,这两条直线可以确定一个平面,这个平面平行于AC和BD,且和AC、BD的距离相等。

使用道具 举报

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
50#
发表于 2011-9-6 02:31:18 |只看该作者
下面计算蚂蚁爬行曲线的方程,和蚂蚁到达赤道花费的时间。
还是按照45楼的方法建立空间直角坐标系。采用地球系统的经度、纬度表示法。东经为正,西经为负,北纬为正,南纬为负。
初始位置也和45楼的一样。
下面以B为例建立曲线方程。B(w,j)表示t时刻,B的位置在北纬w,东经j的位置。
B的初始位置(w0,j0),    tan(w0)=sqrt(2)/2,    j0=0
可以得到以下微分方程:
dw=-sinw/ sqrt(1+(sinw)^2))*dt    纬度的微分与时间的微分的关系。
dj= -dt/sqrt(1-(sinw)^4)                 经度的微分与时间的微分的关系。(B的经度随着时间逐渐减少。)
两式联立消去dt,解出
   j=ln(sqrt(2))+ln(tan(w))         式1
或w=atn(e^j/sqrt(2))               式2     atn: 反正切
------------------------------------------------
从式2可以描出B的曲线方程。
    当j=-π时,B刚好绕球体半圈,这时,w=1.7502341982899068216149234499044°,接近赤道。
    当j=-2π时,B刚好绕球体一圈,这时,w=0.07565796826387070443024922587528°,已经非常接近赤道。
    j=-4π时,w=0.000014128700504914625558898770742487°。
但无论B绕球体多少圈,w永远不会等于0,即B永远到不了赤道,只能无限接近赤道。
也就是说赤道平面是4只蚂蚁的终极目标,只能无限接近,永远不会到达。

[ 本帖最后由 lulijie 于 2011-9-7 00:20 编辑 ]

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
3023
帖子
2408
精华
14
UID
12269
性别

智力游戏设计大师 八年元老

49#
发表于 2011-9-5 22:07:35 |只看该作者
42楼:中轴的建立应是此题里程碑式的判断!
  “畫中軸, 其實这個步驟很重要, 4面体有6條棱, 螞蟻一隻追一隻, 只有4條線, 因此中軸只能向一個方向”!
  我的理解:尽管四面体有6条棱,但四只蚂蚁追逐的路线只有4条。而这4条线首尾相连接,围成了一个4边形曲面,这个曲面的法线就只可能有一根!就是这根“中轴”。
  往下,就容易理解这四只蚂蚁追逐的最终结果是一个大圆了。
  而这个大圆却是一个不“稳”的大圆。这点,14楼及不少帖子有详细的讨论。用电脑编程要用到小量误差,而这小量误差造成了大圆的不“稳”,所以运算的结果就追逐相会到一点了!
鲁班锁吧http://tieba.baidu.com/f?kw=%C2%B3%B0%E0%CB%F8

使用道具 举报

红魔

华容道游戏爱好者

Rank: 4

积分
1702
帖子
1071
精华
3
UID
76004
性别

智力游戏设计大师 六年元老

48#
发表于 2011-9-5 06:16:45 |只看该作者
猜想3:“若四只蚂蚁都在一个大圆上,互相追赶,永无止境,则每一只蚂蚁与球心的连线与大圆所在平面都应有相同的夹角,这样的平面存在么?”通过楼上几位的分析答案是肯定的,就是垂直于对称轴的那个大圆所在平面!太妙了!

使用道具 举报

透魔

有空了学学4D二阶

Rank: 6Rank: 6

积分
5924
帖子
3936
精华
0
UID
1290
兴趣爱好
结构
理论

魔方破解达人 八年元老

47#
发表于 2011-9-5 02:50:25 |只看该作者
楼上两位说得对!

这个对称性本来应该很容易看出来的,只是一开始看到没有正四面体那么完美的对称,于是直接认为不对称了……

使用道具 举报

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
46#
发表于 2011-9-5 02:35:12 |只看该作者
回复44楼:
用的软件是自己用VB6.0编的程序。

使用道具 举报

Rank: 4

积分
1194
帖子
924
精华
6
UID
44804
性别
保密
45#
发表于 2011-9-5 02:31:34 |只看该作者

标题

通过下面的叙述,大家对于为什么四只蚂蚁最后会在一个大圆上运行,会很好理解。
以球心作为原点,AC、BD的中点连线作为z轴,过原点平行于AC的直线作为x轴,过原点平行于BD的直线作为y轴,建立直角坐标系,我们用地球的经纬度来类比说明。
B、D在北半球,B所在的经度为0度,纬度为x度,那么:
初始位置:A东经90度,南纬x度
      B经度0度,北纬x度
      C西经90度,南纬x度
      D经度180度,北纬x度。
A追B,就要经过赤道(即xy轴构成的平面),同理,B、C、D都要通过赤道才能追上对方。在到达赤道之前,由于分布在赤道两边,是不可能追上对方的。随着时间的进行,蚂蚁离赤道越来越近,根据对称性,4只蚂蚁会同时到达赤道,并且位于四等分点上,从而四只蚂蚁永远在赤道
上周而复始的追赶着对方,永远不可能追上。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2025-3-1 22:57

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部