来自XFillPolygon
的手册描述:
如果
shape
为Complex,路径可能会自相交。请注意,路径中连续重合点不被视为自相交。如果
shape
为Convex,对于多边形内的每对点,连接它们的线段不会与路径相交。如果客户端已知,请指定Convex以提高性能。如果您为非凸多边形指定Convex,图形结果未定义。如果
shape
为Nonconvex,路径不自相交,但形状不完全是凸的。如果客户端已知,请指定Nonconvex而不是Complex以提高性能。如果您为自相交路径指定Nonconvex,图形结果未定义。
我在使用填充XFillPolygon
时遇到了性能问题,正如手册所建议的那样,我想采取的第一步是指定正确的多边形形状。目前我正在安全起见使用Complex。
有没有一种有效的算法来确定由一系列坐标定义的多边形是凸的、非凸的还是复杂的?