如何选择指向凸多边形内部的法向量(2D)?

4
好的,我有一个编程作业,使用cyrus-beck算法。这个算法需要“法向量”,指向任何凸多边形内部。
现在我只是在检查函数中,检查点是在边界内还是外面。 这个问题告诉我如何计算法向量,但它给了我两个结果。我仍然在努力选择应该使用哪个向量。
法向量指向多边形内部的标准是什么?
是否有公式/方法可以计算多边形中任意边的法向量(指向内部)?
请简单解释一下,因为我不太了解向量和数学方面的内容。
1个回答

2
如果您有n个按顺时针顺序排列的点p [],则要获得从点p [i]到p [i + 1]之间边缘的内向法线,您需要将向量p [i] - > p [i + 1] 顺时针旋转90度。即:
```html

如果您有n个按顺时针顺序排列的点p [],则要获得从点p [i]到p [i + 1]之间边缘的内向法线,您需要将向量p [i] - > p [i + 1] 顺时针旋转90度。即:

```
double dx = p[i+1].x - p[i].x; // x component of edge
double dy = p[i+1].y - p[i].y; // y component of edge
double ndx = dy; // x component of normal
double ndy = -dx; // y component of normal

请注意,最后一条边使用p [n-1]和p [0](按照这个顺序)。

如果相反地,您的点是逆时针排列的,请否定n的两个分量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接