用户:吴建新y-yn查看:0 回复:1 评论:0 创建时间:2021-12-07T09:10:33
【作品展示】

【作品介绍】
函数图像的画法
【作品源代码】
import 常数窗体 as csct
import math # 内置函数库
import turtle as t # 画笔库
#******************************** 设置标题 ********************************
t.title('Python 函数图像 (定西市安定区东方红中学-2021-12-1)')
t.pensize(2) # 画笔粗细
t.hideturtle() # 隐藏画笔
t.screensize(1000, 1000, "white") # 设置画布的宽、高、背景色
dwxx = 30 # 单位像素
XA = -300 # 坐标像素
xs = abs(XA)/int(csct.x1A) # 像素点与坐标点的关系
print(csct.fxx1)
print(csct.fxx2)
print(csct.fxx3)
print(csct.fxx4)
print(csct.fxx5)
#**********************************************
def zbz(x2):
t.color("green") # 画笔颜色
t.penup() # 提笔
t.goto(0, XA-50) # 画Y坐标负轴
t.pendown() # 落笔
t.goto(0, -XA+50) # 画Y坐标正轴
t.goto(2, -XA+30) # 画Y坐标箭头
t.goto(-2, -XA+30) # 画Y坐标箭头
t.goto(0, -XA+50) # 画Y坐标箭头
for i in range(int(XA/dwxx)-1, int(-XA/dwxx)+2):
t.penup() # 提笔
t.goto(0, i*dwxx)
t.pendown() # 落笔
t.goto(5, i*dwxx)
for i in range(int(XA/dwxx)-1, int(-XA/dwxx)+2): # Y轴坐标数值
t.penup() # 提笔
t.goto(-30, i*dwxx-8)
if i != 0:
if csct.x1A <= 9:
t.write(i*int(int(x1*10)/10)/10, font=("Arial", 10, "bold"))
else:
t.write(i*int(csct.x1A/10), font=("Arial", 10, "bold"))
t.penup() # 提笔
t.goto(XA-50, 0) # 画Y坐标负轴
t.pendown() # 落笔
t.goto(-XA+50, 0) # 画X坐标正轴
t.goto(-XA+30, 2) # 画X坐标箭头
t.goto(-XA+30, -2) # 画X坐标箭头
t.goto(-XA+50, 0) # 画X坐标箭头
for i in range(int(XA/dwxx)-1, int(-XA/dwxx)+2):
t.penup() # 提笔
t.goto(i*dwxx, 0)
t.pendown() # 落笔
t.goto(i*dwxx, 5)
for i in range(int(XA/dwxx)-1, int(-XA/dwxx)+2): # X轴坐标数值
t.penup() # 提笔
t.goto(i*dwxx-10, -18)
if i != 0:
if csct.x1A <= 9:
t.write(i*int(int(csct.x1A*10)/10) /10, font=("Arial", 10, "bold"))
else:
t.write(i*int(csct.x1A/10), font=("Arial", 10, "bold"))
#****************************************************
zbz(XA)
#****************************************************
if csct.fxx1==1:
t.color("red") # 画笔颜色 y1=a*x*x+b*x+c /dwxx
n = 0
for i in range(-int(csct.x1A), int(csct.x1A)):
if abs(csct.a*i*i+csct.b*i+csct.c) <= abs(int(csct.x1A)):
if n == 0:
t.penup() # 提笔
t.goto(xs * i喵
else:
t.pendown() # 落笔
t.goto(xs * i, xs* (csct.a*i*i+csct.b*i+csct.c))
#****************************************************
if csct.fxx2 == 1:
t.color("black") # 画笔颜色 x=a*y*y+b*y+c /dwxx
n = 0
for i in range(-int(csct.x1A), int(csct.x1A)):
if abs(csct.a1*i*i+csct.b1*i+csct.c1) <= abs(int(csct.x1A)):
if n == 0:
t.penup() # 提笔
t.goto(xs * (csct.a1*i*i+csct.b1*i+csct.c1), xs * i)
n += 1
else:
t.pendown() # 落笔
t.goto(xs * (csct.a1*i*i+csct.b1*i+csct.c1) , xs * i)
#****************************************************
if csct.fxx3 == 1:
t.color("blue") # 画笔颜色 (x-a)*(x-a)+(y-b)*(y-b)=r*r /dwxx
t.penup() # 提笔
t.goto((xs * csct.a2),-(xs * csct.c2-abs(XA) * csct.b2))
t.pendown()
t.circle(xs * csct.c2, 360)
t.penup()
#****************************************************
if csct.fxx4 == 1:
t.color("black") # 画笔颜色 x=a*y*y+b*y+c /dwxx
n = 0
for i in range(-int(csct.x1A), int(csct.x1A)):
if csct.c3*csct.c3 >= (i/csct.a3)*(i/csct.a3):
if abs(csct.b3*math.sqrt(csct.c3*csct.c3-(i/csct.a3)*(i/csct.a3))) <= abs(int(csct.x1A)):
if n == 0:
t.penup() # 提笔
t.goto(xs * i, xs * abs(csct.b3 *
math.sqrt(csct.c3*csct.c3-(i/csct.a3)*(i/csct.a3))))
n += 1
else:
t.pendown() # 落笔
t.goto(xs * i, xs * abs(csct.b3 *
math.sqrt(csct.c3*csct.c3-(i/csct.a3)*(i/csct.a3))))
n = 0
for i in range(-int(csct.x1A), int(csct.x1A)):
if csct.c3*csct.c3 >= (i/csct.a3)*(i/csct.a3):
if abs(csct.b3*math.sqrt(csct.c3*csct.c3-(i/csct.a3)*(i/csct.a3))) <= abs(int(csct.x1A)):
if n == 0:
t.penup() # 提笔
t.goto(-xs * i, -xs * abs(csct.b3 *
math.sqrt(csct.c3*csct.c3-(i/csct.a3)*(i/csct.a3))))
n += 1
else:
t.pendown() # 落笔
t.goto(-xs * i, -xs * abs(csct.b3 *
math.sqrt(csct.c3*csct.c3-(i/csct.a3)*(i/csct.a3))))
#****************************************************
if csct.fxx5 == 1:
t.color("black") # 画笔颜色 x=a*y*y+b*y+c /dwxx
n = 0
for i in range(-int(csct.x1A), int(csct.x1A)):
if csct.c4*csct.c4 >= (i/csct.b4)*(i/csct.b4):
if abs(csct.a4*math.sqrt(csct.c4*csct.c4-(i/csct.b4)*(i/csct.b4))) <= abs(int(csct.x1A)):
if n == 0:
t.penup() # 提笔
t.goto(xs * i, xs * abs(csct.a4 *
math.sqrt(csct.c4*csct.c4-(i/csct.b4)*(i/csct.b4))))
n += 1
else:
t.pendown() # 落笔
t.goto(xs * i, xs * abs(csct.a4 *
math.sqrt(csct.c4*csct.c4-(i/csct.b4)*(i/csct.b4))))
n = 0
for i in range(-int(csct.x1A), int(csct.x1A)):
if csct.c4*csct.c4 >= (i/csct.b4)*(i/csct.b4):
if abs(csct.a4*math.sqrt(csct.c4*csct.c4-(i/csct.b4)*(i/csct.b4))) <= abs(int(csct.x1A)):
if n == 0:
t.penup() # 提笔
t.goto(-xs * i, -xs * abs(csct.a4 *
math.sqrt(csct.c4*csct.c4-(i/csct.b4)*(i/csct.b4))))
n += 1
else:
t.pendown() # 落笔
t.goto(-xs * i, -xs * abs(csct.a4 *
math.sqrt(csct.c4*csct.c4-(i/csct.b4)*(i/csct.b4))))
#****************************************************
t.done() # 停止画笔
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn