単位球 (r = 1) の表面にある 3D ポイントをリアルタイムでプロットしたいと考えています。
ここでは 2 つのスピン ベクトルが働いています。1 つのベクトルは Y 軸を中心に回転します。その X と Z の値は、すべての Y 値が 0 に等しい X/Z 平面上に完全にある円の cos() と sin() を使用して計算されます。 X 軸。すべての X 値が 0 に等しい、Z/Y 平面上に完全にある円の cos() と sin() を使用して計算された Z と Y の値です。通常、2 つのベクトルの角運動量は同じ。ただし、ベクトルの端点は、半径が 1 に等しい共通の球の表面に沿っています。したがって、それらは同じ大きさであり、両方とも同じ 0, 0, 0 ポイントから発生します。
最初のベクトルに angXZ と呼ばれる角運動量項があり、2 番目のベクトルに angZY があるとします。つまり、いつでも angXY と angZY を使用して、スピン ベクトルごとに 1 つずつ、2 つのポイントを計算できます。これらの 2 つの 3D ポイントを使用して、同じく単位球の表面上にあり、angXZ と angZY から計算された 2 つのポイント間の正しい補間となる 3 番目のポイントを計算する式は何ですか?
単位球の表面にある任意の 2 つの 3D 点が与えられた場合、それらが両方とも円周上にある唯一の円 (平面) が存在することが頭の中でわかります。また、補間された点の座標を計算することは、計算された 2 つの点が円周を共有する円に投影されたときに、それらによって作成される角度を二等分することに帰着することも直感できます。しかし、翻訳と数学に頭を悩ませることはできません。
単位球の表面上にある 2 つの 3D 点を取り、その表面上にあり、最初の 2 点間の正しい補間となる 3 番目の点を計算する簡単な式はありますか?
問題がある場合は、Delphi Pro 6 を使用しています。
フォローアップ: スピン ベクトルのペアから計算された 2 つの点の線形中点を取得し、その点を単位球に投影することができるはずだと直感的に思われます。たとえば、以下のリンクにある式は、任意の 2 つの 3D 点の間の中点を計算する式を示しています。次に、その 3D ポイントを取得し、いくつかの式を使用して、単位球の表面に投影するように XYZ 座標を調整できませんか?