多语言展示
当前在线:1893今日阅读:165今日分享:48

pi分形与蚂蚁的移动轨迹图案的绘制方法

最近,阅读了许多关于“LifeGame”和“Langton's ant”之类的文章,发现非常有趣。于是,我就想到以下问题:假设平面上一只蚂蚁位于原点,头朝向x轴正方向,并按照pi的规律进行移动:蚂蚁第一步,遇到pi的第一个数字3,是个奇数,那么蚂蚁向右转,并前进一步;蚂蚁第二步,遇到pi的第二个数字1,也是奇数,那么蚂蚁还得向右转,并前进一步;蚂蚁第三步,遇到pi的第三个数字4,是偶数,那么蚂蚁就得向左转,并前进一步;依此类推,那么,第10000步之后,蚂蚁的移动轨迹是什么?1Mathematica基础——续谈AnglePath0怎么使用Mathematica——AnglePath
工具/原料
1

电脑

2

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步,图形如下。

8

蚂蚁跑到30000步,图形如下。

注意事项

想要了解AnglePath的用法,请参考上面的超链接里面的文章。

推荐信息