Given the point
Vector pos = new Vector(0.0, 0.20156815648078918, -78.30000305175781, 1.0); and the plane (triangle)
Vector a = new Vector(-6.599999904632568, 0.0, -78.5, 1.0); Vector b = new Vector(6.599999904632568, 0.0, -78.5, 1.0); Vector c = new Vector(6.599999904632568, 4.400000095367432, -78.5, 1.0); I want to get a plane normal pointing in the direction of pos
//Getting plane normal Vector ac = Vector.Subtract(a,c); Vector bc = Vector.Subtract(b,c); Vector planeNormal = Vector.CrossProduct(bc, ac); //Testing which side of the plane the point is on double dprod = Vector.DotProduct(planeNormal, pos); if (dprod < 0) { planeNormal.Negate(); } But this method is wrong. The resulting planeNormal points in the negative Z direction, so it should not be negated. Is there a best practise for this? Please help me, I fail massively @ math :)