python:Triacontagon轮

问题描述 投票:0回答:3

所以我知道如何制作一个triacontagon,但我想弄清楚我怎么能使它几乎像一个轮子(如何制造轮辐)。如果你能帮到那就太好了!

import turtle
turtle.hideturtle()

turtle.up()
turtle.goto(0,150)
turtle.down()

numberOfSides = 30
lengthOfSide = 50
exteriorAngle = 360/numberOfSides
for i in range(numberOfSides):
    turtle.forward(lengthOfSide)
    turtle.right(exteriorAngle)

我希望它看起来像:

python turtle-graphics shapes
3个回答
0
投票

试试这段代码:

import turtle
import math
num=30
A=turtle.position()
side=50
x=(side/2)/math.sin(math.radians(180/num))

#x contains the length of one spoke of wheel
ext=90+(180/num)
turtle.setheading(0)
for i in range(num):
    turtle.forward(x)
    turtle.left(ext)
    turtle.forward(side)
    turtle.left(ext)
    turtle.forward(x)
    turtle.setheading((i+1)*(360/num))
 # the loop makes one triangle of polygon

0
投票

尝试使用最少的额外代码从您所在的位置到达您想要的位置:

import turtle

numberOfSides = 30
lengthOfSide = 75
exteriorAngle = 360 / numberOfSides

turtle.hideturtle()
turtle.sety(-lengthOfSide)

for i in range(numberOfSides):
    turtle.circle(lengthOfSide, extent=exteriorAngle, steps=1)
    position = turtle.position()
    turtle.goto(0, 0)
    turtle.setposition(position)

turtle.done()

enter image description here


0
投票

这是我的解决方案:

from turtle import *
circle(100)
left(90)
speed(10000000)
fd(100)
for i in range(60):
    fd(100)
    back(100)
    left(12)

这绘制了31个辐条,因此计算出30个,只需要59个。

图片:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.