/*
型別:多邊形相交面積模板
*/#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...