Вычисление противоположного вектора X / Y - PullRequest
0 голосов
/ 22 июня 2019

image

Зная вектор «A» X, Y и его вращение, я бы хотел вычислить «B» X, Y, предполагая, что B - это противоположная точка в ромбе после прямой линии. Координаты «A» могут быть в любом месте по краю ромба, а на изображении A обращено на север, поэтому предположим, что его вращение равно 0.

1 Ответ

0 голосов
/ 22 июня 2019

Как я понимаю, у вас есть две возможности.Либо 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 можно повторить зеркальное отображение всей этой процедуры.

Я надеюсь, что я не потерял вас в этих расчетах, я рекомендую вам взять лист бумаги и попытаться вытащить их

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...