""" 3D世界坐标轴.py """ __author__ = '李兴球' __blog__ = 'www.lixingqiu.com' import turtle import time viewfactor = 150 xshift = 0 yshift = 0 zshift = 50 def gotoxyz(x,y,z): global viewfactor,xshift,yshift,zshift if (z+zshift) == 0 : return xcor = viewfactor * (x+xshift)/(z+zshift) ycor = viewfactor * (y+yshift)/(z+zshift) turtle.goto(xcor,ycor) turtle.pensize(2) turtle.speed(0) turtle.delay(0) turtle.penup() turtle.ht() turtle.title('3D世界坐标轴by李兴球') turtle.tracer(0) oldx = None oldy = None def shift(event): global oldx,oldy,xshift,yshift if oldx==None:oldx = event.x # 第一次 if oldy==None:oldy = event.y # 第一次 dx = event.x - oldx dy = event.y - oldy oldx = event.x oldy = event.y xshift += dx yshift -= dy def fov(event): global viewfactor viewfactor += event.delta/60 canvas = turtle.getcanvas() canvas.bind("",shift) canvas.bind(" ",fov) turtle.bgcolor('black') while True: turtle.clear() gotoxyz(0,0,0) # 到圆点 turtle.pendown() turtle.color('red') gotoxyz(300,0,0) # x轴 turtle.penup() gotoxyz(0,0,0) # 到圆点 turtle.pendown() turtle.color('blue') gotoxyz(0,300,0) # y轴 turtle.penup() gotoxyz(0,0,0) # 到圆点 turtle.pendown() turtle.color('yellow') gotoxyz(0,0,300) # z轴 turtle.penup() turtle.update() time.sleep(0.1)
李兴球
李兴球的博客是Python创意编程原创博客
要发表评论,您必须先登录。
发表评论