Как я понимаю, у вас есть две возможности.Либо B
находится на соседней стороне квадрата, например, как вы его нарисовали, либо он достигает противоположного конца квадрата.В первом случае у вас есть один угол между двумя точками, назовите это C
.Теперь поворот r
квадрата влияет на угол угла CAB как 45 - r
градусов, если r < 45
.Тогда вы можете сказать, что длина BC
может быть рассчитана с использованием BC = AC * tan(45 - r)
, если я правильно помню математику средней школы.
Если мы назовем длину каждой стороны квадрата X, должна быть точка ввращение квадрата, где B идеально совпадает с противоположным углом, поэтому BC = X
.Начиная с этого момента, вы не можете больше вычислять BC
как прямой, но вы можете вычислить, где он был бы , если бы был бы, если бы квадрат был бесконечно большим.Если вы вычислите это возможное значение BC'
, вы можете сказать, что оно слишком велико для квадрата с отношением BC' / X
.Но если мы проведем воображаемую линию, параллельную BC'
, на X / BC'
-ом пути между C
и A
, то точка, где эта линия пересекает противоположную сторону квадрата, является местоположением B
.
Наконец, для r = 45
линия параллельна квадрату, поэтому можно легко вычислить B
, а для r > 45
можно повторить зеркальное отображение всей этой процедуры.
Я надеюсь, что я не потерял вас в этих расчетах, я рекомендую вам взять лист бумаги и попытаться вытащить их