우리가 DirectX에서 세 가지 데 멘탈 오브젝트를 그릴 때 우리는 카메라를 정의해야합니다. 이제 우리는 'device1'이라는 이름의 Device 객체를가집니다. 내 질문은 입니다. device1.View = Matrix.Look ... (새 Vector3(), 새 Vector3(), 새 Vector3()); 인수 # 3이 위로 벡터입니다. 정확히 무엇을합니까?위 벡터는 DirectX에서 정확히 무엇을합니까?
2
A
답변
8
이름에서 알 수 있듯이 "up"방향을 정의합니다. 그것은 아주 중요한 것입니다. 카메라의 위치를 알아야하며 방향이 어느 방향인지 알아야하지만 방향이 어떻게 바뀌 었는지 알아야합니다. 즉, 상하 좌우로 무엇이 감지되는지 알아야합니다.
현실 세계에서 시야의 "상향"벡터는 중력의 영역에 의해 암시됩니다 (즉, 지구에 의해 가해진 중력 벡터의 반전 (위로, 아래로는 아닙니다!)).
2
카메라 매트릭스에서 좌표 프레임을 설명하기 위해 "직교 정규 (orthonormal)"기본 매트릭스를 형성해야합니다.
3D 좌표계를 생각하면 3 축이 있습니다. X 축 (또는 측면/측면 벡터), Y 축 (위쪽 벡터) 및 Z 축 (방향 벡터)입니다.
위쪽 벡터는 좌표 프레임을 정의하는 데 중요합니다. 다음
행 메이저 기저 행렬이 정의된다
가xx, xy, xz, 0
yx, yy, yz, 0
zx, zy, zz, 0
px, py, pz, 1
XX, XY가, XZ가 Y 축, ZX YZ, YY, YX, X 축이 형성하는 3 벡터이고, zy, zz z 축 및 px, py, pz는 위치 벡터를 정의합니다.
위쪽 벡터를 아래쪽으로 향하면 생각하면 거꾸로 된 모든 것을 볼 수 있습니다. 맞습니까? 또한 위쪽 벡터를 아래쪽으로 회전시키지 않았을 때 옆쪽 벡터가 잘못된 방향을 가리키고 있으므로 X 축에 대칭되는 것처럼 보이고 거꾸로 된 것을 볼 수 있습니다.
관련 문제
- 1. WCF : IsInitiating은 정확히 무엇을합니까?
- 2. 랙 핸들러는 정확히 무엇을합니까?
- 3. 그리드 960은 정확히 무엇을합니까?
- 4. 롤백 명령문은 정확히 무엇을합니까?
- 5. 정확히 gc_heap :: plan_phase는 무엇을합니까?
- 6. MIBCC.EXE는 정확히 무엇을합니까?
- 7. Int32.Parse는 정확히 무엇을합니까?
- 8. ValidateExternalMetadata 속성은 정확히 무엇을합니까?
- 9. presentModalViewController는 정확히 무엇을합니까?
- 10. KeyListener는 정확히 무엇을합니까?
- 11. 이 OpenCV 프로그램은 정확히 무엇을합니까?
- 12. PHP의 gc_enable 함수는 정확히 무엇을합니까?
- 13. 정확히 rake db : migrate는 무엇을합니까?
- 14. 이 자바 스크립트는 정확히 무엇을합니까?
- 15. 이 PHP 코드는 정확히 무엇을합니까?
- 16. 벡터는 C++
- 17. SQL : 기본 키와 인덱스는 정확히 무엇을합니까?
- 18. asp.net의 URL 시작 부분에서 ~은 정확히 무엇을합니까?
- 19. ETL 도구 ... 정확히 무엇을합니까? laymans terms please
- 20. 홈 버튼을 두 번 탭하면 정확히 무엇을합니까?
- 21. $ {pageContext.request.contextPath}는 JSP EL에서 정확히 무엇을합니까?
- 22. 이 표준 ML 코드는 정확히 무엇을합니까?
- 23. setUseWideViewPort() 및 setLoadWithOverviewMode()는 정확히 무엇을합니까?
- 24. "Clean and Build"는 정확히 무엇을합니까?
- 25. PowerShell의 -Version 매개 변수는 정확히 무엇을합니까?
- 26. C++ 벡터는 항상 연속적입니까?
- 27. DirectX에서 비디오 표시
- 28. DirectX에서 View 변환 반전
- 29. HTML5 캐시 매니페스트 : 정확히 무엇을합니까? 문서가 명확하지 않다
- 30. CPU 사용자 모드에서 커널 모드로 전환 : 정확히 무엇을합니까? 어떻게 전환됩니까?