[英]Logic for calculating distance between points
是否要查找點[x1,y1]與半徑為2的以[c1,c2]為中心的圓上最近的點之間的距離? 我為此設計了以下等式
sqrt((p[0] - c[0]) ** 2 + (p[1] - c[1]) ** 2)
但是答案返回的答案似乎是錯誤的...
我究竟做錯了什么?
您的公式將計算到圓心的距離。 減去半徑,然后取絕對值。
radius = 2
abs(sqrt((p[0] - c[0]) ** 2 + (p[1] - c[1]) ** 2) - radius)
注意:是的,這將適用於圓上或圓內的點。
您正在嘗試最小化到圓周上某個點的距離,因此我將使用一些演算優化。 解在下面的(x,y)。
f(x, y) = (x - x1)^2 + (y - y1)^2 // the distance formula
(x - c1)^2 + (y - c2)^2 = 2 ^ 2 = 4 // the equation of the circle
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.