На самом деле перевод не простой. А вот такой:
То есть у вас есть установка фотографирующая точку P (красного цвета на изображении), и задача показать ее в новой координатной системе (V, U), в данном случае это две желтые линии, они означают вектора V, U.
На самом деле после решения данной задачи, стало понятно, что она довольно тривиальная.
Решение заключается вот в чем: мы точку P повернем на угол между (V, U) и линией l2 + a2 (угол между линией l1, l2) + a1 (угол между l1 и осью X). После поворота мы ее сдвинем на расстояние -l2, потом повернем на угол -a2, после чего можем сдвинуть ее на расстояние -1l и повернем на угол a1 и сдвинем на расстояние -O (точка из которой начинается линия l1). В итоге мы получим точку P в новых координатах (V, U).
Если грубо, то вот, что мы делаем. Мы просто всю нашу фотографирующую установку складываем к осям Y, X.
Я решение выполнил используя javascript-библиотеку Dojo Toolkit, а конкретно dojox.gfx. Приведу пример кода перевода точки P(x, y) в P(v, u):
Весь код можете скачать отсюда. Но внимание, что бы код заработал не открывайте index.html, а создайте хост на веб-сервере, скопируйте туда файлы, а уже потом обращайтесь к нему через браузер.
Спасибо за внимание! Буду рад вопросам в комментариях!
Комментариев нет:
Отправить комментарий