2012-05-16 10 views
0

몇 가지 오브젝트의 강체 시뮬레이션을 실행하고 povray를 사용하여이 시뮬레이션을 렌더링하려고합니다.povray를 사용하여 3d rigid 오브젝트의 모션을 렌더링하는 방법

개체의 메쉬는 동일하게 유지되며 모든 변경 사항은 각 개체의 위치와 방향입니다. povray에서 동영상의 이미지를 반복 생성하는 가장 좋은 방법은 무엇입니까? 각 반복마다 전체 pov 파일을 작성한 다음 povray에 모두 보낼 수는 있지만 각 메쉬가 매우 크기 때문에 한 번만 작성해야합니다. 가능합니까?

그리고이 작업을 수행 할 수있는 더 좋은 방법이 있다면, 나에게 알려주세요

...

답변

1

는 #DEFINE를 사용하고 이름을주는 INC 파일에 메쉬를 작성합니다. 주 .pov 파일에서 회전 및 변환을 포함하는 배열 또는 스플라인을 정의한 다음 clock 변수를 사용하여 인덱싱하고 애니메이션을 렌더링 할 수 있어야합니다.

+0

감사합니다! 하나의 질문 : 비록 스플라인이 그 위치에서 훌륭하게 작동 할 것입니다. 그러나 방향 (C++ 코드, 3X3 행렬)에서는 어떻게하면이를 스플라인으로 쉽게 변환 할 수 있습니까? – olamundo

+0

3x3 행렬을 독립적 인 X, Y 및 Z 회전 각도로 변경하고 행렬의 9 개 구성 요소를 스플라인 또는 스플라인으로 스플라인 할 수 있습니다. –

+0

또는 각 프레임에 대해 별도의 .pov 파일을 만들고 한 번에 하나씩 렌더링하십시오. –

0

여기에 하나의 .pov 파일을 애니메이션으로 렌더링하여 David Buck의 조언을 자세히 설명합니다.

#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/