Конвертировать координаты холста OpenGL в координаты холста HTML5 - PullRequest
0 голосов
/ 29 июля 2011

У меня есть симуляция OpenGL Java-апплета, и я пытаюсь конвертировать в холст HTML5.Кто-нибудь знает, как я могу преобразовать эти координаты?

OpenGL получают от -400x до + 400x и от -600y до + 600y, в то время как мой холст получает от 0x до 400x и от 0y до 600y без отрицательных координат.

1 Ответ

0 голосов
/ 29 июля 2011

Это просто простая линейная функция, которая вам нужна. Линейные функции имеют вид f(x) = m * x + n

Для координаты х:

Вы хотите отобразить от -400 до 0 и от 400 до 400, поэтому у вас есть две точки (-400, 0), (400, 400), которые описывают ваше линейное отношение.

Теперь вы вычисляете градиент m с помощью (y2-y1) / (x2-x1), в этом примере: m = (400-0) / (400--400) = 1/2

Итак, ваша функция теперь выглядит так: f (x) = 1/2 * x + n

Чтобы вычислить n (пересечение по y), вы просто вставляете точку (например, (-400, 0)):

0 = 1/2 * (-400) + n

Вы получаете n как 200. Таким образом, последняя функция - f(x) = 1/2 * x + 200

Для координаты Y вы получите g(y) = 1/2 * y + 300

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...