使用 python turtle 模块绘制 tan 函数图像
在 python2.7 下测试通过:
import math
import turtle
def drawLine (ttl, x1, y1, x2, y2):
ttl.penup()
ttl.goto (x1, y1)
ttl.pendown()
ttl.goto (x2, y2)
ttl.penup()
def drawGridMark (ttl, x, y, isVertical):
if isVertical :
drawLine (ttl, x, y + 5, x, y - 5)
else:
drawLine (ttl, x - 5, y, x + 5, y)
# write label at location x, y
def labelPoint (ttl, x, y, label):
ttl.penup()
ttl.goto (x, y)
ttl.pendown()
ttl.write (label)
ttl.penup()
def labelGridPoint (ttl, x, y, isVertical, text):
if isVertical:
labelPoint (ttl, x - 20, y - 20, text)
else:
labelPoint (ttl, x + 20, y, text)
turtle.setup (800, 800, 0, 0)
ttl = turtle.Turtle()
ttl.penup()
ttl.goto (-400, 0)
ttl.pendown()
ttl.goto (400, 0)
ttl.penup()
ttl.penup()
ttl.goto (0, 400)
ttl.pendown()
ttl.goto (0, -400)
ttl.penup()
# label the x axis
for x in [-300, -200, -100, 100, 200, 300]:
drawGridMark (ttl, x, 0, True)
labelGridPoint (ttl, x, 0, True, (x/100, 0))
# label the y axis
for y in [-300, -200, -100, 100, 200, 300]:
drawGridMark (ttl, 0, y, False)
labelGridPoint (ttl, 0, y, False, (0, y/100))
ttl.penup()
x = -math.pi
y = math.tan (x)
scaledX = x * 100
scaledY = y * 100
ttl.goto (scaledX, scaledY)
ttl.pendown()
while x < math.pi:
x = x + 0.2
y = math.tan ( x )
scaledX, scaledY = x * 100, y * 100
if x<=-math.pi/2-0.2:
ttl.goto (scaledX, scaledY)
elif x>=-math.pi/2-0.2 and x<-math.pi/2+0.2:
ttl.penup()
ttl.goto (scaledX, scaledY)
elif x>=-math.pi/2+0.2 and x<math.pi/2-0.2:
ttl.pendown()
ttl.goto (scaledX, scaledY)
elif x>=math.pi/2-0.2 and x<math.pi/2+0.2:
ttl.penup()
ttl.goto (scaledX, scaledY)
elif x>=math.pi/2+0.2:
ttl.pendown()
ttl.goto (scaledX, scaledY)
ttl.penup()
仅做简单示例,所以不是很美观😂
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于