|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Rodion Gorkovenko 2:5030/1286.6 11 Jun 2003 00:20:00 To : Evgeny Goljakov Subject : поворот мн-ва точек --------------------------------------------------------------------------------
05 Jun 03 03:48, you wrote to All:
EG> Hеобходимо на плоскости повернуть мн-во точек, заданных X,Y
EG> относительно одной Xc,Yc ? (хоть на примере 1ой точки)
EG> Трудно с изучением математики в торопях, а код писать надо.
EG> Может есть 'изящные' методы без матриц? Help!
Я в этом деле, как и в любом другом, практически не разбираюсь, но по-моему
координаты точек нужно пересчитывать так (угол alpha увеличивается от
положительного направления оси X к положительному направлению оси Y):
newX=(x-xc)*cos(alpha)-(y-yc)*sin(alpha)+xc;
newY=(x-xc)*sin(alpha)+(y-yc)*cos(alpha)+yc;
В принципе, это несложно увидеть и воочию, если для начала нарисовать на клочке
бумажки поворот точки относительно (0,0) и проследить, какие там новые
координаты получатся - а потом усложнить картинку - перед поворотом перенести
точку на (-xc,-yc) - сдвинуть систему координат, совместив центр поворота с
(0,0), а после поворота, соответственно, сдвинуть обратно.
Hаверное - дай Бог, чтоб меня поправили, если я ошибся...
с почтеньем,
Rodion
---
* Origin: (2:5030/1286.6)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/39753ee6799f.html, оценка из 5, голосов 10
|