需要3個點來定義一個平面。如果在凹角處選擇3個點,則Newell方法被認爲是失敗的 - 所得平面的法線將指向與預期方向相反的方向。紐維爾計算凹面多邊形平面方程的方法 - 改進?
紐維爾的方法有什麼改進來幫助選擇有效的起點嗎?或者是否有另一種算法不存在這個問題?
需要3個點來定義一個平面。如果在凹角處選擇3個點,則Newell方法被認爲是失敗的 - 所得平面的法線將指向與預期方向相反的方向。紐維爾計算凹面多邊形平面方程的方法 - 改進?
紐維爾的方法有什麼改進來幫助選擇有效的起點嗎?或者是否有另一種算法不存在這個問題?
既然你對飛機的唯一興趣是給定的點是比它「更深」還是「更接近」,我想你會希望飛機的法線指向視點(或遠離它)慣例)。因此,只需從視角計算法線和矢量的點積到三點中的一點,並看看它的符號;如果通常預期爲負值(反之亦然),則爲正值,然後反轉正常值。
剛剛在Newell的Plane算法谷歌搜索後遇到了這個。我也對使用該算法感興趣,但是我對各種文獻的閱讀讓我認爲這是在凹角案例上失敗的「三點」方法,而紐維爾方法將正確工作。下面是相關通道:
這種技術,首先由紐厄爾(薩瑟蘭等,1974。), 作品凹多邊形和多邊形含有共線的頂點, 以及用於非平面多邊形,例如提出從 造成擾動多邊形頂點位置...
紐維爾方法看似低效平面多邊形,因爲它 採用了多邊形的所有頂點的時候,其實,只有三個需要個點來定義一架飛機。應當指出,雖然, 任意平面多邊形,這三點必須非常 精心挑選的:
三點唯一確定一個平面,當且僅當它們不是 共線;和
如果三個點選擇在「凹」角附近,則生成的平面的正常 將指向與預期的平面相反的方向。
檢查屬性會降低 三點方法的效率,以及使得其編碼而不雅。對於已知爲平面且嚴格凸的多邊形 使用三點法並且對其餘部分使用紐維爾方法的良好策略可能是使用三點法。
來源:Filippo Tampieri。 「紐維爾計算多邊形平面方程的方法」。在圖形寶石III,學術出版社,1992年,頁231-232。