МАТЛАБ: Как я могу получить 3D-координаты от клика пользователя? - PullRequest
1 голос
/ 07 мая 2010

Я использую Matlab для создания небольшой шахматной игры для одного из моих курсов в этом семестре. У меня проблемы с тем, чтобы пользователь мог выбрать одну из шахматных фигур.

Чтобы упростить вещи, я делаю так, чтобы пользователь выбирал фигуру, щелкая по квадрату, на котором находится шахматная фигура, а не щелкая по самой фигуре (что, я полагаю, будет намного сложнее). Я знаю, как получить координаты x и y порта просмотра, но как мне преобразовать эти координаты в трехмерные координаты?

Я знаю, что есть несколько координат x, y, z, связанных с каждой координатой порта вида, но меня интересует только координата x, y, z, где z = 0 (поскольку сама плата находится в x , плоскость y, которая пересекает ось z, где z = 0).

Ответы [ 2 ]

2 голосов
/ 07 мая 2010

Возможно, вы захотите взглянуть на select3d из обмена файлами. Он позволяет вам выбирать объекты патчей в 3D (в любом случае, вероятно, именно так вы хотите создать свою доску).

0 голосов
/ 07 мая 2010

Не зависит от MATLAB, но это может помочь: учитывая параметры камеры и местоположение щелчка, вы можете проецировать луч в сцену и проверить наличие пересечений, но, вероятно, будет гораздо проще просто рассмотреть обратную проблему : Сопоставьте свои квадраты шахматной сетки с координатами экрана, а затем просто сравните в 2D с местоположением щелчка. Обратите внимание, что уже выполняется при рендеринге сцены.

...