使用的模块:turtle、math
模块安装:在命令行输入 pip install turtle
pip install math
1.建立坐标轴
def set(wide,high):#建立坐标图
turtle.speed(0)
turtle.pencolor('red')
turtle.setup(wide,high)
turtle.forward(wide/2)
turtle.backward(wide)
turtle.forward(wide/2)
turtle.left(90)
turtle.forward(high/2)
turtle.backward(high)
turtle.forward(high/2)
2.由参数范围和步长定义函数
ef frange(start,stop,step):#返回一个浮点数列表
a=[]
for i in range(int((stop-start)/step)):
a.append("{:f}".format(start+step*i))
return a
3.示例
用以下代码来实现作图:
turtle.pencolor('blue')
for t in frange(-10*(math.pi),10*(math.pi),0.01):
t=float(t)#列表的元素是字符串,转换成浮点数运算
x=(3*300*t)/(4*(1+t**3))
y=(3*300*(t**2))/(4*(1+t**3))#函数关系
if t == -10 * (math.pi):
turtle.penup()
turtle.goto(x,y)
turtle.pendown()
turtle.speed(0)
turtle.goto(x,y)
完整代码:
import turtle,math
def set(wide,high):#建立坐标图
turtle.speed(0)
turtle.pencolor('red')
turtle.setup(wide,high)
turtle.forward(wide/2)
turtle.backward(wide)
turtle.forward(wide/2)
turtle.left(90)
turtle.forward(high/2)
turtle.backward(high)
turtle.forward(high/2)
set(600,600)
def frange(start,stop,step):#返回一个浮点数列表
a=[]
for i in range(int((stop-start)/step)):
a.append("{:f}".format(start+step*i))
return a
turtle.pencolor('blue')
for t in frange(-10*(math.pi),10*(math.pi),0.01):
t=float(t)#列表的元素是字符串,转换成浮点数运算
x=(3*300*t)/(4*(1+t**3))
y=(3*300*(t**2))/(4*(1+t**3))#函数关系
if t == -10 * (math.pi):
turtle.penup()
turtle.goto(x,y)
turtle.pendown()
turtle.speed(0)
turtle.delay(0)
turtle.goto(x,y)
turtle.done()
在作图过程中你可能会遇到作图慢的困扰,那么如何提高作图速度呢?你首先想到的可能是turtle.speed(0),即使这样也不能很快的提高作图速度。这时你需要使用turtle.delay(0),turtle作图默认会有延迟,将参数设置为0,就可以消除延迟了。
注:delay函数必须跟在speed函数后面使用才有效果。