射線與三角型 多邊形相交測試

2021-04-12 18:01:09 字數 532 閱讀 3755

乙個點是否在多邊形裡面,只將這個點向任意方向作乙個射線,若與這條射線有奇數條邊相交則點在多邊形裡面,如果有偶數條邊相交則在外面.

實際上兩個三角形合在一起,是乙個四邊形,對於這種多個圖形合在一起的圖形不要做公共邊的測試就行了,把他當成乙個多邊形.或者兩個三角形分開來測試也行。

gameres論壇上的corpus說當交點接近公用邊時,可能是因為計算誤差,有時會出現兩個三角形都發生相交或者都沒發生相交的錯誤現象。我的那個程式裡因為要處理任意模型,而且相交測試只是要返回具體交了那些面。所以公用邊三角面合併成多變形的方法不太適用。我覺得主要還是在計算誤差上,就類似說咱們最常見的光柵化,為什麼網格模型渲染出來後你看不到三角面之間有重疊或者有縫隙一樣。

6377說:這個演算法是有毛病,我們現在都不用了。

tarkey說:判斷下浮點誤差就好了.

http://www.ziggyware.com/readarticle.php?article_id=78 這裡有幾個比較穩定的關於ray-tri intersection的,你可以看看.

這個問題我以後研究一下。待續。。。

射線與三角面相交判定

射線表示 o d t 三角表示 v0 v1 v0 u v2 v0 v u 0 v 0 u v 1 如果射線相交在三角內,則 o d t v0 v1 v0 u v2 v0 v u 0 v 0 u v 1 分析 uvt是3個未知數,v0,v1,v2,o,d是已知向量,是個3階行列式,可求uvt 可以做簡...

三角剖分 與 泰森多邊形

泰森多邊形 大概就是乙個平面劃分,平面上的每個點劃分到離它最近的關鍵點上。delaunay三角剖分和泰森多邊形是對偶圖。delaunay三角剖分 定理 對於任何一種三角剖分,三角形個數和外圍凸包點數之和為2n 2。delaunay三角剖分的性質 1.平面上的點集有且僅有唯一的delaunay三角剖分...

向量法判斷圓與三角形相交

利用向量法避開討論正負的問題,大意就是給三角形判斷與圓是否相交的問題 struct l inline double dis double x,double y,double m,double n,double o,double p 判斷可能的三種情況,大於1為遠離點,小於0為近點,否則為中間點 us...