2013-05-11 4 views

답변

4

이 회전하지만, 전단 조작되지 않고, 예컨대 아핀 변환 등 - 그래서 고정 기능 파이프 라인에서 사용되는 통상의 4x4 변환 행렬에 의해 표현할 수있다. 회전, 평행 이동 및 비 균일 스케일의 조합을 통해 이러한 효과를 얻을 수 있으며, 또는 전단 매트릭스를 직접 지정하여 glLoadMatrix/glMultMatrix를 통해 사용할 수 있습니다. 도면에서

, 당신은 단지 하나 개의 축을 따라 전단을 사용하기 때문에 X 좌표는 동일하게 유지. 이 같은 행렬 일반적으로 행해질 수있다 : X, Z 잎

1 0 0 0 
v 1 0 0 
0 0 1 0 
0 0 0 1 

및 w는이고 y + V * X와 Y 변환 그래서 V는 전단의 양을 제어한다.

+0

내가 행 0, 열이 내 V를 넣어했다, 나는 회전 후 번역하기 전에 전단을 사용하고 있습니다 - 그것은 작동하지만,하는 이상한 결과를 제공합니다 : [V = 0] (http://screenshooter.net/1003588/ ltkuote), [V = 0.1F] (http://screenshooter.net/1003588/tbjuamh), [V = 1 층 (http://screenshooter.net/1003588/wivritw) - 원인이 될 수있는 방법에 이것을 고쳐라? – Mac70

+0

@ Mac70 : 음, 좌표계를 지정하지 않았습니다. 저는 여러분이 제 관점을 설명하기 위해 제공 한 2D 도면에 표준 수학적 정의를 가정 했으므로 실제 에이스는 다를 수 있습니다. 또한 잘 알려진 row-major 대 colum-major oder 문제가있을 수 있습니다. v = 1의 결과는 실제로 매우 이상하게 보입니다. 그러나 실제 코드가 없어도 아무도 무슨 일이 일어나는지 말할 수 없습니다. – derhass

2

그 변화는이 전단라고, 회전하지 않습니다. 또한 선형 변환이므로 glMultMatrix을 사용하여 구현할 수 있습니다. 어떤 행렬을 곱해야하는지 알아야합니다. 구글 전단.