Visual 是Python的一个简单易用的3D图形库,使用它可以快速创建3D场景、动画。和TVTK相比它更加适合于创建交互式的3D场景,而TVTK则更加适合于数据的3D图形化显示。
1.一个最简单的例子
from visual import *
box()
运行结果如下:
在场景窗口中,同时按住鼠标左右按键,上下移动鼠标可以进行缩放场景;按住鼠标右键移动鼠标可以旋转场景。
2.简单动画
用visual创建一个简单的3D动画。
1 # -*- coding: utf-8 -*-
2 from visual import *
3
4 display(title=u"简单动画".encode("gb2312"), width=500, height=300)
5
6 ball = sphere(pos=(-5,0,0), radius=0.5, color=color.red)
7 wall_right = box(pos=(6,0,0), size=(0.1, 4, 4), color=color.green)
8 wall_left = box(pos=(-6,0,0), size=(0.1, 4, 4), color=color.green)
9
10 dt = 0.05 #dt用来表示动画中每帧之间的时间间隔
11 ball.velocity = vector(6, 0, 0) #velocity属性是一个3D矢量,表示球体的速度
12
13 while True:
14 rate(1/dt)
15 ball.pos = ball.pos + ball.velocity*dt
16 if ball.x > wall_right.x-ball.radius or ball.x < wall_left.x+ball.radius:
17 ball.velocity.x *= -1