當前位置:編程學習大全網 - 編程軟體 - 編程繪制多邊形的意義

編程繪制多邊形的意義

程序代碼如下(直接應用函數pnpoly):

int pnpoly(int nvert,float *vertx,float *verty,float testx,float testy)

{

int i,j,c = 0;

for (i = 0,j = nvert-1;我& ltnvertj = i++) {

if(((verty[I]& gt;暴躁)!=(verty[j]& gt;暴躁))& amp& amp

(testx & lt(vertx[j]-vertx[I])*(testy-verty[I])/(verty[j]-verty[I])+vertx[I]))

c =!c;

}

返回c;

}

參數描述:

Nvert:多邊形的頂點數。

Vertx,verty:分別是頂點x坐標和y坐標的數組。

Testx,testy:被測點的X和Y坐標。

擴展數據:

判斷壹個點是否在多邊形內部最簡單的方法就是使用射線法,因為它可以適用於所有類型的多邊形,不考慮特殊情況,而且速度更快。

算法的思想很簡單:在多邊形外的任意壹點畫壹條虛擬射線到p(x,y)上,然後計算射線與多邊形上的邊相交的次數。如果數字是偶數,則表示p(x,y)在多邊形外,如果是奇數,則在多邊形內。

  • 上一篇:火星派機器人與樂高機器人相比有哪些優點
  • 下一篇:UG8.5怎麽在圓柱曲面畫線啊
  • copyright 2024編程學習大全網