• 締切済み

2つの面接触について

3点(P1, P2, P3)によって閉ざされた面(トライアングルの形) plane1 P1(x1, y1, z1), P2(x2, y2, z2), P3(x3, y3, z3) 3点(P4, P5, P6)から閉ざされた面(トライアングルの形) plane2 P4(x4, y4, z4), P5(x5, y5, z5), P6(x6, y6, z6) 2つの面は無限遠に広がりを持つものでないです。 なので平行でなくても必ずどこかで交わっているわけではありません。 (P1~P6の座標は既知です。 またplane1とplane2はほぼ平行ですが平行ではありません。 添付した図の座標値は適当になってます。) plane1とplane2は接していないのですが、plane1をY方向にいくつずらしたときに この2面が接する(点接触する)のか求めたいです。 まずは3点から面の方程式を求めるのでしょうが、そこからつまずいています。 (大きさのある面ってどうすんだろ・・・) 恐縮ですがやさしくご教授ください。

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

3点(P1,P2,P3)を通る平面の方程式はベクトルで考えたほうが分かりやすいでしょう。 平面の法線ベクトルをQとすると、平面上の任意の点Pに対し、 Q・(P-P1)=0 (・は内積) が成り立ちます。 つまり、P=(x,y,z)、Q=(u,v,w)とすれば、 u(x-x1)+v(y-y1)+w(z-z1)=0 平面の法線ベクトルは外積を使って求められます。 Q=(P2-P1)×(P3-P1) (×は外積) つまり、 u=(x2-x1)(y3-y1)-(x3-x1)(y2-y1) v=(y2-y1)(z3-z1)-(y3-y1)(z2-z1) w=(z2-z1)(x3-x1)-(z3-z1)(x2-x1) plane1をずらしたとき、2面が接するには次の3通りのパターンがあります。 (1) plane1の頂点がplane2に接する (2) plane2の頂点がplane1に接する (3) plane1の辺とplane2の辺が接する それぞれの距離を求めて、最小のものを見つければいいでしょう。