问题:如何快速得到一个点在一个四边形、三角形等凸多边形内部或外部的?
有面积法:用该点与任意两点组合成三角形,并求其面积,如果面积和大于原四边形/三角形面积,则在外,若等于则在内部;
叉乘(同向)法:假设沿着三角形的顶点逆时针走,如果在三角形内部的点一定保持在边界的左边,而外部的点则可能在左在右。通过连接一个顶点,与其余两边做叉乘,如果结果同向,则在三角形内部。如果是多边形,可转换为多个三角形;这个方法需要对
射线法:如果一个点在多边形的内部,从这个点引一条射线,如果与多边形的边的交点是奇数个,就在多边形的内部;如果是偶数个,该点在多边形的外面。
- tips:外积:向量积,数学中又称外积、叉积,物理中称矢积、叉乘,得到带方向的向量。 内积:点积、数量积,得到非负数字。