在谷歌搜索和查看Stack很长一段时间后,我只找到了一些方法来确定一个点是否落在连接两个点的那条线上。不幸的是,这不是我需要的。
请参阅此问题末尾的图像。我为这张糟糕的照片提前道歉,但它抓住了要点(明白了吗?)穿过。
我需要创建两条垂直线来连接x点和y点,它们需要与x点和y点的垂直线相交,然后我需要判断z点是否出现在这两条线之间。
任何帮助都是非常感谢的。耽误您时间,实在对不起!
发布于 2015-04-25 03:10:57
计算角度xyz和yxz。如果其中任何一个大于90,则它是外部的。
发布于 2015-04-25 03:25:02
既然你用java
标记了你的问题,那就开始吧:
import javafx.geometry.Point2D;
....
// is z between parallel lines
boolean betweenLines(Point2D x, Point2D y, Point2D z) {
return x.angle(y,z) < 90 && y.angle(x,z) < 90;
}
发布于 2015-04-25 03:23:14
要确定Z点是否落在所需的条纹中,可以确定Z到X-Y线的投影是否落在这些点之间。定义向量v =Y- X和w =Z- X。如果参数b落在范围0..1内,则投影位于XY段。非常简单的公式:
B= DotProduct(w,v) / DotProduct(v,v)
https://stackoverflow.com/questions/29860480
复制相似问题