Я хочу построить трехмерные точки в реальном времени, которые лежат на поверхности единичной сферы (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 таким образом, чтобы она проецировалась обратно на поверхность сферы юнита?
Нахождение координат точки между двумя точками?