我正在嘗試爲我的OpenCL實時光線追蹤器找到線段與二次貝塞爾三角形之間的交點。相交線與二次貝塞爾三角形
這個問題Detect&find intersection ray vs. cubic bezier triangle談到找到射線和立方貝塞爾三角形之間的碰撞點,主要推薦是嘗試細分或張量積bezier補丁。
我讀過幾個地方,當測試一個線段對二次貝塞爾三角形,你最終不得不解決一個二次方程,但我還沒有找到任何有關該方程實際是什麼的信息我開始懷疑它是否屬實。我試圖找到它也到目前爲止很短:P
有誰知道這是真的還是如何解決它除了使用細分或張量產品bezier補丁?
下面是二次貝塞爾三角形的方程式:
AS^2 + 2 * d 小號 T + 2 * E 小號 U + B * T 1 2 + 2 * F Ťù + C * U^2
其中S,T,U是三角形的參數。你可以用(1-S-T)替換U,因爲它們是重心座標。
A,B,C是三角形的拐角,D,E,F是沿着邊緣的控制點。
超級難倒這一個!
由於這涉及找到一個公式,而不是相同的C++算法,可能更好地問http://math.stackexchange.com/? – usr2564301
謝謝,好點 –