[英]Draw polygon in polygons (regular polygons)
这是我绘制正多边形的代码:
import turtle
tr = turtle.Turtle()
tr.lt(150)
for x in range(3,13):
for i in range(x):
tr.fd(80)
tr.lt(360//x)
turtle.done()
这是我的输出:
但我的预期输出是:
你能帮助我吗?
正如评论中已经指出的那样
您可能想将乌龟移动到多边形的末端,这样末端就不会连接
看起来你需要计算半径偏移量并从中心移入/移出,如果你想让它们都同心的话。 目前,您总是在同一点开始第一个/最后一个顶点。
在快速浏览了turtle 方法之后
我想出了这个
import turtle
import math
tr = turtle.Turtle()
r0 = 20
tr.lt(150)
for x in range(3,13):
points = [
(r0 * (x-1) * math.cos(k*2*math.pi/x),
r0 * (x-1) * math.sin(k*2*math.pi/x))
for k in range(1,x+1)
]
tr.penup() # avoid creating a line connecting two polygons
tr.goto(*points[-1])
tr.pendown() # draw one polygon
for tx, ty in points:
tr.goto(tx,ty);
turtle.done()
PS.:我以前从来没有听说过这个模块,看到它安装在我的机器上,我感到很惊讶。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.