判断多个点在多边形内的在线算法
生活随笔
收集整理的這篇文章主要介紹了
判断多个点在多边形内的在线算法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
通常判斷一個(gè)點(diǎn)在多邊形內(nèi)有五種算法:
1. 叉積法,面積法(適用于凸包)
2. 射線法,直線法, 最壞時(shí)間O(n), 通常都可以達(dá)到常數(shù)基數(shù)時(shí)間
3.回轉(zhuǎn)數(shù)(也叫旋轉(zhuǎn)角)法
4.改進(jìn)弧長(zhǎng)法(轉(zhuǎn)角法的改進(jìn)版),精度比較高
5.以多邊形上的頂點(diǎn)劃分空間網(wǎng)格的方法(自創(chuàng),理論未完善)
下面要討論一個(gè)在線的算法。
假設(shè)求得三個(gè)點(diǎn)在多邊形n內(nèi),對(duì)三個(gè)點(diǎn)連線成一個(gè)內(nèi)多邊形m,如果再來一個(gè)點(diǎn)p,先判斷p是否在m內(nèi),如果p在 n內(nèi),m外,
則p與m組成新的內(nèi)多邊形。再來一點(diǎn)Q,仿照P的求法,對(duì)Q及后面的要計(jì)算的點(diǎn),做統(tǒng)計(jì)。
這樣一種以空間換時(shí)間 的動(dòng)態(tài)規(guī)劃的思想。是否可行,還在研究中,期待有網(wǎng)友發(fā)表一下評(píng)論。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的判断多个点在多边形内的在线算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++日志系统log4cxx使用总结
- 下一篇: 正则表达式,解决要么有要有没有,但必须开