[英]Finding distance from closest point in curve to any arbitrary point in bounded n dimensional space in Python
我正在使用 Python 解決這個問題。
假設我在 n 維(緊湊)空間中有一些點 p 和一維任意曲線。 如何在曲線中找到最接近指定點 p 的點? 我在Find minimum distance from point to complex curve 中找到了答案,但 Shapely 僅適用於平面,並且我正在處理的曲線的表達式駐留在維度數范圍為 2 到 16 的空間中,這是由於定義了曲線。 這些曲線的表達式總是明確知道的。
我也嘗試使用scipy.optimize
和SLSQP
來最小化距離函數,但它並不總是有效。 例如,如果曲線是np.sin(15*x)
,並且點僅位於以(0.5, 0.5)
為中心的單位正方形中,則曲線的某些部分僅在兩個維度之一中位於正方形內,並且某些點的最小化失敗。
如果您知道曲線的解析形式,您總是知道從點 x(t)、y(t) 到外部點的距離。 你可以用分析形式寫出距離。 因此,您需要從距離表達式中找到導數並找到根。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.