簡體   English   中英

查找線路的交叉點

[英]Finding intersection points of line paths

我有兩條共享終點的貝塞爾曲線。 這些曲線中的每一條在左側和右側都具有“延伸”,類似於道路的邊緣。 擴展部分由接近貝塞爾曲線的線段組成。

我想找到這些路徑到貝塞爾曲線的共享終點的最近交點。

這是我繪制的問題圖

每條線路徑都有超過100個頂點,因此每條線相交並保持最近的交叉點可能變得非常慢,因為它必須實時運行。

我在線路上運行了一個邊界球體相交測試,然后檢查一個交叉點以加快速度,但它仍然不夠快。 我的下一個方法是使用某種四叉樹結構。

Bentley-Ottmann算法,但它似乎只能找到一組線中的所有交點,這不是我需要的。 我也查了Bezier曲線交集算法,但它們似乎需要細分為線段,我已經有了。

是否有任何有用的算法來解決這個問題,或者可能有關於如何優化它的任何想法?

給出兩條曲線A和B,其延伸寬度為Aw和Bw。 找到點A',它是從共享節點N沿A的距離Bw。找到點B',它同樣是從共享節點N沿B的距離Aw。現在,給定點N,A'和B',找到與其他三個節點形成平行四邊形的第四個點N'。 這一點N'是交叉點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM