我无法弄清楚如何准确地说出这个问题,所以我做了一个粗略的图解来解释我想问的问题:
如果一条线由两点组成,我将如何检查给定点是否在相对于图像中显示的线的区域内?对不起,如果有一个我不知道的术语。
答案 0 :(得分:1)
假设您的线段分数为p1
和p2
,并且您的查询点为q
:
计算线段长度b := |p2 - p1|
和线方向(标准化)z := (p2 - p1) / b
和
计算从p1
到q
的向量,定义为w := (q - p1)
。
通过计算q' := w dot z
将查询点投影到无限线上。这将为您提供点的位置,就好像它从原始位置通过正交路径移动到线上一样。
检查q
:如果q > b
,则您的查询点位于线段阴影之外,超过p2
。如果q < 0
,则您的查询点位于线段阴影之外,超过p1
。否则,q
在&#34;内部&#34;。
答案 1 :(得分:0)
基点A,基点B,线AB,AD和BE(其中DE平行于AB并且比AB平行于C.如果CA或CB与AD或BE相交,则C在目标区域之外。 CA或CB与AD或BE相交,然后C在目标区域内。如果CA和CB都与AD和BE相交,则C在AD或BE上。
在左侧示例中,ABC是一个不与AD或BE相交的三角形。在右边的例子中,ABC是一个三角形,CB与AD相交。
有趣的编码!