求任意一點是否在三角形內部

2021-07-29 05:02:38 字數 751 閱讀 5011

//description: 求任意一點是否在三角形內部 

#include

#include

struct point;

double getarea(point a, point b, point c) 其中p=(a+b+c)/2,abc為三角形三邊長.

return

0; }

int main() ,,}; // 三角形的三個頂點

double tan1 = (a[2].y-a[1].y)/(a[2].x-a[1].x);

double tan2 = (a[3].y-a[2].y)/(a[3].x-a[2].x);

if(tan1 - tan2 < 0.000001)

point b = ; // b點 是要判斷的點

double s = getarea(a[1],a[2],a[3]); // s 三角形的面積

double s1 = getarea(a[1],a[2],b); // s1,s2,s3 任意兩個頂點與b點組成的面積

double s2 = getarea(a[1],b,a[3]);

double s3 = getarea(b,a[2],a[3]);

if(s - s1 - s2 - s3 <=0.000001)

else

return

0;}

判斷一點是否在三角形內

一點 d 是否在三角形 abc 內,相對於ab邊來說,d點在三角形內一定要和c點在 ab 邊同側,對於a,b 點也用相同的方法去判斷d點是否於其在相應邊的同側,這種方法還可以用來判斷多點是不是可以構成乙個凸多邊形。下邊以 ab 為邊例,驗證 c,d兩點是否在ab邊同側,ab 的在二維座標中的線性方程...

判斷乙個點是否在三角形內部

題目 在二維座標系中,所有的值都是double型,那麼乙個三角形可以由三個點來代表,給定三個點代表的三角形,再給定乙個點 x,y 判斷 x,y 是否在三角形中 基本思路 如果乙個點o在三角形的內部,那麼從三角形的乙個點出發,逆時針走過所有邊的過程中,點o始終在走過邊的左邊。如果點o在外側,則不滿足這...

判斷乙個點是否在三角形內部

判斷乙個點是否在三角形內部 在二維座標系中,所有的值都是double型別,那麼乙個三角形可以由3個點來代表,給定3個點代表的三角形,再給定乙個點 x,y 判斷 x,y 是否在三角形中 輸入描述 輸入有四行,每行兩個浮點數。前三行的6個數分別代表三角形的三個頂點的座標 最後兩個數分別表示 x,y 輸出...