三维空间碰撞问题;空间中两直线的最短距离及最近点
生活随笔
收集整理的這篇文章主要介紹了
三维空间碰撞问题;空间中两直线的最短距离及最近点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
已知空間中兩線段,如果它們無限變粗,判斷是否相交。(主要討論不在同一平面的情況)
線段AB?線段CD
問題的關鍵是求出這兩條任意直線之間的最短距離,以及在這個距離上的兩線最接近點坐標,判斷該點是否在線段AB和線段CD上。
首先將直線方程化為對稱式,得到其方向向量n1=(a1,b1,c1),n2=(a2,b2,c2).
再將兩向量叉乘得到其公垂向量N=(x,y,z),在兩直線上分別選取點A,B(任意),得到向量AB,
求向量AB在向量N方向的投影即為兩異面直線間的距離了(就是最短距離啦)。
最短距離的求法:d=|向量N*向量AB|/|向量N|(上面是兩向量的數量積,下面是取模)。
設交點為C,D,帶入公垂線N的對稱式中,又因為C,D兩點分別滿足一開始的直線方程,所以得到關于C(或D)的兩個連等方程,分別解出來就好了!
沒有理解的簡單方法:
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的三维空间碰撞问题;空间中两直线的最短距离及最近点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看Mat对象的数据的三种方法
- 下一篇: OpenCV学习--saturate_c