2016-09-19 4 views
0

정적 인 정점 목록을 얻으려고합니다. 매트릭스를 사용하여 아래 이미지와 같이 원을 중심으로 구부립니다. 기본 정점을 사용하여 새 정점을 찾을 수 있지만 행렬을 사용하여이를 구현하는 방법이나 가능한 경우 확실하지 않습니다. 저는 원의 중심을 'C'라고 부르며 정점에서 C 'd'까지의 거리를 x = Cx + d * cos (theta)와 y' = Cy + d * sin (theta)라고 부릅니다. (Cx 및 Cy는 C의 구성 요소 임). 그러나, 나는 그 자체로 행렬로 변환 될 수 있다고 생각하지 않는다. 컨텍스트에 대한이 변형은 매트릭스를 사용하여 가능합니까?

The Transformation

, 나는 3D 스네이크 게임을 만들고 있어요. 스네이크는 세그먼트로 구성되어 있으며 각 세그먼트는 다음 세그먼트에 연결되어야합니다. 세그먼트 사이의 각 연결에 대한 방향과 위치가 있으므로 그림과 같이 각 파트를 연결하여 세그먼트를 만들 수 있다고 생각했습니다. 그러나 각 프레임의 각 세그먼트에 대한 정점을 계산하는 것은 비효율적입니다. 정적으로 나열된 정점을 가지고 모델 월드 매트릭스에서 변형 할 수 있다면, 그것은 더 빠르며 현재 사용하고있는 방법에 적합합니다. 나는 아래의 뱀 (머리 무시)의 간단한 그림을 포함 시켰습니다. 그것이 가능하지 않으면

The Snake

, 비슷한 결과를 제공하면서 매트릭스를 사용하여 수행 할 수있는 대안이 있습니까?

+0

행렬을 사용하여 전이 할 수있는 이동 및 회전을 나타내는 행렬이 필요합니다. https://en.wikipedia.org/wiki/Rotation_matrix –

답변

0

예, 가능합니다.

해골 애니메이션는 : 당신은 실제로 객체에 뼈의 시리즈를 추가하고 바로 완벽한 곡선을 얻을 똑같이 뼈에 회전을 적용 할 수 있습니다. 이것이 이것을 달성하는 가장 쉬운 방법입니다. 그러나 반드시 가장 빠른 방법은 아닙니다.

그냥 매트릭스 & 무게는 : 굽힘이 비례 항상 경우 각 정점에 무게 정보를 추가 한 다음 변환/회전/스케일의 조합으로 행렬과 곱해야합니다. 모든 버텍스가 하나의 행렬만으로 곱 해지고 계층 구조가 없으므로 해골 애니메이션에 비해 더 나은 성능을 얻을 수 있습니다.