zero error:
error = vT [Q] v
error =
|
|
|
|
|
error = p.x * a * (p.x *a + p.y * b + p.z * c + d) + p.y * b * (p.x *a + p.y * b + p.z * c + d) + p.z * c * (p.x *a + p.y * b + p.z * c + d) + d * (p.x *a + p.y * b + p.z * c + d)
error = (p.x *a + p.y * b + p.z * c + d) * (p.x *a + p.y * b + p.z * c + d)
substituting:
a = n.x
b = n.y
c = n.z
d = -(p dot n)
gives:
error = (p.x *n.x + p.y * n.y + p.z * n.z -(p dot n)) * (p.x *n.x + p.y * n.y + p.z * n.z -(p dot n))
error = (p.x *n.x + p.y * n.y + p.z * n.z - p.x *n.x - p.y * n.y - p.z * n.z) * (p.x *n.x + p.y * n.y + p.z * n.z - p.x *n.x - p.y * n.y - p.z * n.z)
cancelling out terms gives:
error = 0 * 0
error =0
so as required if no edges are collapsed the error is zero