【发布时间】:2016-04-07 21:03:31
【问题描述】:
我正在尝试计算一个点是否位于由两点定义的线的上方或下方。为了澄清,我只需要知道该点是在“这一边”还是“那一边”。我意识到如果这条线完全垂直,就不会有“上方”或“下方”。我有一条由 (centerX, centerY) 和 (xprime, yprime) 两点定义的线。为简单起见centerX,centerY可以转换为(0,0)。我想确定 (mouseX, mouseY) 是高于还是低于该线。
我尝试使用这个公式,但它没有给我预期的结果。
var position = Math.sin((xprime -centerX) * (mouseY - centerY) - (yprime - centerY) * (mouseX - prime));
position 的值似乎在 mouseX、mouseY 值绕线旋转时从正到负随机振荡。我的印象是当鼠标位置(mouseX,mouseY)越过这条线时,标志会从正变为负一次。线上方的值为正,下方的值为负。
我将此代码与一个公式结合使用,以确定原始点击的偏转角度。但我无法确定鼠标现在是在初始点击上方还是下方。 (再次请原谅“上面”和“下面”)
【问题讨论】:
标签: javascript geometry