1说明: 1。1阿基米德:(约公元前287前212),古希腊伟大的数学家、力学家。 1。2阿基米德螺旋线: 最初是由阿基米德的老师柯农(欧几里德的弟子)发现的。柯农死后,阿基米德继续研究,又发现许多重要性质,因而这种螺线就以阿基米德的名字命名了。 1。3python的matplotlib和turtle实现阿基米德螺旋线。 1。4阿基米德螺旋线:等角螺旋线的自然意义,本文值得收藏。 2静态图: 2。1代码一:参考代码:https:www。zhezhier。comview609456846第1步:导入模块importmatplotlib。pyplotaspltimportnumpyasnp第2步:定义极坐标图plt。subplot(111,polarTrue)第3步:参数定义N44个半圈2个圆4个180x角度,100代表平滑度,越大越平滑xthetanp。arange(0,Nnp。pi,np。pi100)画图plt。plot(xtheta,xtheta,r)第4步:标题和图片展示plt。title(Archimedesspiral)plt。show() 2。2图: 2。34条阿基米德螺旋线代码:importnumpyasnpimportmatplotlib。pyplotasplt推荐b2b2。0n4几条螺旋线2代表一圈thetanp。linspace(0,2np。pi,num100)plt。subplot(111,projectionpolar)ybthetaforiinrange(n):xtheta2np。pi(in)plt。plot(x,y)plt。show() 2。4图: 3动态阿基米德螺旋线: 3。1代码:第1步:导入模块importnumpyasnpimportmatplotlib。pyplotaspltfrommatplotlibimportanimation第2步:定义图片和极坐标figplt。figure()plt。subplot(111,polarTrue)这个不能少plt。ylim(〔0,30〕)定义一个空的线条line,plt。plot(〔〕,〔〕,r)第3步:初始化线条definit():line。setdata(〔〕,〔〕)returnline,第4步:动画线条坐标设置defanimate(i):ifi!0:thetanp。arange(0,inp。pi,np。pi100)line。setdata(theta,theta)returnline,第5步:动画挂起animanimation。FuncAnimation(fig,animate,initfuncinit,frames8,interval300,blitTrue)plt。show() 3。2图: 4直角坐标画阿基米德螺旋线:等角螺旋线 4。1代码:https:www。jb51。netarticle177370。htm第1步:导入模块importnumpyasnpimportmatplotlib。pyplotasplt第2步:定义等角螺旋线函数,默认值设定defplotSpiral(core(0,0),fixed10,phase0,circle4):绘制等角螺线core等角螺线的中心坐标,tuple类型fixed等角螺线的固定角度,单位:度(),推荐为10。fixed大于零则为顺时针螺线,小于零则为逆时针螺线phase初始相位,单位:圈(360),默认为0。对顺时针螺线,该数值越大,螺线越大,对逆时针螺线则相反circle螺线可见部分的圈数,单位:圈(360),默认为4设置plt。axis(equal)原点坐标设置plt。plot(〔core〔0〕〕,〔core〔1〕〕,cred,marker,markersize10)参数和公式fixedradnp。radians(90fixed)thetanp。linspace(0,circle2np。pi,361)phase2np。pirfixedradnp。exp(thetanp。tan(fixedrad))xrnp。cos(theta)core〔0〕yrnp。sin(theta)core〔1〕划等角螺旋线plt。plot(x,y,cg)展示plt。show()第3步:调用函数,采用默认值plotSpiral() 4。2图: 53d上升的螺旋线: 5。1代码:参考代码:https:www。liangzl。comgetarticledetail1342。html,对代码进行修改第1步:导入模块importnumpyasnpimportmatplotlib。pyplotaspltfrommatplotlibimportanimation第2步:初始化画布figplt。figure(1)axfig。addsubplot(1,1,1,projection3d)指定三维空间做图第3步:参数定义tnp。linspace(0,4,200)在0到4之间,均匀产生200点的数组thetat2np。pi角度中心坐标点core(0,0,0)fixedradnp。radians(100)rfixedradnp。exp(thetanp。tan(fixedrad))生成曲线数组ztcore〔2〕xrnp。sin(theta)core〔0〕yrnp。cos(theta)core〔1〕第4步:运动点和线初始化定义运动的点point,ax。plot(〔〕,〔〕,〔〕,ro,labelp)曲线line,ax。plot(〔〕,〔〕,〔〕,g,labelline)第5步:动画数据定义defanimate(i):line。setxdata(x〔:i1〕)line。setydata(y〔:i1〕)line。set3dproperties(z〔:i1〕)point。setxdata(x〔i〕)point。setydata(y〔i〕)point。set3dproperties(z〔i〕)第6步:动画挂起anianimation。FuncAnimation(figfig,funcanimate,frameslen(x),interval200,repeatFalse,blitFalse)第7步:设置显示的范围和描述,3d不能少ax。setxlim(1,2)ax。setylim(1,2)ax。setzlim(1,2)ax。setxlabel(x)ax。setylabel(y)ax。setzlabel(z)第8步:标题名和图例设置标题ax。settitle(3Danimate)标题名在位置ax。viewinit(30,35)设置标签在最佳位置ax。legend(locbest)图片展示plt。show() 5。2图: 6自然意义: 台风 宇宙 玫瑰花 鹦鹉螺 螺丝钉 小结: 本文超级经典,值得收藏。