最近,阅读了许多关于“LifeGa葡矩酉缸me”和“Langton'sant”之类的文章,发现非常有趣。于是,我就想到以下维咩缡朊问题:假设平面上一只蚂蚁位于原点,头朝向x轴正方向,并按照pi的规律进行移动:蚂蚁第一步,遇到pi的第一个数字3,是个奇数,那么蚂蚁向右转,并前进一步;蚂蚁第二步,遇到pi的第二个数字1,也是奇数,那么蚂蚁还得向右转,并前进一步;蚂蚁第三步,遇到pi的第三个数字4,是偶数,那么蚂蚁就得向左转,并前进一步;依此类推,那么,第10000步之后,蚂蚁的移动轨迹是什么?
工具/原料
电脑
Mathematica
方法/步骤
1、怎么求pi的第n个数字?公式可艮劁飨戽以是:Floor[Pi*10^(n-1)]-Floor[Pi*10^(n-2)]*10下图给出了pi的前365位数字。
2、把蚂蚁视为平面上的点,那么它的初始坐标是{0,0},此张虢咆噘时蚂蚁的转动角度是:-90°=90°*(-1)^3;其实,只要确定了pi的第n步的数字m的奇偶性,就可以判断出当时蚂蚁的茌慊瑞谷转动角度:90°*(-1)^m。下面是蚂蚁前100步的转动角度。
3、用AnglePath可以直接给出蚂蚁的移动坐标。
4、用Graphics连结起蚂蚁的移动轨迹。Graphics[{Blue,Line[%]}]
5、蚂蚁前1000步的轨迹图像如下。
6、蚂蚁跑到10000步,图形如下。
7、蚂蚁每跑200步,截取一次图像,那么,可以做成一个不太连贯的动态图。
8、蚂蚁跑到30000步,图形如下。