个人turtle小作品美队之盾(captain american's shield)

这周我通过我所观看的网课,学习到了一些turtle的绘图技巧,算是我这门课的一个入门小作品。我简单的画出了一个美国队长盾牌的图像。下面我来和大家分享一下:
个人turtle小作品美队之盾(captain american's shield)_第1张图片
上面呢就是我的作品,在绘图上面起初也遇到了很多的问题,首先是在五角星的绘图上面,要确定好各角角度(t.seth),并运用turtle.fd函数可以很有效地进行绘制,这个在难度上面较为简单,但程序编写上就显得比较复杂了。
然后在圆圈的绘制方面,要确定好各圈半径,并能够在运用函数上将其表现出来就有困难了,因为在半径的确定上,为了能够达到相同的圆心,我必须要运用cos函数,所以经过我的查找我发现要用到math的调用,如最内侧圈的半径的计算,我必须要用50/cos18来计算。但是实际上,我不能直接拿turtle.circle(-50/cos18)来计算,这样程序无法运行。经过查找,应该是这样的turtle.circle(50/math.cos(math.pi/10))才能合理的计算。
最后一个问题是颜色的填充,因为调用的函数turtle.begin_fill至turtle.end_fill是将封闭图形全部填充,所以在画图的时候我必须从最外侧开始,由外向内才能将各区域表现出来。
以上就是我这次作品的心得总结,我把我的程序附在下面,作为一个刚入门的编程小白来讲,我的程序肯定存在很多复杂繁琐的地方,请大家多多包涵:)

import turtle as t
import math
t.pensize(1)
t.penup()
t.seth(90)
t.fd(100)
t.seth(0)
t.pendown()
t.color('black','red')
t.begin_fill()
t.circle(-50/math.cos(math.pi/10)-90)
t.end_fill()
t.penup()
t.seth(-90)
t.fd(30)
t.seth(0)
t.pendown()
t.color('black','white')
t.begin_fill()
t.circle(-50/math.cos(math.pi/10)-60)
t.end_fill()
t.penup()
t.seth(-90)
t.fd(30)
t.seth(0)
t.pendown()
t.color('black','red')
t.begin_fill()
t.circle(-50/math.cos(math.pi/10)-30)
t.end_fill()
t.penup()
t.seth(-90)
t.fd(30)
t.seth(0)
t.pendown()
t.color('black','blue')
t.begin_fill()
t.circle(-50/math.cos(math.pi/10))
t.end_fill()
t.color('white')
t.begin_fill()
t.seth(-72)
t.fd(100)
t.seth(-216)
t.fd(100)
t.seth(0)
t.fd(100)
t.seth(-144)
t.fd(100)
t.seth(72)
t.fd(100)
t.seth(0)
t.end_fill()

你可能感兴趣的:(个人turtle小作品美队之盾(captain american's shield))