多邊形相交面積計算模版

2021-07-22 10:03:12 字數 1030 閱讀 1842

/*

型別:多邊形相交面積模板

*/#include#include#include#include#includeusing namespace std;

#define maxn 510

const double eps=1e-8;

int sig(double d)

struct point

point(double x,double y):x(x),y(y){}

bool operator==(const point&p)const

};double cross(point o,point a,point b)

double area(point* ps,int n)

n=0;

for(int i=0;i1&&p[n-1]==p[0])n--;

}//---------------華麗的分隔線-----------------//

//返回三角形oab和三角形ocd的有向交面積,o是原點//

double intersectarea(point a,point b,point c,point d);

int n=3;

polygon_cut(p,n,o,c);

polygon_cut(p,n,c,d);

polygon_cut(p,n,d,o);

double res=fabs(area(p,n));

if(s1*s2==-1) res=-res;return res;

}//求兩多邊形的交面積

double intersectarea(point*ps1,int n1,point*ps2,int n2)

}return res;//assumeresispositive!

}//hdu-3060求兩個任意簡單多邊形的並面積

point ps1[maxn],ps2[maxn];

int n1,n2;

int main()

return 0;

}

公布計算任意多邊形相交部分的面積的方法

最近開發過程中遇到了這個問題,費了好大的勁才搞定,貼出來跟大家分享 假設lpvertex1裡存放著多邊形1的頂點,nvertexcount1為多邊形1的頂點數 lpvertex2裡存放著多邊形2的頂點,nvertexcount2為多邊形2的頂點數 建立多邊形區域1 crgn poly1 poly1....

不規則多邊形相交切割邏輯

之前基本上遇到的多邊形切割問題都是凸多邊形問題,而針對凹多邊形的切割問題卻很少。偶然發現乙個做得特別棒的滑動切割的遊戲,遊戲中主要是使用多邊形切割以及多邊形碰撞演算法。針對多邊形切割的實現做了一下研究,現在把實現跟大家分享一下。給定任意乙個多邊形以及一條線段,如果多邊形被線段切割,計算切割後產生的多...

空間中任意多邊形相交演算法

public static string mypf function 不相交條件 if a 0 a 1 0 a 0 a 2 0 a 0 a 3 0 共面 if math.abs a 0 0.00000000000001 math.abs a 1 0.00000000000001 math.abs a...