【python】使用turtle绘制立体五角星

python课上布置的憨憨作业
使用turtle绘制立体五角星

要求图形长这样
【python】使用turtle绘制立体五角星_第1张图片
第一个三角形还是简单的,绘制五条边等距的转同角度就行

from turtle import *

fillcolor( 'red')
begin_fill()
while True:

    forward(200)
    right(144)
    if abs(pos()) < 1:
        break
end_fill()

第二个有点烦,想了有点时间,一开始还想着画一个四边形旋转啥的,后面直接用了笨方法,直接硬画
【python】使用turtle绘制立体五角星_第2张图片
三个角分别是18°,36°,126°,像这样重复旋转就行了,另一边的也是同理,代码如下

from turtle import *
import math
a18=math.sin(math.pi/10)
a36=math.sin(math.pi/5)
fillcolor( 'red')
begin_fill()
while True:
    for i in range(0,5):
        left(126-72*i)
        forward(60/a36)
        right(54)
        forward(60/a18)
        home()

    if abs(pos()) < 1:
        break
end_fill()

fillcolor( 'yellow')
begin_fill()
while True:
    for i in range(0,5):
        left(54-72*i)
        forward(60/a36)
        left(54)
        forward(60/a18)
        home()

    if abs(pos()) < 1:
        break
end_fill()

最后效果图大概是这样(一点也没看出立体的感觉):【python】使用turtle绘制立体五角星_第3张图片

你可能感兴趣的:(【python】使用turtle绘制立体五角星)