获取对角线段中的点的算法

时间:2013-05-24 19:18:38

标签: javascript jquery algorithm logic

看看这张图片(抱歉,我的工作机器上只有油漆刷):

enter image description here

在主要内部,你会看到两个黑色矩形,一个主要和一个未成年人。考虑它们是div红点是每个点(顶部和左侧)的中心点。

绿色矩形是一个心理的(不是画在屏幕上)边界,对称地包含主要的反应角,它是由JavaScript计算的。

蓝线是这两个红点的对角线段。

我已经在JavaScript上计算了上述对象的所有位置。

黄点我想要的点。它必须在红点的对角线上,但在边界处(绿线)。它不能在里面或里面。

我用我的算法创建了这个jsFiddle。如您所见,黄点位于绿色边界之外。它必须位于绿线限制的对角线段

有关此算法的任何帮助吗?

1 个答案:

答案 0 :(得分:6)

有关斜坡的更多信息:https://www.khanacademy.org/math/algebra/linear-equations-and-inequalitie/slope-and-intercepts/v/slope-of-a-line

您可以使用点斜率公式查找线上的点(以便找到与绿色顶线相交的点):

(x1, y1) - one of the red points
(x2, y2) - another of the red points
(x, y) - the green point
slope = (y2 - y1) / (x2 - x1) 
y - y1 = slope * (x - x1)

编辑:感谢Imre Kerr:

现在,您已经有点的y(如果您的线与顶部绿线相交),或者点的x(如果它与左侧绿线相交)。从这里,你可以找到另一个坐标。假设您与顶线(http://jsfiddle.net/BGSacho/TDH7q/6/)相交的样本。