簡體   English   中英

如何計算一條線和任意形狀的交點?

[英]How to compute the intersection points of a line and an arbitrary shape?

有沒有辦法幾何計算一條線和任意圖形路徑的交點? 我知道路徑中所有線條和曲線的位置,如果有幫助,我正在使用 HTML5 畫布元素。 基本上,我可以訪問所有畫布繪圖命令及其參數。 例如,如果 API 是用 lineTo、moveTo 和 arc 調用的,我就擁有所有這些信息。 對 API 的每次調用都存儲在一個數組中。 我有路徑定義,我只想找出線與路徑相交的位置。 下面的圖像顯示了我需要找到的點的示例。

替代文字

謝謝你的幫助! 同樣,如果可能的話,我寧願以幾何方式而不是基於像素來進行此操作。

您可能想看看 Kevin Lindsey 的 Javascript 幾何庫 - 它可能包含您正在尋找的所有交集算法: http ://www.kevlindev.com/geometry/index.htm

不知道您的圖形路徑是如何定義的,就不可能用具體的算法來回答您的問題。 本書中有關於直線段算法的解決方案。

如果你有所有的方程式,那么你就可以做到(理論上)。 在實踐中,這並不容易(尤其是在一般情況下)。 這個討論對相交線和貝塞爾曲線有一些很好的建議。

您想將一條線和一條“樣條”x(t), y(t) 相交,對於 x(t) 和 y(t),它最多應該是 4 次多項式。 你已經解決了方程,但你確實需要知道所有的參數。 如果解決方案超出任一范圍(線段和樣條線段有起點和終點) - 丟棄它。 相關問題:

樣條曲線和直線之間的交點

暫無
暫無

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

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