龙空技术网

Scratch编程学数学:阿基米德螺线上的乌拉姆螺旋

刘_汉杰 53

前言:

今天看官们对“c语言蛇形矩阵”大体比较珍视,看官们都想要分析一些“c语言蛇形矩阵”的相关内容。那么小编同时在网上网罗了一些关于“c语言蛇形矩阵””的相关知识,希望姐妹们能喜欢,你们一起来学习一下吧!

Scratch学数学:阿基米德螺线上的乌拉姆螺旋

前面我们有两篇头条文介绍了与质数分布有关的美图,即二维质数分布图和蛇形直角矩阵乌拉姆螺旋。本篇我们继续探讨这个有趣的话题。就是把连续正整数的是否质数的状态点,依次放在阿基米德螺线(等距螺线)上,看看有什么结果?

(一)预备知识——阿基米德螺线

阿基米德螺线,又称算数螺旋,螺旋描述了一个随时间以恒定速度沿一条以恒定速度旋转的线远离定点运动的点的相对位置,是用第三世纪古希腊数学家阿基米德命名的一种螺旋。

阿基米德像

阿基米德螺线的极坐标方程式:ρ=a + bθ,其中a和b均为实数。当θ =0时,a为起点到极坐标原点的距离。

dρ/dθ=b ,b为螺旋线每增加单位角度,ρ随之对应增加的数值。改变参数a,相当于旋转螺线,而参数b则控制相邻两条曲线之间的距离。

平面笛卡尔坐标方程式:r=a(1+t)

X= rcos(2πt)

y= rsin(2πt)

阿基米德螺旋公式可以用指定的半径r,圆周速度v,直线运动速度Ω来表示,公式为

根据这一公式,当圆周速度与直线速度同时等比增大,比如同时增大一倍时,阿基米德螺旋的形状是不会发生变化的。因此,阿基米德螺旋属于等速度比螺旋,同时由于它在每个旋转周期内是等距离外扩的,故又可称它为等距螺旋。

(二)我们用Scratch把1~10000的正整数是否质数的状态,质数为红色,合数为湖蓝色,从屏幕中心依次在阿基米德螺线上排列。

(1)为此先让一个角色负责状态列表的建立。

像先前画蛇形矩阵质数分布图那样,建立一个高效判别质数的子程序:

其次建立一个构建状态列表的子程序和画图主程序:

(2)另外一个角色负责用状态列表中的数据,把每个数对应的状态颜色点描出来。

然后是接到主程序的画图消息后调用子程序画图的程序:

(3)看看效果,是不是质数(红色的点)特别喜欢趴在某条线上的特性更加突出?

(三)拓展:

(1)画笔粗细设为1,把θ的增量设为黄金分割数1.618,扩大范围到1~25000,把非质数的颜色设成背景色黑色,质数的颜色设成对比强烈的白色,看看是不是很神奇,这些质数点在一根阿基米德螺线上居然排成了若干根螺旋状曲线组成的漩涡!

质数分布像旋涡一样

同一种颜色的阿基米德螺线

(2)可否把质数状态画在几根阿基米德螺线上?

标签: #c语言蛇形矩阵