#алгоритм #геометрия #векторы
Даны 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 к этой длине.
Комментариев нет:
Отправить комментарий