MathcotさんのHomePageです
 
 
3次元直線間の距離・2直線の共通垂線とねじれ角

著者:Mathcot.H

初版:2007.08.05

LastUpdate:2007.01:20

直線間の距離
 
2直線(平面交線)
(x-x1)/u1=(y-y1)/v1=(z-z1)/w1
(x-x2)/u2=(y-y2)/v2=(z-z2)/w2
ただし,∀kに対して
(u1,v1,w1)≠k(u2,v2,w2)
2直線(媒介変数)
(x,y,z)=(x1,y1,z1)+t(u1,v1,w1)
(x,y,z)=(x2,y2,z2)+t(u2,v2,w2)
ただし
(x1,y1,z1)≠(x2,y2,z2),
(u1,v1,w1)≠(u1,v1,w1)
 


 


2直線の共通垂線
 
2直線(平面交線)
(x-x1)/u1=(y-y1)/v1=(z-z1)/w1
(x-x2)/u2=(y-y2)/v2=(z-z2)/w2
ただし,∀kに対して
(u1,v1,w1)≠k(u2,v2,w2)
2直線(媒介変数)
(x,y,z)=(x1,y1,z1)+t(u1,v1,w1)
(x,y,z)=(x2,y2,z2)+t(u2,v2,w2)
ただし
(x1,y1,z1)≠(x2,y2,z2),
(u1,v1,w1)≠(u1,v1,w1)
2直線上の点で共通垂線の足P(xp,yp,zp), Q(xq,yq,zq)
(xp,yp,zp)=(x1,y1,z1)+t'*(u1',v1',w1')
 =(x1,y1,z1)+t*(u1,v1,1), t=w1*t'
(xq,yq,zq)=(x2,y2,z2)+s'*(u2',v2',w2')
 =(x2,y2,z2)+s*(u2,v2,1), s=w2*s'
共通垂線
(x,y,z)=(xp,yp,zp)+u(a1,a2,a3)
(xq,yq,zq)=(xp,yp,zp)+(a1,a2,a3)
垂線条件:内積=0より
a1u1+a2v1+a3w1=a1u2+a2v2+a3w2=0
連立方程式の解の式は非常に長いため次の数式処理ソフトのプログラムで
直ぐ解けます。
[Maple10]
solve([xp = x1+t*u1, yp = y1+t*v1, zp = z1+t,
xq = x2+s*u2, yq = y2+s*v2, zq = z2+s,
xq = xp+a1, yq = yp+a2, zq = zp+a3,
a1*u1+a2*v1+a3 = 0, a1*u2+a2*v2+a3 = 0],
{s, t, xp, yp, zp, xq, yq, zq, a1, a2, a3});
[演習]次の2直線の共通垂線と
垂線の距離を求めよ。
(x-1)/4=(y-2)/1=z/2
(x-4)/5=(y+3)/2=(z+5)/(-2)


[解答] 
x1=1,y1=2,z1=0,x2=4,y2=-3,z2=-5,u1=2,v1=1/2,,u2=-5/2,v2=-1
[Maple10]で解く。
> eval(solve([xp = x1 + t u1, yp = y1 + t v1, zp = z1 + t, xq = x2 + s u2,
   yq = y2 + s v2, zq = z2 + s, xq = xp + a1, yq = yp + a2, zq = zp + a3,
   a1 u1 + a2 v1 + a3 = 0, a1 u2 + a2 v2 + a3 = 0],
   {s, t, xp, yp, zp, zq, a1, a2, a3, xq, yq}), [x1 = 1, y1 = 2, z1 = 0,
   x2 = 4, y2 = -3, z2 = -5, u1 = 2, v1 = 1/2, u2 = -5/2, v2 = -1]);

{xp = -3, yp = 1, zp = -2, xq = -1, yq = -5, zq = -3, a1 = 2, a2 = -6, a3 = -1, s = 2, t = -2}

> eval(sqrt((xp - xq)^2  + (yp - yq)^2  + (zp - zq)^2),
  [xp = -3, yp = 1, zp = -2, xq = -1, yq = -5, zq = -3]);
                            √41
[Maple10]の計算結果から
共通垂線は
(x,y,z)=(xp,yp,zp)+t(a1,a2,a3)=(-3,1,-2)+t*(2,-6,-1) = (2t-7, 1-6t, -2-t)
または
(x+3)/2=(y-1)/(-6)=(z+2)/(-2)
また、共通垂線の長さ(直線間の最短距離)は
√41





2直線のなす捻れ角
 
2直線(平面交線)
(x-x1)/u1=(y-y1)/v1=(z-z1)/w1
(x-x2)/u2=(y-y2)/v2=(z-z2)/w2
2直線(媒介変数)
(x,y,z)=(x1,y1,z1)+t(u1,v1,w1)
(x,y,z)=(x2,y2,z2)+t(u2,v2,w2)
ただし
(x1,y1,z1)≠(x2,y2,z2),
(u1,v1,w1)≠(u1,v1,w1)
2直線の方向ベクトル
(u1,v1,w1),(u2,v2,w2)
ねじれ角θ
cosθ=(u1,v1,w1)・(u2,v2,w2)/[|(u1,v1,w1)|*|(u2,v2,w2)|]
 =(u1u2+v1v2+w1w2)/√{ (u1^2+v1^2+w1^2)(u2^2+v2^2+w2^2) } 


 







 





inserted by FC2 system