如何找到到矩形内每个点的距离?

How to find distance to each point inside rectangle?

对于给定的 Xp,Ypangle 一个长方形内有 (width = Xm, height = Ym) 我需要找到所有距离 d_angle(角度在 0 到 359 之间)。我找到了解决方案,但它太复杂了。也许有一个更简单的算法可以在 python 或 c++!

中找到它

检查点P是否在矩形R内:

if (P.X <= R.Right) and (P.X >= R.Left) and (P.Y <= R.Top) and (P.Y >= R.Bottom) 

请注意,许多编程语言的数学库都包含类似 PtInRect

的函数

你可以从给定的点Xp,Yp求出四个角的方位角,设a,b,c,d。这些定义了四个 angular 个“看到”四个面的扇区。 (要处理角度环绕,请考虑扇区 [a, b)、[b, c)、[c, d) 和 [d-2π, a)U[d, a+2π)]。

现在到右边垂直边X=Xm的距离是(Xm - Xp)/cos Θ。其他方面也有类似的公式。