Как вычислить положение точки на границе повернутого прямоугольника, если известно положение на границе исходного прямоугольника?
===================================================================================================================================

 Я знаю, эта задачка для **седьмого** класса, но что-то не могу корректно решить.   

  

У меня есть точка за пределами прямоугольника. Точка проецируется на границу прямоугольника под прямым углом. Прямоугольник можно вращать вокруг своего центра на любой угол (также точка может перемещаться вокруг прямоугольника).  

  

Для примера я взял 3 варианта прямоугольника α = 0 ° (красный), α = 45 ° (синий) и α = 18 ° (зеленый). Также есть высота h, ширина w прямоугольника и X, Y (центр прямоугольника).  

  

Я могу вычислить X1Y1 с помощью простой математики. Но вычислить X2Y2 или X3Y3 - уже более сложная задача. Итак, как я могу рассчитать X2Y2 и X3Y3?  

![kUKSD.png](https://habrastorage.org/extt/60/c6/b8/60c6b84e1e1e3378116059.png) 

 Можно решить эквивалентную задачу, когда поворачивается не прямоугольник, а точка (вокруг центра прямоугольника на тот же угол, но в обратном направлении). Потом пересчитать координаты, сдвигая начало координат в центр прямоугольника и используя матрицу поворота [https://ru.wikipedia.org/wiki/Матрица\_поворота](https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D0%B0_%D0%BF%D0%BE%D0%B2%D0%BE%D1%80%D0%BE%D1%82%D0%B0)  

![60c69ec32237a568942850.png](https://habrastorage.org/webt/60/c6/9e/60c69ec32237a568942850.png)