给出平面点p,q,r如何确定三角形是否包含积分点?我想列出所有这些要点。
它有一个子问题:给定第四点s。您如何确定s是否在三角形内?
答案 0 :(得分:1)
您需要三角形栅格化。
可能的方法:通过Y坐标对顶点进行排序,对顶点之间的每个垂直间隔确定边方程,并为该间隔中的每个整数Y获取左右整数点,然后填充内部点的整个水平扫描线。
例如,三角形的“左上”侧在y范围2.2*y - x + 1.5 = 0
中具有方程3.14..17.3
。第一个整数Y为4,替换得到10.3 - x = 0
,因此最左边的整数x值为11。对右边的类似过程给出了最右边的值(例如p),因此我们输出点(11,4), (12,4)...(p,4)
subproblem
-这是完全不同的问题。不需要检索所有积分点。
如果您确实需要-calculate signs of cross products的两边指向(AB x AP, BC x BP, CA x CP
)的向量