实际上,它是隐式存在的。当你用小于180度的向量表示两边时,结果与大于180度的向量的符号不同。事实上,你可以只是加法角度每个顶点的多边形(但对于那些超过180°的角度我们会减去角的值从180°,从而获得一个负值),最后得到你想要的,这是一个信号,代表着画多边形的方向。你说过如果一个给定顶点的角度大于180°,就会反转,但这里你一点也没提到。
你只要假设所有的边都是无限长的,然后把它们定义为线性方程。与被分析点的90°交点可能在直线的界限之外,但这并不重要。我不认为这个方法对计算要求太高。通过将每边定义为线性方程,你有米这条线的斜率,因此1 / m为垂直相交线的斜率。计算被分析点的那条边的交点是轻而易举的事。对于CPU来说,更困难的是计算该点与每条线之间的距离(但它只涉及一堆平方根),然后找到最小值。再一次…(我想不出比这更有效的方法了。)如果法向量和最近的边界向量没有相交的点呢?你如何处理这些问题?
编辑:我也认为向量乘法在计算上要比通过三角函数求出每个顶点上的每个角的值容易得多。
最后的编辑: