unity是一款3d引擎,設計一款3d遊戲時,經常會涉及到3d的運算,比如兩點之間的距離,向量的一些操作等。
unity已經封裝好了一些常用函式在vector3和plane類中,如兩點之間的距離,向量之間的夾角,向量的投影計算等。
這裡說一下的是點到直線的距離,根據投影及勾股定理計算。
///
/// 點到直線距離
//////
點座標///
直線上乙個點的座標
///直線上另乙個點的座標
///public
static
float
dispoint2line(vector3 point,vector3 linepoint1,vector3 linepoint2)
下面提供了點到面的距離及面夾角的計算,不過是對一些函式呼叫的二次封裝,僅供參考
using unityengine;
//////
///public
class geometrytools
////// 點到平面的距離 自行推演函式
//////
//////
//////
public
static
float
dispoint2su***ce(vector3 point,vector3 su***cepoint1,vector3 su***cepoint2,vector3 su***cepoint3)
public
static
float
dispoint2su***ce(vector3 point, float factora,float factorb,float factorc,float factord)
////// 點到平面距離 呼叫u3d plane類處理
//////
//////
//////
public
static
float
dispoint2su***ce2(vector3 point, vector3 su***cepoint1, vector3 su***cepoint2, vector3 su***cepoint3)
public
static
float
dispoint2su***ce2(vector3 point, plane plane)
////// 平面夾角
//////
//////
//////
//////
public
static
float
su***ceangle(vector3 su***ce1point1, vector3 su***ce1point2, vector3 su***ce1point3, vector3 su***ce2point1, vector3 su***ce2point2, vector3 su***ce2point3)
public
static
float
su***ceangle(plane plane1,plane plane2)
}
警告:因為這些函式都涉及到大量的數**算,尤其是資料都還是float,效能開銷較大,盡量避免使用。 Unity立體幾何 點到直線距離計算
unity是一款3d引擎,設計一款3d遊戲時,經常會涉及到3d的運算,比如兩點之間的距離,向量的一些操作等。unity已經封裝好了一些常用函式在vector3和plane類中,如兩點之間的距離,向量之間的夾角,向量的投影計算等。這裡說一下的是點到直線的距離,根據投影及勾股定理計算。點到直線距離 點座...
計算幾何 點到直線的距離 投影點
彙總篇 計算幾何彙總 求ad有很多種方法,可以用勾股定理 這裡用的三角函式 x acos cos x ad ba sin x 如果x是鈍角,ad ba sin pi x ba sin x 如果是直角,sin x 1,ad ba 設d dx,dy ad dx ax,dy ay bc c.x b.x,c...
點到直線距離求解
點到線距離求解演算法 解法一 向量法求解 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...