源代码
import turtle
def drawShake(rad,angle,len,neckrad):
for i in range(len):
turtle.circle(rad,angle)
turtle.circle(-rad,angle)
turtle.circle(rad,angle/2)
turtle.fd(rad)
turtle.circle(neckrad+1,180)
turtle.fd(rad*2/3)
def main():
turtle.setup(1300,500,0,0)
pythonsize = 30
turtle.pensize(pythonsize)
turtle.pencolor("blue")
turtle.seth(-40)
drawShake(40,80,5,pythonsize/2)
main()
代码解读
turtle库是绘制图像的函数库 官方文档:https://docs.python.org/3/library/turtle.html?highlight=turtle#module-turtle
想象有一只小乌龟在XY坐标系中从(0,0)点开始在爬行的路上留下痕迹 我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,向左和向下分别是x轴和y轴。 turtle.setup(1300,500,0,0) 启动一个1300像素宽、800像素高的窗口,该窗口的左上角是屏幕的左上角。 turtle.pensize()函数表示小乌龟运动轨迹的宽度。 它包含一个输入参数,这里我们把它设为30像素,用pythonsize变量表示。 turtle.pencolor()函数表示小乌龟运动轨迹的颜色。 它包含一个输入参数,这里我们把它设为蓝色,blue,其他颜色单词也可以使用。Turtle采用RGB方式来定义颜色,如果希望获得和图片中颜色一致的小蛇,请输入turtle.pencolor(“#3B9909”) turtle.seth(angle)函数表示小乌龟启动时运动的方向。它包含一个输入参数,是角度值。 其中,0表示向东,90度向北,180度向西,270度向南;负值表示相反方向。程序中,我们让小乌龟向-40度启动爬行,即:向东南方向40度。 turtle.circle()函数功能 turtle.circle()函数让小乌龟沿着一个圆形爬行 参数rad描述圆形轨迹半径的位置 这个半径在小乌龟运行的左侧rad远位置处,如果 rad为负值,则半径在小乌龟运行的右侧 参数angle表示小乌龟沿着圆形爬行的弧度值 turtle.fd()函数功能 turtle.fd()函数也可以用turtle.forward()表示乌龟向前直线爬行移动 表示小乌龟向前直线爬行移动,它有一个参数表示爬行的距离
函数库
第一种方式 import <库名> 第二种方式 from <库名> import <函数名> from <库名> import * 使用这种方式调用函数时直接使用函数名,不用使用 库名.函数名 格式 用第一种方式时 例如存在turtle.fd()函数,用户仍可以声明一个新函数fd() 但第二种方式不可以这么做