計算空間點到直線的距離

2021-07-22 21:24:58 字數 399 閱讀 1972

利用向量的叉積計算空間點到直線的距離,eigen庫已經給我封裝好了只需按著要求呼叫就好了。

舉個簡單的例子如下:已知空間直線的方向向量表示為(m,n,p),已知直線上一點座標為b(x0,y0,z0),求解空間點a(x,y,z)b到直線的距離d

需要構建兩個向量:

eigen::vector4d vec1(m,n,p,0) ;//方向向量

vec1.normalize() ;//單位化

eigen::vector4d vec2(x-x0,y-y0,z-z0, 0);// 空間點方向向量

double dst = vec1.cross3(vec2).squarednorm() ;

double d=sqrt(dst)

是不是很簡單!

空間中點到直線的距離

假設你在製作一款fps手遊,請基於如下 回答下列問題。回答程式 問題時,實現語言不限。struct vec vec vecadd const vec a,const vec b vec vecsub const vec a,const vec b float vecdot const vec a,c...

計算點到直線的距離 C 實現

如下圖所示,我們要計算的是c點到直線ab的距離。首先我們要認識到,雖然在數學上,點 與 向量 是兩種不同的名詞,但在實際的計算中是可以直接把 點 的座標視為從座標系 原點 到 點 的 向量 有了這個前提,線段ab其實可以簡單地表示為向量n,其他的向量同理可得。用向量解決這個問題的關鍵是求出v在n上的...

點到直線距離求解

點到線距離求解演算法 解法一 向量法求解 1.當不知道直線公式,僅知道幾個點時 問題 比如a 1,2 b 2,3 c 0,2 求點a到bc距 向量bc 2,1 我們給它找乙個垂直向量,稱為法向量n 1,2 注意,這裡只要垂直就可以了,比如 3,6 也行,對結果無妨,但不能 0,0 取向量ab 1,1...