【发布时间】:2011-05-07 15:29:37
【问题描述】:
目标
我想确定测试点是否在定义的四边形内。我可能会在 Matlab 中实现解决方案,所以我只需要伪代码。
输入
四边形的角:(x1,y1) (x2,y2) (x3,y3) (x4,y4)
测试点:(xt, yt)
输出
1 - 如果在四边形内
0 - 否则
更新
有人指出,仅识别四边形的顶点并不足以唯一识别它。您可以假设点的顺序决定了四边形的边(点1连接2,2连接3,3连接4,4连接1)
【问题讨论】:
-
单独的点不能唯一地标识一个四边形,除非有一个额外的约束,它是凸的,或者这些点是按给定的顺序定义的。是否存在这些限制中的一个或其他(如果有,是哪个)?
-
例如,考虑一个等边三角形,在三角形的中心有一个附加点。仅仅知道这些点并不能让您知道三角形的哪条边已经扭结到与中心点相交。
-
谢谢,已更新问题以解决此问题。这应该唯一标识四边形。
标签: math geometry coordinates