Python海龟画图 几种基本图形

注:本文主要根据绘制步骤进行区分,实际使用时应当调节参数以绘制需要的图形。文中的步骤均为循环进行,循环50到100次,具体次数见代码示例。

1.前进+小角度旋转

7e601837790d43809f37640790787c2e.jpg

 绘制效果如图,如果旋转角度为360的因数则绘制出多边形。

代码示例

from turtle import *
Screen().colormode(255)
pencolor((155,80,90))
speed(0)
i=0
penup()
left(200)
forward(1100)
right(200)
pendown()
hideturtle()
pensize(2)

while i<100:
    forward(400)
    left(71)
#    backward(800)
#    left(8)
    i+=1
done()
 

2.前进+大角度旋转

742aa6c78fe5481c9c94db50e58b1772.jpg

 绘制效果如图,与小角度旋转相比图形中间的“圆”较小。

代码示例

from turtle import *
Screen().colormode(255)
pencolor((70,120,140))
speed(0)
i=0
penup()
left(200)
forward(600)
right(200)
pendown()
hideturtle()
pensize(2)

while i<100:
    forward(800)
    left(151)
#    backward(800)
#    left(8)
    i+=1
done()
 

3.往复+旋转(前后移动距离相同)

792f4ba474aa4567be06497459235e69.jpg

绘制效果如图,得到多条中心交于一点的直线。

代码示例

from turtle import *
Screen().colormode(255)
pencolor((100,20,70))
speed(0)
i=0
hideturtle()
pensize(2)

while i<100:
    forward(500)
    backward(500)
    left(6)
    i+=1
done()

4.往复+旋转(前进、后退距离不同)

904ba532678b4d61953de9377ff71ac2.jpg
 

绘制效果如图,前进、后退距离的差越大,中心的“圆”越大。

示例代码

from turtle import *
Screen().colormode(255)
pencolor((155,120,50))
speed(0)
i=0
hideturtle()
pensize(2)
penup()
forward(300)
pendown()

while i<100:
    forward(300)
    backward(320)
    left(6)
    i+=1
done()
 

5.前进-旋转-后退-旋转(前后移动距离和旋转角度均相同)

fa81844832b24db08b4f7cb950f8b3a8.jpg

绘制效果如图 ,旋转角度不是360的因数则多次循环绘制的图案更密集。

示例代码

from turtle import *
Screen().colormode(255)
pencolor((30,220,100))
speed(0)
i=0
penup()
pendown()
hideturtle()
pensize(2)

while i<50:
    forward(800)
    left(10.)
    backward(800)
    left(10)
    i+=1
done()
 

6.前进-旋转-后退-旋转(前后移动距离不同,旋转角度相同)

ca215941daf549a0b2f5b61cd6ce7dce.jpg

 绘制效果如图,前后移动距离的差越小,中心的“圆”越小。

示例代码:

from turtle import *
Screen().colormode(255)
pencolor((30,220,100))
speed(0)
i=0
penup()
right(200)
backward(300)
left(200)
pendown()
hideturtle()
pensize(2)

while i<50:
    forward(800)
    left(10)
    backward(700)
    left(10)
    i+=1
done()
 

7.前进-旋转-后退-旋转(前后移动距离相同,旋转角度不同)

a76f375678f44a008d0812c26d9a6c0a.jpg

 绘制效果如图,旋转角度相差越大,内外两组“齿”的长度相差越大。

示例代码:

from turtle import *
Screen().colormode(255)
pencolor((30,220,100))
speed(0)
i=0
penup()
pendown()
hideturtle()
pensize(2)

while i<80:
    forward(700)
    left(64)
    backward(700)
    left(54)
    i+=1
done()
 

8.前进-旋转-后退-旋转(前后移动距离不同,旋转角度不同)

16f99dda95324c329173270154b0f0c7.jpg

绘制效果如图。图形较为复杂,兼具前面两类图形的特性。

示例代码

from turtle import *
Screen().colormode(255)
pencolor((30,220,100))
speed(0)
i=0
penup()
right(200)
backward(300)
left(200)
pendown()
hideturtle()
pensize(2)

while i<60:
    forward(800)
    left(15)
    backward(700)
    left(10)
    i+=1
done()
 

猜你喜欢

转载自blog.csdn.net/weixin_74155302/article/details/131245286
今日推荐