■ 2球面と回転楕円体の交点を求める  [3D対応] (JavaScript版)

 2球面:
  中心 P1(x1, y1, z1) 半径 r1 の球面1
  中心 P2(x2, y2, z2) 半径 r2 の球面2
の中心P1、P2からの距離の和が等しい点の集合は回転楕円体です。

 これら2球面と回転楕円体の交点について検討します。

 2球面の交線は円であり、上記回転楕円体がこれと交わる(接する)のは図の赤線の状態です。
 

 ここでは、これに関する計算式を示すとともに、確認のための簡単なアプリを作成しました。

 ・2球面の中心座標(xc, yc, zc)、半径 r を入力します。
 ・2点からの距離の和 を指定します(最小、最大、分割数)。
 ・「計算」ボタンをクリックすると、計算結果(交点)を表示します。


球No.xcyczc半径 r
1:
2:

2点からの距離の和(計算範囲)  最小:  最大:  分割数:
   角度刻み:  2球の交線表示   回転楕円体のワイヤフレーム細分表示(3D時)

●画面操作方法
・画面左上の3x3のメニュー(L,R,U,D,O,XY,XZ,YZ,2D)で左右、上下、初期状態復帰、平面図指示。
・視点角度変更時の刻みは変更可能。
・マウスホイールで表示図形の拡大縮小が可能。
・ドラッグ&ドロップで図形の平行移動が可能。
・2D表示画面上を右クリックすると、その点を通る回転楕円体を表示。
●2球面と回転楕円体の交線の求め方
 球面1の中心を原点(0, 0, 0)とし、球面2の中心はX軸上の(x2, 0, 0)にあるものとします。
 回転楕円体の式:
  ( x - e )2/a2 + ( y2 + z2 )/b2 = 1
 ここで、
  e = x2/2
  a = L/2  ( L は中心P1、P2からの距離の和)
  b = ( a2 - e2 )1/2

 2球面の交線である円に対して、回転楕円体が交わる(接する)のは、
  L = r1 + r2
  のときです。

 2球面の交線のX座標f、半径rはつぎのとおり。
  f = ( x22 + r12 - r22 )/( 2・x2)
  r = ( r12 - r2 )1/2

 球面1,2が任意の位置にある場合は、上記状態に座標変換して計算後、元の座標系に戻します。
2球面と回転楕円体の交点を求める(2D/JavaScript版)

ホーム