2010-12-09 4 views
0

게임의 모델 중 일부는 glest입니다.하나의 좌표 집합을 다른 행렬로 바꾸는 행렬을 계산하십시오.

이러한 모델은 하나 이상의 메시로 구성됩니다. 각 메쉬는 애니메이션의 각 프레임에 대한 각 정점의 위치를 ​​설명하는 많은 프레임으로 구성됩니다. 아래 표시된 모델에서 각 프레임의 각 휠에서 각 꼭지점의 위치는 배열입니다.

이러한 모델은 블렌더와 같은 3D 도구에서 내보냈습니다. 누군가 어딘가에 원본이 있습니다.

그러나 나는 그런 바퀴 회전으로 간단한 애니메이션에 대해 궁금하면 변환 계산 방법 - 회전, 스케일의 단계 및 번역, 또는 이전 프레임에 적용 할 때 발생할 것이라는 매트릭스 새 프레임에?

(물론 모든 프레임은 모델을 왜곡 할 수 있기 때문에 등. 이러한 변환을해야합니다)

또한

, 당신은 매트릭스를 적용하여 정점 데이터의 양을 줄이기 위해 미러링 및 다른 기회를 감지 할 수있는 방법과 같은 꼭지점을 다시 렌더링합니까?

달리기 속도 - 단 몇 분만 측정해도 문제가되지 않습니다.

A glest catapult

+0

휠 모델이 선회하고있는 프레임 세트가 주어 졌을 때, 한 프레임을 다음 프레임으로 변환하는 회전 행렬을 계산하려면 어떻게해야합니까? 바퀴의 회전축이 주어 졌는가 아니면 알아 내야합니까? – LarsH

+0

@ LarsH 네, 문제를 이해하고, 꼭지점의 배열보다 다른 입력이 없지 않습니다. – Will

답변

1

우선, 몇 가지 가정 :

  • 당신은 3D 아핀 변환 (선형 변환 플러스 번역)을 취급하고 있습니다.
  • 당신은 애니메이션의 각 프레임에 대한 정점을
  • 당신은 (당신이 4D의 collumn 벡터 등 4 개 정점을 취할 수있는 다음 프레임 그런

4 개 정점으로 프레임에 적어도 4 개 정점을 연결할 수 있습니다 원래의 공간에 각 벡터의 4 번째 요소에 1을 덧붙여서 X라고하는 4x4 행렬을 생성하기 위해 이들을 연결합니다. 변환 된 공간에서 해당 벡터에 대해 동일한 작업을 수행하고 4x4 행렬이 될 Y라고 부릅니다. 회전을 얻기 위해이 사용

AX = Y 
A = YX-1

및 스케일링 사소한되지 않습니다 : 약간의 선형 대수는 따라서 Y로 X에 적용 할 때 제공하는 4 × 4 행렬 A를 찾을 수있는 방법을 제공합니다. 그러나 A의 가장 오른쪽 열은 연속적인 프레임 사이의 오브젝트에 대한 변환을 포함합니다.

관련 문제