나는 Java에서 OpenGL 프로젝트를 작업하고 있으며, 자신의 코드에서 변환 행렬을 만들고 싶다는 점을 지적했다. 그래서 그것을 사용하여 세계를 수행 할 수있다. 스크린 포인트 변환, 그 반대의 경우도 마찬가지입니다. 변환을 지원하는 Matrix 클래스를 만들었습니다. 그 모든 것이 매우 잘 작동합니다. 그러나 실제로 역변환을 만드는 방법을 찾는 데 문제가 있습니다.반전 변환 행렬을 만드는 방법
이- 임의의 아핀 (4 × 4) 변환 행렬을 감안할 때, 당신은 어떻게 역변환 행렬을 만들려면 어떻게해야합니까 :
그래서 제 질문은 이것이다? 일부 매트릭스는 변환 할 수 없습니까? 변환 행렬을 반전하는 데있어 제한과주의 사항은 무엇입니까?
제 연구에서 가장 간단한 방법은 행렬을 바꾸고 행렬을 부정하는 다양한 방법을 들었습니다. 그러나 실제로는 작동하지 않습니다. 이 방법은 일부 행렬에서는 작동하지 않으며 일부 행렬은 변환 할 수 없다고 들었습니다.
나는 실제로이 행렬을 뒤집을 때 무슨 일이 벌어지고 있는지 이해하고 싶기 때문에이 "방정식의 플러그"이상을 찾고 있습니다. 여기에는 "이 라이브러리 만 사용"답변도 제외됩니다. 앞으로 매트릭스 라이브러리로 이동할 수도 있지만, 지금은 직접 만들 계획입니다.
편집 : 누구나 묻기 전에 아니요 숙제입니다. 이것은 개인 프로젝트입니다.
편집 : 분명히 역을 계산하기위한 전략의 전체 목록은 여기에있다 행렬입니다 : 여기
가 다시 아래로 규모로 그것을 깰하려고, 회전, 구성 요소를 번역? 수학적으로 완벽한 방법이 있다고는 생각하지 않지만, "이해할 수있는"구성 요소를 추출하는 기술이 있습니다. – nielsbot
아니요, 이해 합니다만, 변환 행렬의 역함은 행렬이 "역전"된 것입니다. 작업. 따라서 "translate (1, 2, 3), rotate (45deg)"행렬이있는 경우 점에 적용하면 해당 연산이 적용되고 반대의 경우에는 해당 연산을 "실행 취소"또는 "반전"합니다. – jpfx1342