Задачка по созданию программы управления вращением шара.
Имеется шар радиусом R и координатами центра
,
,
. Область видимости представляет собой пирамиду. В каждом сечении пирамиды прямоугольник с соотношением сторон равным соотношению ширины и высоты экрана. Система координат расположена в вершине пирамиды: ось
вправо, ось
вверх, ось
на нас. Имеются относительные координаты курсора
и
, абсолютную координату из относительных можно получить умножив на
, где
- это расстояние от вершины пирамиды до рассматриваемого сечения. Нужно обеспечить управление положением шара таким образом чтобы курсор находясь над шаром заставлял точку на шаре следовать за ним, а вне шара заставлять вращаться вокруг оси направленной на наблюдателя. математически из координат курсора нужно получить вектор координаты начала которого совпадают с центром шара
,
,
, а координаты конца либо лежат на поверхности шара либо на поверхности конуса проходящего через крайние точки видимого диска шара.
первую часть решил:
где
- искомая координата вектора (относительно центра шара),
оставшиеся координаты вычисляются относительно
:
Помогите разобраться со второй частью задачи: в каком виде удобнее записать уравнение для вектора на чем построить логику расчёта координат?