日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > C# >内容正文

C#

c#竖直射线法判断点是否再多边形里面

發(fā)布時(shí)間:2025/4/16 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c#竖直射线法判断点是否再多边形里面 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、開(kāi)發(fā)環(huán)境:

? ? ? ? ? VS2017? ?C#winform

二、豎直射線法大致介紹

? ? ? ? ? 通過(guò)被判斷的點(diǎn)P(x0,y0)引出豎直的上下兩條射線,如果兩條射線與多變形的交點(diǎn)都為奇數(shù)個(gè),那么這個(gè)點(diǎn)再多邊形里面,反之,這個(gè)點(diǎn)在多邊形外面,反之,則在多邊形里面(前提:針對(duì)凸多邊形,但是如果在端點(diǎn)處細(xì)討論,那么同樣可以適用于凹多邊形,這里只介紹凸多邊形)

三、如何判斷豎直向下的射線是否與某一條邊會(huì)有交點(diǎn)。

? ? ? ?1、先介紹一些點(diǎn)和直線的關(guān)系? ? ?

? ?? ? ?1)對(duì)于p(x0,y0)判斷它在直線L:ax+by+c=0(a必須大于0)的上側(cè)還是下側(cè),我們知道如果

? ? ? ? ax0+by0+c>0(a>0),點(diǎn)p在直線L的下側(cè);

? ? ? ? ax0+by0+c=0? (a>0),點(diǎn)p在直線L上

? ? ? ? ax0+by0+c<0? (a>0),點(diǎn)p在直線L上側(cè)。

? ? ?如下圖:

? ? ? ?2)對(duì)于P(x0,y0),一條過(guò)P1(x1,y1),P2(x2,y2)的直線:(y2-y1)(x-x1)+(x2-x1)(y1-y)=0? ?(y2>y1)

? ? ? 那么只用判斷: f=(y2-y1)*(x0-x1)+(x2-x1)*(y1-y0)

? ? ?if :? f>0 則說(shuō)明點(diǎn)在直線的下側(cè),

? ? ? ? ? ?f=0 則說(shuō)明點(diǎn)在直線上

? ? ? ? ? ?f<0 則說(shuō)明點(diǎn)在直線上側(cè)

? ? ?2、開(kāi)始介紹算法(這里是豎直向下的射線)

? ? ?先介紹符號(hào):P(x0,y0)是需要判斷的點(diǎn),多變形的頂點(diǎn)序列Points[n],其中Points[n]=Points[0],交點(diǎn)個(gè)數(shù)countDown=0

? ? 1)對(duì)于每一條邊(Points[i],Points[i+1])進(jìn)行遍歷:p1(x1,y1)為邊上的兩個(gè)點(diǎn)Y坐標(biāo)大的那個(gè)點(diǎn),p2(x2,y2)為邊上兩個(gè)點(diǎn)Y坐標(biāo)小的那個(gè)點(diǎn)。xMin為兩個(gè)點(diǎn)較小的x坐標(biāo),xMax為兩個(gè)點(diǎn)較大的x坐標(biāo)

? ?2)如果x0不在范圍(xMin,xMax)中,說(shuō)明射線一定沒(méi)有交點(diǎn),i=i+1,跳到下一條邊進(jìn)行判斷。否則跳到第3)步

? ?3)f=(y2-y1)*(x0-x1)+(x2-x1)*(y1-y0)??

? ? ? ? ? ?if (f>0&&x0!=Points[i].X)? ? countDown+=1,i+=1,跳到第1)步(x0!=Points[i].X是為了每一個(gè)頂點(diǎn)只被訪問(wèn)一次)

? ? ? ? ? if(f==0&&x0!=Points[i].X)? ? ?說(shuō)明點(diǎn)在邊上,退出

? ? ? ? ? if(f<0)? i+=1;? 跳到第1)步

4)所有邊都被遍歷完,countDown為偶數(shù),說(shuō)明點(diǎn)在多邊形外,為奇數(shù),計(jì)算向上的射線的交點(diǎn)。這里就不介紹向上的射線的交點(diǎn)求法了。

?

等幾天貼代碼

? ? ?

? ? ? ?

?

?

?

?

?

?

總結(jié)

以上是生活随笔為你收集整理的c#竖直射线法判断点是否再多边形里面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 婷婷深爱网 | 国产成人精品一区二三区四区五区 | 国产欧美精品一区 | 无码aⅴ精品一区二区三区浪潮 | 福利影院在线 | 丰满少妇熟乱xxxxx视频 | 国产高清免费观看 | 在线日韩成人 | 色婷婷精品视频 | 超碰综合网 | 黄色网址你懂的 | 亚洲人成电影网 | 91在线导航| 91资源在线视频 | av作品在线观看 | 女生裸体无遮挡 | 泽村玲子在线 | 婷婷激情四射 | 国产精品国产三级国产三级人妇 | 亚洲人成网站999久久久综合 | 黄色裸体视频 | 男女激情在线观看 | 欧美福利专区 | 91麻豆精品国产91久久久久久久久 | 会喷水的亲姐姐 | 三度诱惑免费版电影在线观看 | 91丨九色丨丰满 | 在线你懂| 国产在线123 | 好吊色在线视频 | 怡红院av久久久久久久 | caoporn超碰97| 欧美.com| 噜噜噜噜私人影院 | 伊人av综合 | 制服丝袜快播 | 日韩尤物 | 九九热视频精品在线观看 | 亚洲午夜伦理 | 国产综合视频一区 | 小sao货水好多真紧h无码视频 | 九九九九九热 | 午夜伦视频| 超碰夜夜| 朝桐光一区二区 | 好吊一区二区三区 | 色女人影院 | 手机在线观看毛片 | 最近中文字幕在线中文高清版 | 男人亚洲天堂 | 欧美又粗又深又猛又爽啪啪九色 | 亚洲国产精品成人 | 91精品美女| 星铁乱淫h侵犯h文 | 国产精品二三区 | 蜜臀尤物一区二区三区直播 | 最新日韩三级 | 5566色| 免费不卡视频 | 国产草草视频 | 青青草视频免费看 | 欧美精品一区二区三区蜜臀 | 国产免费一区二区三区四区五区 | 免费在线观看成人av | 国产在线精品一区二区 | 国产伦精品一区二区三区免费 | 久草视频在线资源 | 国产一级理论片 | 欧美日韩xxx | 中文字幕av片 | 国产冒白浆 | 久草精品在线观看 | 国产伦精品一区二区三区四区视频 | 国产精品美女久久久网av | 国产高清第一页 | 色偷偷噜噜噜亚洲男人的天堂 | www国产视频 | 久久久77| 草莓视频18免费观看 | 日本国产欧美 | 午夜爱爱毛片xxxx视频免费看 | 亚洲在线视频免费观看 | 国产精品久久久久久久裸模 | 欧美黄色一级视频 | 青青草福利 | 亚洲精品aaa | 成人久草| 亚洲欧美综合在线观看 | 久久99日韩 | 国产日韩欧美综合在线 | 先锋影音在线 | 亚洲av永久纯肉无码精品动漫 | 国产成人无码一区二区三区在线 | 九九爱国产 | 中文字幕免费av | 人妖天堂狠狠ts人妖天堂狠狠 | 国产精品日韩欧美一区二区三区 | 中文久久精品 | 日韩精品一区二区在线看 |