前言:
遇到了就整理了下,估计本人不大会用到,就用作分享吧,都能跑成功,但是部分实现没有深究,可能有不完善的地方,部分实例还是挺有趣的,比如一句话打印爱心,码如其名,我也是没想到真就一句print,我还没花时间看它怎么写的,有兴趣的搞明白也可以告诉我哦!
两个同心圆
import turtle as t
t.circle(40)
t.penup()
t.goto(0,-20) # 直接定位到坐标(0,-20)位置
t.pendown() # 落笔后,画笔方向保持不变,依然向右
t.circle(60)
方形螺旋线
from turtle import *
tracer(True) # 打开动画跟踪
shape('turtle') # 设置绘图指针形状为小海龟
dist = 6
for i in range(100):
fd(dist) # forward()函数的别名
rt(90) # right()函数的别名
dist += 6
太极图
from turtle import *
def yin(radius, color1, color2):
width(3)
color("black", color1)
begin_fill()
circle(radius/2., 180)
circle(radius, 180)
left(180)
circle(-radius/2., 180)
end_fill()
left(90)
up()
forward(radius*0.35)
right(90)
down()
color(color1, color2)
begin_fill()
circle(radius*0.15)
end_fill()
left(90)
up()
backward(radius*0.35)
down()
left(90)
yin(200, "black", "white")
yin(200, "white", "black")
绘制玫瑰曲线
import turtle as t
from math import *
t.pencolor("pink") #画笔颜色
t.pensize(3) #画笔宽度
def draw(a,n,end):
i=0
while i<end:
x=a*sin(i*n)*cos(i)
y=a*sin(i*n)*sin(i)
t.goto(x,y)
i+=0.02
draw(150,6,6.28)
用一句话打印爱心
print('\n'.join([''.join([('lovexinyixing'[(x-y)%12]\
if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0 else' ')\
for x in range(-30,30)])for y in range(15,-15,-1)]))
科赫雪花
#**科赫雪花**
import turtle as t
def koch(size, n):
if n==0:
t.fd(size)
else:
for angle in [0,60,-120,60]:
t.left(angle)
koch(size/3,n-1)
if __name__=='__main__':
t.setup(1000,1000)
t.pen(speed = 0, pendown = False, pencolor = 'blue')
a,n = 400,4
t.goto(-a/2,a/2/pow(3,0.5))
t.pd()
for i in range(3):
koch(a,n)
t.right(120)
t.ht()
t.done()
奥运五环
import turtle
from math import cos,sin,pi
''' 奥运五环 '''
def Olympic_rings():
turtle.color("blue")
turtle.circle(50)
turtle.color("black")
turtle.penup()
turtle.goto(120, 0)
turtle.pendown()
turtle.circle(50)
turtle.color("red")
turtle.penup()
turtle.goto(240, 0)
turtle.pendown()
turtle.circle(50)
turtle.color("yellow")
turtle.penup()
turtle.goto(60, -50)
turtle.pendown()
turtle.circle(50)
turtle.color("green")
turtle.penup()
turtle.goto(180, -50)
turtle.pendown()
turtle.circle(50)
turtle.width(5)
turtle.speed(0)
Olympic_rings()
# epicycloid()
turtle.done()
双弧外摆线
X = 3 ∗ 25 ∗ c o s ( θ ) + 25 c o s ( 3 θ ) Y = 3 ∗ 25 ∗ s i n ( θ ) + 25 s i n ( 3 θ ) X=3*25*cos(\theta)+25cos(3\theta)\\ Y=3*25*sin(\theta)+25sin(3\theta) X=3∗25∗cos(θ)+25cos(3θ)Y=3∗25∗sin(θ)+25sin(3θ)
import turtle
from math import cos,sin,pi
turtle.penup()
for t in range(360):
x=75*cos(t/360*2*pi)+25*cos(3*t/360*2*pi)
y=75*sin(t/360*2*pi)+25*sin(3*t/360*2*pi)
turtle.goto(x,y)
turtle.pendown()