判斷點和直線的位置關係

2021-10-24 12:41:53 字數 734 閱讀 5007

```csharp

///

/// 判斷點和直線的位置關係

///

/// 直線上的一點

/// 直線上的另一點

/// 需要判斷的點

///

private

intjudgepointtoline

(point3d linepnta, point3d linepntb, point3d pntm)

else

if(judge <0)

else

return nresult;

}

設線段端點為從 a(x1, y1)到 b(x2, y2), 線外一點 p(x0,y0),

判斷該點位於有向線 a→b 的那一側。

a = ( x2-x1, y2-y1)

b = (x0-x1, y0-y1)

a x b = | a | | b | sinφ (φ為兩向量的夾角)

| a | | b | ≠ 0 時, a x b 決定點 p的位置

所以 a x b 的 z 方向大小決定 p位置

(x2-x1)(y0-y1) – (y2-y1)(x0-x1) > 0 左側

(x2-x1)(y0-y1) – (y2-y1)(x0-x1) < 0 右側

(x2-x1)(y0-y1) – (y2-y1)(x0-x1) = 0 線段上

判斷點相對於直線的狀態 位置

程式如下 判斷點相對於直線的狀態 public int ptinline double dptx,double dpty,double dlinex1,double dliney1,double dlinex2,double dliney2 if dliney1 dliney2 if dlinex1...

判斷點和線的關係

這裡判斷點和線的關係要用到向量乘法 1.向量叉積 設向量p x1,y1 q x2,y2 則向量叉積定義為 p q x1 y2 x2 y1 得到的是乙個標量 顯然有性質 p q q p p q p q 如不加說明,下面所有的點都看作向量,點的乘法看作向量叉積 叉乘的重要性質 若 p q 0 則p 在q...

c 實現判斷點與圓的位置關係

question c 實現判斷點與圓的位置關係 1 點在圓上 2 點在圓內 3 點在圓外 c 實現 include using namespace std 判斷點和圓的位置關係 點類 class point int getx void sety int y int gety private int ...