对于三角形而言,需要解决的两个问题可以更加具象地描述为:
1. 对于一个给定的像素点,怎样判定其在三角形的内部还是三角形的外部
2. 对于一个给定的三角形内部的像素点,其颜色(属性)应该是多少
在笛卡尔坐标系中,时,在轴和轴所组成的平面上取三个点:,和。然后在该平面再任取一个点,怎样判定点在的内部还是外部?
从上图不难看出,
- 如果点在的左侧,且也在和的左侧,则在三角形内部;
- 如果点在的右侧,或者在或的右侧,则在三角形外部;
- 否则,点在三角形上
上图中,三角形的三个点是逆时针排列的,如果设置为顺时针排列,那么上面结论中的左右侧需要颠倒。
根据两个向量的叉乘的性质,上面的结论又可以简单描述为,
- 如果点与三角形的三条边叉乘的结果有为0的,则其在三角形上
- 如果点与三角形的三条边叉乘的结果符号相同,则其在三角形内部
- 如果点与三角形的三条边叉乘的结果符号不同,则其在三角形外部
网友评论