沿垂直坡度滑动两点距离

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了沿垂直坡度滑动两点距离相关的知识,希望对你有一定的参考价值。

对于我当前的项目,用户点击X,Y平面上的2个位置。一旦点击了两个点,用户就应该单击并拖动以从原始的2个位置开始将2个新点扩展为完美的矩形(90度角)。

数学似乎超级简单,我似乎无法得到正确的配置,沿垂直斜率(一定距离)滑动这两个点。

我目前的尝试是找到垂直斜率并将其滑动X距离(用户拖动的距离),但我仍然坚持翻译perp。按距离斜坡。

enter image description here

enter image description here

答案

你有点A和B.差异向量

D = (Dx, Dy) = (Bx - Ax, By - Ay)

归一化(单位)向量

 Len = Sqrt(Dx*Dx + Dy*Dy)
(dx, dy) = (Dx / Len, Dy / Len)  

垂直单位向量

(px, py) = (-dy, dx)

按距离L移动

pL = (px * L, py * L)

因此,移位A将具有坐标

 (a'x, a'y) = (Ax +/- px * L, Bx +/- py * L)

+-有两个可能的换班方向

以上是关于沿垂直坡度滑动两点距离的主要内容,如果未能解决你的问题,请参考以下文章

ArcGIS教程:曲率

cesium测量距离,测量地形上两点的距离(工具篇)

在视图寻呼机 2 中禁用垂直滚动

求一条线段上与两点最近距离的点的位置的方法是啥?求与两个固定点的距离相等的点的方法是啥?

根据两点经纬度计算距离

js根据经纬度计算两点距离