太easy了。假設(shè)多邊形是凸的,且射線端點(diǎn)p0不處于多邊形內(nèi),且射線單位方向矢量為n0。逐個(gè)取多邊形上的頂點(diǎn),并且以其坐標(biāo)構(gòu)造自p0指向該頂點(diǎn)的矢量,如s、r。不難發(fā)現(xiàn):s
×n0與r
×n0結(jié)果的Z分量符號(hào)是相反的。換而言之,只要在遍歷過(guò)程中發(fā)現(xiàn)一次符號(hào)相反的情況,射線必與多邊形相交,判定即可停止,無(wú)需全部遍歷完所有頂點(diǎn);如果符號(hào)全相同,則射線與多邊形不相交。
posted on 2007-09-08 16:21
w2001 閱讀(780)
評(píng)論(0) 編輯 收藏 引用