LINUX.ORG.RU

Геометрическая задачка


0

1

Есть у меня n-мерное пространство (обычно n~50). Есть в нём три точки: O, A, B. Есть вектора OA и OB - оба нормированные, длины 1.

Есть угол fi<180 между векторами (находится из косинусной меры). То бишь, OB получается из OA поворотом его на угол fi в плоскости OAB.

А вот есть у меня угол psi < fi. Как бы мне получить вектор OC, сиречь OA, повёрнутый на psi в плоскости OAB?


Амиго ты форумом не ошибся? -))))

MikeDM ★★★★★
()

Первое уравнение описывает множество векторов, которые под углом psi к ОА, Второе - плоскость ОАВ. Решаешь систему уравнений и.... voila!

nanoolinux ★★★★
()

Поскольку OC лежит в плоскости OAB, его можно представить в виде линейной комбинации OA и OB: OC = a*OA + b*OB.

По условию (OA,OC)=cos(psi), (OA,OB)=cos(phi).

С другой стороны: (OA,OC)=(OA,a*OA+b*OB)=a+b*cos(phi)=cos(psi).

Из условия нормировки вектора OC: (OC,OC)=1=a^2+b^2+2ab*cos(phi).

Решая совместно эти два уравнения получаем a и b.

Kadi
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.