1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
int (int o[2],int p1[2],int p2[2]) { int u[]={p1[0]-o[0],p1[1]-o[1]}; int v[]={p2[0]-o[0],p2[1]-o[1]}; return u[0]*v[1]-u[1]*v[0]; }
bool sameSide(int ls[2],int le[2],int p1[2],int p2[2]) { int cP[2]; cP[0]=crossPro(ls,le,p1); cP[1]=crossPro(ls,le,p2); return cP[0]*cP[1]>0; }
bool inner(int triangle[3][2],int p[2]) { bool sS[3]; sS[0]=sameSide(triangle[0],triangle[1],triangle[2],p); sS[1]=sameSide(triangle[0],triangle[2],triangle[1],p); sS[2]=sameSide(triangle[1],triangle[2],triangle[0],p); return sS[0]&&sS[1]&&sS[2]; }
|
近期评论