3D Graphics:用于可视化3D矢量的软件?

时间:2010-09-03 22:28:12

标签: graphics 3d visualization

我正在尝试自学3D图形,但我无法想象所涉及的3D矢量。

我可以使用任何好的软件来显示3D矢量吗?

例如,现在我正在学习相机变换,如果我可以轻松地绘制右/上/外观/眼睛矢量,那就太好了。

我已经尝试过Grapher.app和gnuplot,但是很难在Grapher.app中输入点数,而gnuplot似乎无法锁定纵横比。

2 个答案:

答案 0 :(得分:9)

Visual Python是一个非常简单的3D可视化库。

例如,要显示球体和箭头:

import time, math, visual

ball = visual.sphere(pos=(0,2,0), radius=1, color=visual.color.red)
vect = visual.arrow(pos=(2,0,0), axis=(2 ,2,-2))

visual.scene.forward = (.1, -.3, -1)  # controls the camera view angle

alt text

此窗口现在还具有所有正常鼠标交互功能,例如缩放和相机(即视角)旋转。

VPython也很容易制作动画。例如,以下内容将旋转箭头:

da = 2*math.pi/100
for timestep in range(100):
    angle = timestep*da
    vect.axis = (2+2*math.sin(angle), 2*math.cos(angle), -2)
    time.sleep(.1)

答案 1 :(得分:2)

我不知道这是否比Grapher.app或gnuplot更容易,但您可以编写自己的3D图形程序,只绘制矢量。

Here's an example in OpenGL绘制X,Y和Z轴向量。

更新: Here's a Java applet专门用于帮助您在摄像机转换中可视化矢量。请注意安装说明:您必须安装Java 3D。

  

描述:透视相机   参数applet旨在熟悉   学生用各种参数   与合成的,   透视投影相机。用户   可以调整以下任何一项   参数:视野宽度,   视野高度,近剪裁   平面距离,远剪裁平面   距离,向上矢量和外观矢量。   视锥体在a中可视化   窗口,允许学生   了解参数的相关性   到视锥体的形状。

同一网站有many components, such as axes,您可以使用它设置一个简单的小程序,只显示您想要的向量。