문제

나는 단지 내 머릿속에서 이것을 알아낼 수없는 것 같다. 3D 공간에서 물체를 움직이려고합니다.

5,15,5 지점이 있고 OpenGL 기능을 사용하여 모델보기를 변경하는 경우 ....

glTranslatef( 10.0f, 4.0f, 4.0f );
glRotatef( 33.0f, 1.0f, 0.0f, 0.0f );
glTranslatef( 10.0f, 4.0f, 4.0f );

그 지점이 어디에서 끝나는 지 (세계 / 글로벌 좌표)를 찾을 수있는 방법이 있습니까? 20,26,23 (또는 모든 새로운 좌표 위치가 무엇인지)를 돌려 줄 매트릭스 계산을 할 수 있습니까?

제발 도와주세요, 나는 이것에 너무 오랫동안 붙어 있습니다!

도움이 되었습니까?

해결책

다음을 시도하십시오.

1) 현재 매트릭스를 스택으로 밀어 넣으십시오. 2) 정체성을로드하고 변형을 적용하십시오. 3) 결과 변환 행렬을 일부 온도 변수로 가져옵니다. Glget 또는 그와 비슷한 것이 도움이 될 것입니다. 4) 스택에서 매트릭스를 팝하십시오.

이제 변환 매트릭스가 있습니다. 이 매트릭스를 곱하여 변환 후 포인트의 좌표를 예측하십시오.

다른 팁

확실히 : 체크 아웃 http://research.cs.queensu.ca/~jstewart/454/notes/pipeline/

요컨대, 이러한 모든 통화는 단일 매트릭스로 줄어들어 지점에 곱합니다.

Sadsido의 방법은 분명히 결과 매트릭스를 얻을 수 있지만, 실제로 무대 뒤에서 무슨 일이 일어나고 있는지 실제로 이해하는 것은 아프지 않을 수 있습니다. 위의 계산은 다음의 선형 대수 방정식을 초래합니다.

pout = [mtranslate] * [mrotate] * [mtranslate] * 핀

여기서 mtranslate = 번역 호출 (번역의 행렬), mrotate = rotate call (임의 축에 대한 회전의 매트릭스). 그것을 계산하고 당신은 가기에 좋습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top