我正在嘗試使用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