Advertisement
Guest User

Untitled

a guest
Apr 27th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.02 KB | None | 0 0
  1. /// <summary>
  2.         /// Пересчитывает координаты точки в новой системе координат
  3.         /// Сначала применяется смещение, затем - поворот
  4.         /// </summary>
  5.         /// <param name="point">точка в исходной системе координат</param>
  6.         /// <param name="align">Поворот и смещение по осям новой системы координат относительно текущей</param>
  7.         /// <returns>Точка в новой система координат</returns>
  8.         public static CartesianPoint RecalculateTransRot(CartesianPoint point, AlignParameters align)
  9.         {
  10.             CartesianPoint p = new CartesianPoint(point);
  11.             p.X += align.X;
  12.             p.Y += align.Y;
  13.             p.X = Math.Cos(align.Angle) * p.X - Math.Sin(align.Angle) * p.Y;
  14.             p.Y = Math.Sin(align.Angle) * p.X + Math.Cos(align.Angle) * p.Y;
  15.             return p;
  16.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement