python – 功课帮助?制作一个螺旋形

python – 功课帮助?制作一个螺旋形,第1张

概述因此,在休息一周,我们的老师给了我们一个需要Spirograph的小项目,这是他之前帮我们写过的代码 from graphics import *from math import *def ar(a): return a*3.141592654/180def main(): x0 = 100 y0 = 100 startangle = 60 ste 因此,在休息一周,我们的老师给了我们一个需要Spirograph的小项目,这是他之前帮我们写过的代码

from graphics import *from math import *def ar(a):    return a*3.141592654/180def main():    x0 = 100    y0 = 100    startangle = 60    stepangle = 120    radius = 50    win = GraphWin()    p1 = Point(x0 + radius * cos(ar(startangle)),y0 + radius * sin(ar(startangle)))    for i in range(stepangle+startangle,360+stepangle+startangle,stepangle):        p2 = Point(x0 + radius * cos(ar(i)),y0 + radius * sin(ar(i)))        line(p1,p2).draw(win)        p1 = p2    input("<ENTER> to quit...")    win.close()main()

然后,他希望我们开发连续绘制12个等边三角形的程序(每次将三角形旋转30度通过一个完整的360度圆).这可以通过“踩踏”STARTANGLE参数来实现.我的问题是我被困在这里从哪里开始,他的意思是“踩到什么?”我假设做了某种循环,是否有人可以给我一个正确的步骤?

解决方法 这是使用matplotlib的解决方案.一般程序是一样的.但是您必须修改它以使用您允许使用的库.

from math import radians,sin,cos import matplotlib.pyplot as pltstartAngle = 0 stepAngle = 30origin = (0,0)points = []points.append(origin)points.append((cos(radians(startAngle)),sin(radians(startAngle))))for i in range(startAngle + stepAngle,360 + stepAngle,stepAngle):    x = cos(radians(i))    y = sin(radians(i))    points.append((x,y))    points.append(origin)    points.append((x,y))x,y = zip(*points) #separate the tupples into x and y coordinates. plt.plot(x,y) #plots the points,drawing lines between each pointplt.show()

plt.plot在列表中的每个点之间绘制线条.我们将原点添加到inn中,因此我们得到三角形而不是围绕中心的多边形.

总结

以上是内存溢出为你收集整理的python – 功课帮助?制作一个螺旋形全部内容,希望文章能够帮你解决python – 功课帮助?制作一个螺旋形所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存