我正在嘗試用 Python 解決以下問題。當我使用有限元方法時,問題來自影像處理問題。
在我的問題中,我有一組三角形和一條射線。每個三角形由三個 3-D 點組成,光線的形式是一個 3-D 點和一個 3-D 矢量。如何確定光線穿過的第一個三角形?現在我什至沒有一個演算法。任何輸入將不勝感激。
uj5u.com熱心網友回復:
我要做的第一件事是轉換整個資料集,減去 3D 射線原點。然后旋轉資料集,使光線的 3D 矢量與 X 軸對齊。請參閱如何找到將向量旋轉到 x 軸的正交變換?.
現在問題已轉換為過濾與 X 軸相交且 X 坐標非負的三角形,并在其中找到交叉點具有最小 X 坐標的三角形。所以
對于每個三角形,檢查其平面與 X 軸相交的位置。請參閱確定平面的交點與軸給定的平面點
然后扔掉那個交叉點(在 X 軸上)不在三角形邊界內的三角形(檢查這個點在它的“內”側的三個邊中的每一個)。請參閱檢查點是否在 3D 三角形內
扔掉交叉點為負 X 坐標的三角形。
在剩余的三角形中(在正側真正與 X 軸交叉)找到具有 X 坐標最小交叉點的三角形。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314835.html
下一篇:處理檔案
