#алгоритм #геометрия #векторы
Даны 2 вектора а и b, исходящие из точки А, необходимо найти координаты точки В.
Расстояние АВ вычисляю, АВ делит угол, образованный векторами пополам. Предполагаю
перемещать координаты т.А для поиска В:
В = (Ах + АВ * Соs Alpha; Аy + АВ * Sin Alpha)
Затем строю вектор от А по Ох:
e = {100; 0}
Нахожу углы между а,е и b,e:
cos Betta = a * e / |a| * |e| ; cos Gamma = a * e / |a| * |e|
И вот теперь для поиска Alpha, возможны два условия:
Alpha = (Betta - Gamma) / 2
Либо
Alpha = (Betta - Gamma) / 2 + min(Betta, Gamma)
Скажите, верны ли мои суждения? И какое условие должно быть для поиска Alpha?
Ответы
Ответ 1
точки, лежащей на биссектрисе угла Вы знаете сколько там точек, на биссектрисе? Миллионы! Все гораздо проще. Приведите вектора а и b к единичной (или любой одинаковой) длине и сложите (векторно, конечно). Добавьте координаты их суммы к координатам точки А - это будет точка B. А AB - это диагональ ромба, построенного на приведенных векторах равной длины. Если в условии есть требование к длине |AB|, приведите получившийся вектор AB к этой длине.
Комментариев нет:
Отправить комментарий