Как найти точку при вводе поиска в WebGL? - PullRequest
0 голосов
/ 26 марта 2011

Я собираюсь создать 3D Землю с поиском. Может кто-нибудь подсказать, как написать код, который находит точку (точную точку места) путем поиска ввода, используя WebGL?

1 Ответ

1 голос
/ 29 марта 2011

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

Для этого нужно:

  1. назначить каждому ориентиру набор сферические координаты

  2. учитывая, что вы находитесь точки на поверхности сферы Вы можете забыть о радиусе и назначают только высоту и азимут к каждой точке.

  3. тогда вы пишете код для Пользователь для ввода точки интереса. Скажите "Рим".

  4. вы ищете эту точку в массив JavaScript и восстановить высота и азимут значения

  5. Вы применяете корреспондента повороты к вашей матрице просмотра модели. Предполагая, что вы используете glMatrix вы должно быть что-то вроде этого:

    var M = mat4.create();
    var Y_axis = [0,1,0];
    var X_axis = [1,0,0];
    mat4.rotate(M,azimuth,Y_axis);
    mat4.rotate(M,elevation,X_axis);
    
  6. достопримечательность должна быть отображается сейчас

...