91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .c
    金幣: 1
    下載: 1 次
    發(fā)布日期: 2021-06-28
  • 語言: C/C++
  • 標(biāo)簽: 空間分析??C語言??

資源簡介

點是否在多邊形內(nèi)判斷的C語言代碼,有2維及3維兩種情況的判斷, 請注意:如果你決定使用其中某個函數(shù),請將它拷出來,每個函數(shù)都能用,對應(yīng)于不同的算法,請看說明,最后一個函數(shù)為三維情況。

資源截圖

代碼片段和文件信息

#define?MIN(xy)?(x?#define?MAX(xy)?(x?>?y???x?:?y)
//The?following?C?function?returns?INSIDE?or?OUTSIDE?indicating?the?status?of?a?point?P?with?respect?to?a?polygon?with?N?points.

#define?INSIDE?0
#define?OUTSIDE?1

typedef?struct?{
???double?xy;
}?Point;

int?InsidePolygon(Point?*polygonint?NPoint?p)
{
??int?counter?=?0;
??int?i;
??double?xinters;
??Point?p1p2;

??p1?=?polygon[0];
??for?(i=1;i<=N;i++)?{
????p2?=?polygon[i?%?N];
????if?(p.y?>?MIN(p1.yp2.y))?{
??????if?(p.y?<=?MAX(p1.yp2.y))?{
????????if?(p.x?<=?MAX(p1.xp2.x))?{
??????????if?(p1.y?!=?p2.y)?{
????????????xinters?=?(p.y-p1.y)*(p2.x-p1.x)/(p2.y-p1.y)+p1.x;
????????????if?(p1.x?==?p2.x?||?p.x?<=?xinters)
??????????????counter++;
??????????}
????????}
??????}
????}
????p1?=?p2;
??}

??if?(counter?%?2?==?0)
????return(OUTSIDE);
??else
????return(INSIDE);
}


//The?following?code?is?by?Randolph?Franklin?it?returns?1?for?interior?points?and?0?for?exterior?points.

int?pnpoly(int?npol?float?*xp?float?*yp?float?x?float?y)
????{
??????int?i?j?c?=?0;
??????for?(i?=?0?j?=?npol-1;?i?????????if?((((yp[i]?<=?y)?&&?(y??????????????((yp[j]?<=?y)?&&?(y?????????????(x???????????c?=?!c;
??????}
??????return?c;
????}


//The?inside/outside?test?might?then?be?defined?in?C?as?
typedef?struct?{
???int?hv;
}?Point;

int?InsidePolygon(Point?*polygonint?nPoint?p)
{
???int?i;
???double?angle=0;
???Point?p1p2;

???for?(i=0;i??????p1.h?=?polygon[i].h?-?p.h;
??????p1.v?=?polygon[i].v?-?p.v;
??????p2.h?=?polygon[(i+1)%n].h?-?p.h;
??????p2.v?=?polygon[(i+1)%n].v?-?p.v;
??????angle?+=?Angle2D(p1.hp1.vp2.hp2.v);
???}

???if?(AB

評論

共有 條評論