Графика - Определение радиуса окружности TRIANGLE_FAN и локальных координат из мировых координат - PullRequest
0 голосов
/ 03 декабря 2011

На данный момент у меня есть солнечная система в openGL с несколькими системами координат.То есть солнце имеет свою собственную систему координат орбиты для планет, которые вращаются вокруг него, и свою собственную систему координат для круга, представляющего солнце.Каждая планета имеет свою собственную орбиту CS и CS для своей формы.

Я использую GL_TRIANGLE_FAN для создания сфер для планет.

Затем, когда я получаю координаты мыши, я использую glUnProject для перевода их из окнак мировым координатам.Затем я пытаюсь перевести эти мировые координаты в локальные координаты, чтобы определить, находится ли щелчок мыши в форме планеты или нет.Если это так, он выводит имя планеты - сложная часть - заставить работать распознавание щелчка планеты.

Кажется, я не могу понять, как это сделать правильно.Формула, которую я использую true, если ((pow (target_LCS [0], 2) + pow (target_LCS [1], 2))

1 Ответ

0 голосов
/ 03 декабря 2011

OpenGL ничего не знает об объектах. Когда вы создаете сферу с GL_TRIANGLE_FAN, вы должны иметь код, который сообщает opengl, где нарисовать сферу и каков ее радиус. Если вы хотите провести тестирование пересечений, вам нужно будет отслеживать радиусы планет и положения планет себя . Поэтому просто используйте позиции и радиусы, указанные в коде чертежа.

...