我需要按輸出切線按點排列三次貝塞爾樣條。我的第一個嘗試是確定輸出的切線角度並按此排序。對於具有四個點p0, p1, p2, p3
的花鍵,輸出切線角度是:按輸出切線排列點周圍的三次貝塞爾樣條
p0 != p1 ? angle(p0, p1) : p0 != p2 ? angle(p0, p2) : angle(p0, p3)
此處理退化的立方體,它實際上是一個二次或甚至一個線。但是,該點可能有兩個具有相同切線角度的出線樣條曲線,但後面的樣條曲線上的控制點或終點位置會影響排序順序。
是否有一個很好的封閉形式的算法來排序兩個任意貝塞爾樣條出處理角度處理退化的情況,還使用樣條的其餘部分消歧的情況下,當切線相等?我可以通過嘗試t
值直到我消除歧義,但似乎可能存在閉合算法。
因此,如果兩條曲線具有相同的起始切線但稍後發散,您是否希望它們在排序上相同?還是你還想讓它們按特定順序排序? – tfinniga
他們需要按特定順序排序(順時針方向)。我試圖在平面圖中遍歷三角形貝塞爾曲線的邊。 – constexpr