Algorithm 列出三角形内的整型平面点

Algorithm 列出三角形内的整型平面点,algorithm,geometry,Algorithm,Geometry,给定平面点p,q,r,如何确定三角形是否包含一个积分点?我想列出所有这些要点 它有一个子问题:给定第四个点s。如何确定s是否在三角形内?您需要三角形光栅化 可能的方法:按Y坐标对顶点排序,对于顶点之间的每个垂直间隔,确定边方程,对于该间隔内的每个整数Y,获得左整数点和右整数点,然后填充内部点的整个水平扫描线 例如,三角形的“左上”边在y范围内具有等式2.2*y-x+1.5=0。第一个整数Y是4,替换得到10.3-x=0,因此最左边的整数x值是11。右边缘的类似过程给出了最右边的值(比如p),因

给定平面点p,q,r,如何确定三角形是否包含一个积分点?我想列出所有这些要点


它有一个子问题:给定第四个点s。如何确定s是否在三角形内?

您需要三角形光栅化

可能的方法:按Y坐标对顶点排序,对于顶点之间的每个垂直间隔,确定边方程,对于该间隔内的每个整数Y,获得左整数点和右整数点,然后填充内部点的整个水平扫描线

例如,三角形的“左上”边在y范围内具有等式
2.2*y-x+1.5=0
。第一个整数Y是4,替换得到
10.3-x=0
,因此最左边的整数x值是11。右边缘的类似过程给出了最右边的值(比如p),因此我们输出点
(11,4)、(12,4)…(p,4)

子问题
-这是完全不同的问题。检索所有整型点不需要它。

如果你真的需要的话,那就是向量到点的边(
AB x AP,BC x BP,CA x CP

平面是一个无限的曲面。它包含无限个点,
x,y,z
中的一些点是整数。@Ripi2您提到的问题与子问题有关,尽管不完全相同。感谢您的宝贵贡献。但它的应用不是计算机图形学,而是整数线性规划。你的方法可能是可行的,但它不是很清楚,我不相信它是有效的。你们正在做某种坐标变换,但似乎忘记了它必须保持积分点。至于子问题,是的,这是一种方法。它相当有效——所有图形卡/引擎都使用某种三角形光栅化来填充多边形块,每秒数百万个三角形。你在说什么?大多数图形例程都是在整数坐标系下工作的——例如,查看线段的Bresenham算法,但这不是一个图形例程,点p、q、r不是整数。我在欧几里德平面上工作,这并不重要。直线方程的效果更好:)对于浮点值。