Я хочу построить трехмерные точки в реальном времени, которые лежат на поверхности единичной сферы (r = 1).
Здесь работают два вектора вращения. Один вектор вращается вокруг оси Y, его значения X и Z вычисляются с использованием cos () и sin () круга, который полностью лежит в плоскости X / Z, причем все значения Y равны 0. Другой вращается вокруг Ось X, это значения Z и Y, вычисленные с использованием cos () и sin () круга, который полностью лежит в плоскости Z / Y со всеми значениями X, равными 0. Момент импульса двух векторов обычно не является такой же. Однако концы векторов лежат на поверхности общей сферы с радиусом, равным 1. Следовательно, они имеют равную величину и оба исходят из одной и той же точки 0, 0, 0.
Скажем, у первого вектора есть член углового момента, называемый angXZ, а у второго - angZY. Это означает, что в любой момент я могу вычислить две точки, по одной для каждого вектора вращения, используя angXY и angZY. С этими двумя трехмерными точками, какова формула для расчета третьей точки, которая также будет лежать на поверхности единичной сферы и будет правильной интерполяцией между двумя точками, рассчитанными по angXZ и angZY?
Я могу видеть в своей голове, что для любых двух трехмерных точек, лежащих на поверхности единичной сферы, существует один-единственный круг (плоскость), на окружности которого они оба лежат. Я также интуитивно понимаю, что вычисление координат интерполированной точки сводится к делению пополам угла, который создается двумя вычисленными точками при проецировании на круг, окружность которого они оба разделяют. Но я просто не могу осмыслить переводы и математику.
Есть ли простая формула, которая берет две трехмерные точки, лежащие на поверхности единичной сферы, для вычисления третьей точки, которая также будет лежать на этой поверхности и будет правильной интерполяцией между первыми двумя точками?
Если это важно, я использую Delphi Pro 6.
ПОСЛЕДУЮЩИЕ ДЕЙСТВИЯ: интуитивно кажется, что я смогу взять линейную среднюю точку двух точек, вычисленных из пары векторов вращения, и спроецировать эту точку обратно на единичную сферу. Например, формула по приведенной ниже ссылке дает уравнения для расчета средней точки между любыми двумя трехмерными точками. Разве я не могу взять эту трехмерную точку и, используя некоторую формулу, настроить ее координаты XYZ таким образом, чтобы проецировать ее обратно на поверхность единичной сферы?