Python使用Turtle模块绘制国旗的方法示例
turtle模块
turtle模块:python内置的绘图工具
turtle(海龟)模块,我们是用它来进行画图的,基本上就是画简单的直线,点,和曲线。
你可以把它想成一个小海龟,在沙滩上行走,然后留下的各种痕迹,使用Turtle模块可以绘制很多精美的图形。
基本操作(Turtle方法)
- turtle.forward(step):前进step个像素
- turtle.back(step):后退step个像素
- turtle.right():右转一个角度
- turtle.left():左转一个角度
- turtle.pencolor(“string”):画笔颜色
- turtle.fillcolor(“string”):填充颜色
- turtle.speed(int):运动速度
其他的turtle方法可以参见python官网
https://docs.python.org/zh-cn/3.7/library/turtle.html
具体代码实现
#绘画 #中国国旗 #转载请标明出处!! importturtle importtime defdraw__stars(tur,step,x,y,arg): """ 绘制五角星 :paramtur:turtleobject :paramstep:五角星一条边的长度 :paramx:开始绘制五角星的起点x坐标 :paramy:开始绘制五角星的起点y坐标 :paramarg: :return: """ tur.pencolor('yellow') tur.fillcolor('yellow') tur.up() tur.goto(x,y) tur.begin_fill() tur.down() tur.right(arg) tur.forward(step) tur.right(144) tur.forward(step) tur.right(144) tur.forward(step) tur.right(144) tur.forward(step) tur.right(144) tur.forward(step) tur.right(144) tur.end_fill() defdraw__flag(tur,wide,height): """ 绘制国旗的长方形形状 :paramtur:turtleobject :paramwide:thewidthoftheflag :paramheight:theheightoftheflag :return:None """ tur.pencolor('red') tur.fillcolor('red') tur.goto(-wide/2,height/2) tur.begin_fill() tur.forward(wide) tur.right(90) tur.forward(height) tur.right(90) tur.forward(wide) tur.right(90) tur.forward(height) tur.end_fill() if__name__=='__main__': """ main函数 """ #tur=turtle.Turtle() turtle.screensize(canvwidth=3000,canvheight=2000,bg=None) #绘制star的turtle对象 tur_star=turtle.Turtle() #绘制flag的turtle对象 tur_flag=turtle.Turtle() tur_flag.speed(3) tur_star.speed(3) #隐藏turtle对象 tur_star.hideturtle() tur_flag.hideturtle() #间隔3秒,可以没有,这个是我调试时加上去的 time.sleep(3) #绘制长方形 draw__flag(tur_flag,630,420) #绘制五角星,在合适的位置进行绘制五角星 #调用五次函数绘制五颗五角星 draw__stars(tur_star,step=60,x=-280,y=155,arg=0) draw__stars(tur_star,step=25,x=-182,y=177,arg=-25) draw__stars(tur_star,step=25,x=-175,y=125,arg=41) draw__stars(tur_star,step=25,x=-208,y=79,arg=23) draw__stars(tur_star,step=25,x=-265,y=75,arg=48) #使画面锁定 turtle.done()
运行结果
总结
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。