Повоpот в 3d

From
Eugene Goncharuk (2:5045/27.51)
To
Victor A. Pavlov
Date
2002-08-03T22:04:26Z
Area
RU.ALGORITHMS
Как поживаете, Victor ?

 Мои бортовые системы запеленговали, что в Пятница Август 02 2002 11:25, Victor A. Pavlov писал Victor A. Pavlov:

 VAP>> произвольлной прямой. Имеется более быстрый (и более простой)
 VAP>> метод поворота точки на произвольный угол вокруг произвольной
 VAP>> прямой в постранстве.

 VP>   Приношу извинения за опечатки. Правильный алгоритм выглядит так:

 VP> Начальные данные:                _
 VP>   Точка задается радиус-вектором p=(px,py,pz).
 VP>   Угол задается числом phi (в радианах).
 VP> _
 VP>   Прямая (ось) задается, двумя векторами: радиус-вектором точки на
 VP> прямой s =
 VP>             _              _ (sx,sy,sz) и вектором
 VP> направления n=(nx,ny,nz), |n|=1.
 VP>      _    _ _  _  _ _
 VP>   1. s := s+n*(n&(p-s));                      _ _
 VP> операция & - скалярное произведение векторов: a&b=ax*bx+ay*by+az*bz
 VP>      ___    _ _
 VP>   2. tmp := p-s;
 VP>      _     ___           ___ _           _
 VP>   3. p' := tmp*cos(phi)+(tmp^n)*sin(phi)+s;   _ _
 VP> операция ^ - векторное произведение векторов:
 VP> a^b=(ay*bz-az*by,az*bx-ax*bz, ax*by-ay*bx)
 VP>         _
 VP>   Точка p' - и есть результуриющая точка.

Это всё конечно весело. Но как наиболее красиво, быстро и грамотно реализовать поворот камеры в 3D аля Descent (игрушка такая есть) ?

                C уважением, Eugene Goncharuk.
--- УТВЕРЖДАЮ. MSG-редактор капитан 2.5 ранга Голд Дедович фор ДОС UNREG
 * Origin: Ну усе... Рэгламент! (2:5045/27.51)