2012-05-16 38 views
0

我運行一些對象的剛體仿真,並且我想使用povray渲染此仿真。如何使用povray渲染3D剛體對象的運動

對象的網格保持不變,所有變化都是每個對象的位置和方向。 在povray中爲電影迭代生成圖像的最佳方式是什麼? 我可以在每次迭代中寫一個完整的pov文件,然後將它們全部發送到povray,但是由於每個網格非常大,我想只需要寫一次。 這可能嗎?

,如果有更好的方式來做到這一點,請告訴我...

回答

1

寫使用#define和給它起名字網成INC文件。在主要的.pov文件中,您應該能夠定義包含旋轉和平移的數組或樣條線,然後使用時鐘變量將其索引並渲染動畫。

+0

的感謝!但有一個問題:樣條對於位置非常有用,但是如何定向(在C++代碼中是3X3矩陣),我怎樣才能輕鬆地將它轉換爲樣條? – olamundo

+0

您可以將3x3矩陣更改爲獨立的X,Y和Z旋轉角度並對樣條或樣條曲線繪製矩陣的所有9個分量。 –

+0

或者,爲每個幀創建一個單獨的.pov文件並逐個渲染它們。 –

0

這裏有一種方法可以充實大衛巴克的建議,帶一個.pov文件,呈現爲動畫。

#include "transforms.inc" 
#declare myOriginalObj = /* you do the work here, with mesh aligned to "y axis"*/ 
#declare newDirection = /* you do the work here: make new alignment vector, 
    as a function of clock */ 
#declare newPosition = /*you do the work here: create vector for new position, 
    as a function of clock */ 
#declare newObj=object{ 
    myOriginalObj 
    Reorient_Trans(y,newDirection) 
    translate newPosition 
    } 
object{newObj} 

進一步閱讀: http://povray.tashcorp.net/tutorials/dd_makesnow/