1
나는 C의 OpenGL을에서 현재 행렬을 가지고 있고, 나는 다음과 같은 코드를 적용하는 경우 :OpenGL은 행렬 곱셈
glMultMatrixf(M);
glMultMatrixf(M2);
무엇 현재 변환 행렬이 생겼를? 빨간 책에서는 glMultMatrix * (M)를 사용하면 다음과 같이 설명합니다 : CM. M (M2v) 여기서 M은 M보다 먼저 적용됩니다.이 경우 M은 왼쪽 피연산자이지만 이전 M에서는 오른쪽 피연산자입니다.
수학 게시와 컴퓨터 과학 매트릭스 계산 사이에 약간의 혼란이있는 것처럼 질문을 게시하는 OP가 들립니다. – ksming
그래서 M2가 곱 해지기 전에 M3 * v가 발생한다고 가정합니다. 내가 왜 매트릭스 곱셈이 적용될 때마다 설명 할 때 Multymatrix * f (M)에 M (CM)을 곱하면 현재 매트릭스 C에 M이 곱 해져서 오른쪽 피연산자가 아닌 오른쪽 피연산자로 적용되는 이유를 알 수 없다. , (CM) –
에서와 같이 @SamAdams : 오른쪽에 * 적용됩니다. 모든 * 이전 * 행렬의 오른쪽에 적용됩니다. 이전의 모든 행렬 명령으로 구성된 현재 행렬에 주어진 행렬이 곱해지고 주어진 행렬이 오른쪽에 있습니다. –