沿垂直坡度滑动两点距离
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了沿垂直坡度滑动两点距离相关的知识,希望对你有一定的参考价值。
对于我当前的项目,用户点击X,Y平面上的2个位置。一旦点击了两个点,用户就应该单击并拖动以从原始的2个位置开始将2个新点扩展为完美的矩形(90度角)。
数学似乎超级简单,我似乎无法得到正确的配置,沿垂直斜率(一定距离)滑动这两个点。
我目前的尝试是找到垂直斜率并将其滑动X距离(用户拖动的距离),但我仍然坚持翻译perp。按距离斜坡。
答案
你有点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)
+
或-
有两个可能的换班方向
以上是关于沿垂直坡度滑动两点距离的主要内容,如果未能解决你的问题,请参考以下文章