小言_互联网的博客

Python绘制六角星、多角星、小太阳、小风车《打包好的各种游戏源码,画图源码》

319人阅读  评论(0)

绘制如下图的,多角图形。思路。

(1)每个角是一个标准的等边三角形,把绘制等边三角形作为一个标准函数。

(2)观察图形,可以看出,画的三角形在不断的旋转和移动,因此第一步找到三角形画法起始点的海龟头旋转角度

(3)转动海龟头后,把海龟移动到新的绘制起点处。

(4)此时的海龟头刚好与绘制三角形的第一条直线的起始方向相反,因此在转动海龟头180度

(5)循环化三角即可

重点:如果计算,相邻两个三角旋转的角度。利用通用公式进行计算。先算内角,360/N,在算外角180-360/N

代码:


  
  1. 还有更多好玩的游戏和画图源码,关注公众号:学习py最风sao的方式
  2. import turtle
  3. L = 50 # 边长
  4. N = 12 # 角的个数
  5. jiaodu = 180 - 360 / (N) # 每个三个型相对于上一个三角的角度,left转动
  6. tl = turtle.Turtle() # 海龟的对象
  7. # tl.speed(0)
  8. tl.screen.delay( 0) # 绘画延时为0
  9. def f1():
  10. tl.fillcolor( "yellow") # 三角形填充颜色
  11. tl.begin_fill() # 填充开始
  12. for i in range( 3):
  13. tl.fillcolor()
  14. tl.forward(L)
  15. tl.right( 120)
  16. tl.end_fill() # 填充结束
  17. # 画外部的三角
  18. for i in range(N):
  19. tl.left(jiaodu) # 下一个三角形的角度
  20. tl.penup()
  21. tl.forward(L) # 新三角的起始位置
  22. tl.pendown()
  23. tl.right( 180) # 转动到画三角形的相对0度
  24. f1()
  25. # 画内部的多边形
  26. tl.fillcolor( "red") # 填充颜色
  27. tl.begin_fill()
  28. for i in range(N):
  29. tl.left(jiaodu)
  30. tl.forward(L)
  31. tl.right( 180) # 转动到画三角形的相对0度
  32. tl.end_fill()
  33. tl.screen.mainloop()

展现图

六角星

代码:


  
  1. from turtle import * #引入turtle库
  2. for i in range( 6):
  3. forward( 100)
  4. right( 120)
  5. forward( 100)
  6. left( 60)
  7. #第一个循环画外部边线
  8. for n in range( 6):
  9. right( 60)
  10. forward( 100)
  11. #第二个循环画内部六边形
  12. done() #窗口画完后不自动关闭

 

小风车

代码:


  
  1. import turtle
  2. turtle .speed( "fastest")
  3. turtle .pensize( 1)
  4. for y in range( 200):
  5. turtle .forward( 3*y)
  6. turtle .left( 20)
  7. turtle .right( 175)

 

 

 


转载:https://blog.csdn.net/A_7878520/article/details/116088265
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场