[英]How do I draw a circle looping around with a circle in the middle at the end using python turtle?
[英]How do I draw polygons around a center point in python turtle
我想定义这个函数,以便用户可以输入任意数量的边、长度和坐标。 我面临的问题是我希望坐标是多边形的中心,而不是角落,但我不确定如何。 下面是我当前的代码
import turtle
WIDTH,HEIGHT= 1200,700
screen = turtle.Screen()
screen.setup(WIDTH,HEIGHT)
def draw_polygon(x,y,sides,length):
pen=turtle.Turtle()
pen.hideturtle()
pen.speed(-1)
pen.penup()
pen.setpos(x,y)
pen.pendown()
for i in range (0,sides):
pen.fd(length)
pen.right(360/sides)
while True:
s=int(input())
l=int(input())
draw_polygon(0,0,s,l)
海龟从它的设置位置开始绘制,因为你是顺时针绘制的,这意味着给定的位置将始终是多边形的左上角。 要使您传递给函数的位置成为中心,您必须偏移海龟的起始位置。
x 轴上的偏移将始终是一侧长度的一半,当多边形接近圆时接近零。
y 轴上的偏移量将是多边形的半径。
在您的代码中,替换您设置的位置以相应地偏移海龟的起始位置。
from math import pi
startPosX = x - length/2
startPosY = y + length * sides / (2*pi)
pen.setpos(startPosX,startPosY)
在旁注中,您可以添加:
turtle.Screen().exitonclick()
在 drawPolygon() 的末尾而不是 while 循环中,以在您输入值后保持屏幕亮起。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.