用户:
DickWang查看:0 回复:0 评论:0 创建时间:2023-06-03T20:05:10
【作品展示】

【作品介绍】
1
【作品源代码】
'''
制作:DickWang
未经作者允许,禁止……等
'''
import turtle
import math
def setup():
global t,U
U = 20
t = turtle.Pen()
t.speed(0)
t.pensize(2)
t.hideturtle()
t.down()
t.goto(-1000,0)
t.goto(1000,0)
go(0,1000)
t.goto(0,-1000)
t.goto(0,0)
t.dot()
t.up()
def d():
go(-600,0)
for i in range(30):
t.forward(U)
t.dot()
go(0,0)
t.right(90)
for i in range(30):
t.forward(U)
t.dot()
def go(x,y):
t.up()
t.goto(x,y)
t.down()
def f1(x,k=1,b=5):
return k*x+b
def f2(x,a=1,b=2,c=3):
return a*x*x+b*x+c
def f3(x,a=0.5,b=1,c=3,d=4):
return a*x*x*x+b*x*x+c*x+d
def f4(x,a=0.2,b=0.2,c=0.2,d=2,e=2):
return a*x*x*x*x+b*x*x*x+c*x*x+d*x+e
def f5(x,k=10):
if x==0:
return 0
return k/x
def f6(x,a=1,k=2):
if x==0:
return 0
return a*x+k/x
def draw1(f,start=-10,end=10,step=0.1):
go(start*U,f(start)*U)
i=start
while i<=end:
t.goto(i*U,f(i)*U)
#t.dot()
i+=step
def draw2(f,start=-50,end=50,step=1,tmp=0.0001):
go(start*U,f(start)*U)
i = start
while i<0 and step>tmp:
t.goto(i*U,f(i)*U)
i+=step
if(abs(i) 0 and step > tmp:
t.goto(i*U, f(i)*U)
i -= step
if(abs(i) < abs(f(i))):
step *= 0.95
'''
def draw3(f, start=-50, end=50, step=1, tmp=0.0001):
s = step
go(-math.sqrt(10)*U,-f(math.sqrt(10))*U)
t.dot()
i = -math.sqrt(10)
step = s
while i < 0 and step > tmp:
t.goto(i*U, f(i)*U)
i += step
step *= 0.95
i = -math.sqrt(10)
step = s
go(i*U,f(i)*U)
while f(i) < 0 and step > tmp:
t.goto(i*U, f(i)*U)
i -= step
step *= 0.95
'''
if __name__ == '__main__':
setup()
draw2(f5)
turtle.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn