• ベストアンサー

三次元座標の平面に対する反転

ある点を平面に対して反転させる方法を教えて下さい。 エクセルで計算したいので、 その計算式を教えていただけるとありがたいです。 平面上の任意の3点の座標と、 反転させたい点の座標が分かっているとします。 知りたいのは、反転させた点の座標です。 法線ベクトルを使えばいいのだと思いますが、 その先でつまづいています。

質問者が選んだベストアンサー

  • ベストアンサー
  • alice_44
  • ベストアンサー率44% (2109/4759)
回答No.2

A1:A3 B1:B3 C1:C3 に平面上の三点の座標、 D1:D3 に注目している点の座標 をいれておきます。 E1 =B1-A1 E2 =B2-A2 E3 =B3-A3 F1 =C1-A1 F2 =C2-A2 F3 =C3-A3 G1 =E2*F3-F2*E3 G2 =E3*F1-F3*E1 G3 =E1*F2-F1*E2 G4 =sqrt(G1*G1+G2*G2+G3*G3) H1 =G1/G4 H2 =G2/G4 H3 =G3/G4 で、H1:H3 に平面の単位放線ベクトルが入ります。 J1 =D1-A1 J2 =D2-A2 J3 =D3-A3 J4 =J1*H1+J2*H2+J3*H3 K1 =D1-2*J4*H1 K2 =D2-2*J4*H2 K3 =D3-2*J4*H3 で、K1:K3 に対称点が求まります。

pk67_2008
質問者

補足

とても分かりやすかったです。 数学の先生でいらっしゃいますか? 本当に助かりました。 ありがとうございました。

その他の回答 (1)

noname#29493
noname#29493
回答No.1

平面上のある1点を(a1,b1,c1) 反転させたい点の座標を(a2,b2,c2)とすると {(x^2-a2^2)+(y^2-b2^2)+(z^2-c2^2)}/2-a1(x-a2)-b1(y-b2)-c1(z-c2)=0 かつ 点((x+a1)/2,(y+b1)/2,(z+ca)/2)がその平面の方程式を満たす ような(x,y,z)が反転させた点の座標です。

pk67_2008
質問者

お礼

ありがとうございました。 とても参考になりました。

関連するQ&A

専門家に質問してみよう