Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Eugene Kilachkoff                    2:5020/400     11 Jun 2003  10:10:14
 To : Evgeny Goljakov
 Subject : Re: поворот мн-ва точек
 -------------------------------------------------------------------------------- 
 
 Evgeny Goljakov пишет:
 
 > Hеобходимо на плоскости повернуть мн-во точек, заданных X,Y
 > относительно одной Xc,Yc ?  (хоть на примере 1ой точки)
 > Трудно с изучением математики в торопях, а код писать надо.
 > Может есть 'изящные' методы без матриц?  Help!
 
 С матрицами удобнее.
 X`= [M] X, где X - начальная точка, X` - искомая, M - матрица преобразования.
 
 Берем, некоторую точку X(x,y,1) и вращаем относительно c(p,q,1).
 1. Перетаскиваем c в начало координат.
      [ 1 0 -p ]
 T = [ 0 1 -q ]
      [ 0 0  1 ]
 
 2. Вращаем
      [  c -s 0 ]
 R = [  s  c 0 ]
      [  0  0 1 ]
 
 3. Перетаскиваем начало координат в точку c
                  [ 1 0 p ]
 [T2] = [T]^-1 = [ 0 1 q ]
                  [ 0 0 1 ]
 
 4. Итого:
                     [  c -s   -cp+p+qs ]
 [M] = [T2][R][T] = [  s  c   -cq-ps+q ]
                     [  0  0      1     ]
 
 Обрати внимание, что я исходил из того, что вектор записывается в столбец, 
 отсюда обратный порядок матриц. Т.е. получаем:
 
 [ x` ]   [  c -s   -cp+p+qs ]   [ x ]
 [ y` ] = [  s  c   -cq-ps+q ] * [ y ]
 [ 1  ]   [  0  0      1     ]   [ 1 ]
 
 или
   x` = cx - sy - cp + p + qs
   y` = sx + cy - cq - ps + q
 
 Проще некуда.
 
 ps. Hарод, учите математику, она рулез.
 
 -- 
 Evil around every corner. Careful not to step in any !
 
 --- ifmail v.2.15dev5
  * Origin: IAC Samara-Internet, Ltd. (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 поворот мн-ва точек   Evgeny Goljakov   05 Jun 2003 03:48:31 
 поворот мн-ва точек   Mity Usanov   11 Jun 2003 00:00:14 
 поворот мн-ва точек   Rodion Gorkovenko   11 Jun 2003 00:20:00 
 Re: поворот мн-ва точек   Eugene Kilachkoff   11 Jun 2003 10:10:14 
 Re: поворот мн-ва точек   Eugene Kilachkoff   11 Jun 2003 11:03:47 
Архивное /ru.algorithms/1027778486939.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional