2010-05-06 2 views
1

저는 이번 학기 중 하나에 대한 작은 체스 게임을 만들기 위해 Matlab을 사용하고 있습니다. 문제가있는 것은 사용자가 체스 조각 중 하나를 선택할 수있게하는 것입니다.MATLAB : 사용자 클릭으로 3D 좌표를 얻으려면 어떻게해야합니까?

사물을 단순화하기 위해 사용자가 조각 자체를 클릭하는 대신 체스 조각이있는 사각형을 클릭하여 조각을 선택하도록했습니다 (훨씬 더 어려울 것으로 생각합니다). view-port의 x와 y 좌표를 얻는 방법을 알고 있지만이 좌표를 3 차원 좌표로 변환하는 방법은 무엇입니까?

각 뷰 포트 좌표와 연관된 x, y, z 좌표가 여러 개 있지만, x, y, z 좌표에만 관심이 있습니다 (보드 자체는 z 축과 교차하는 x, y 평면 (z = 0 인 경우).

감사합니다.

답변

0

MATLAB과 관련이 없지만 카메라 매개 변수와 클릭 위치를 감안할 때 광선을 씬에 투영하고 교차점을 테스트 할 수는 있지만 역수를 고려하는 것이 훨씬 쉽습니다 문제 : 체스 그리드 사각형을 화면 좌표에 매핑 한 다음 2D에서 클릭 위치와 비교해보십시오. 이것은 이미 수행 중임을 알리는입니다.

2

파일 교환에서 select3d을보고 싶을 수 있습니다. 3D로 패치 오브젝트를 선택할 수 있습니다 (어쨌든 보드 작성 방법).