我正在尝试使用Python和Mayavi创建可视化。
该可视化的目的是在路径的不同阶段显示轨迹和相机平截头体。使用Mayavi和Python渲染图像
我很乐意将性能考虑放在眼前,并希望找到一种方法来纹理mayavi创建的由numpy提供的图像的表面。
最有希望的建议被发现there,但我无法构建一个表面,因为我实施它们。
def render_image(self, frustum, timestamp):
surf = mayavi.mlab.surf(frustum[0, :-1],
frustum[1, :-1],
frustum[2, :-1],
color = (1.0, 1.0, 1.0))
这对表面创建,其中numpy的阵列平截头体的行是x,y的代码,Z坐标分别与最后,第五点是金字塔的顶端,并因此不需要用于网格。
x [-8.717184671492793, -8.623419637172622, -8.363581977642212, -8.269816943322041]
y [-4.563044562134721, -4.941612408713827, -4.37100415350352, -4.749572000082626]
z [13.614485323873417, 13.703336344550703, 14.059553426925493, 14.148404447602779]
这是一个函数输入的例子 - 表示所需多边形顶点的四个3D点。
然而,冲浪功能上输入失败:
File "/usr/local/lib/python2.7/dist-packages/mayavi/tools/helper_functions.py", line 679, in __call_internal__
aspect_ratios = [(zf - zi)/(xf - xi), (zf - zi)/(yf - yi)]
ZeroDivisionError: float division by zero
注:我能够渲染mayavi.mlab.imshow图像,但我觉得很容易出错和繁琐的指定图像姿势和尺寸的轴角和尺度矢量,所以我不愿意接受指向这个方向的答案。
非常感谢您的帮助。
http:// stackoverflow。com/help/how-to-ask –
我建议你尽量减少这个问题,这样你就有了一个更简单的例子,问题依然存在。如果问题的根源仍然没有解决,请完整提供数据和代码,以便人们更容易地重现您的问题。这将有助于解决因版本或硬件更改而导致的问题。 –
@DebanjanBasu,谢谢。其实,这个问题对我来说依然是相关的。我会重新提出问题并进行更新。 – wf34