Zau*_*oco 2 javascript geometry function coordinates
我尝试在 Javascript 中找到一种方法,从 3 个信息中获取线段上最近的点坐标:线段端点,假设 A = [x1,y1] 和 B = [x2,y2],以及点 C = [x ,y]。
如何执行此操作?
制作向量
AB = (B.X-A.X, B.Y-A.Y)
AC = (C.X-A.X, C.Y-A.Y)
Run Code Online (Sandbox Code Playgroud)
然后计算在线C上的正交投影AB:
AD = AB * (AB.dot.AC) / (AB.dot.AB);
Run Code Online (Sandbox Code Playgroud)
在坐标中:
CF = ((B.X-A.X)*(C.X-A.X)+(B.Y-A.Y)*(C.Y-A.Y)) / ((B.X-A.X)^2+(B.Y-A.Y)^2)
D.X=A.X+(B.X-A.X)*CF
D.Y=A.Y+(B.Y-A.Y)*CF
Run Code Online (Sandbox Code Playgroud)
请注意,对于情况CF<0或CF>1投影点D位于AB线段之外,因此线段上最近的点是A或B相应地
| 归档时间: |
|
| 查看次数: |
458 次 |
| 最近记录: |