def normal_from_points(a, b, c):
    '''Computes a normal vector given three points.
    '''
    x1, y1, z1 = a
    x2, y2, z2 = b
    x3, y3, z3 = c
    ab = (x2 - x1, y2 - y1, z2 - z1)
    ac = (x3 - x1, y3 - y1, z3 - z1)
    x, y, z = cross(ab, ac)
    d = (x * x + y * y + z * z) ** 0.5
    return (x / d, y / d, z / d)
def normal_from_points ( a , b , c ) : x1 , y1 , z1 = a x2 , y2 , z2 = b x3 , y3 , z3 = c ab = ( x2 - x1 , y2 - y1 , z2 - z1 ) ac = ( x3 - x1 , y3 - y1 , z3 - z1 ) x , y , z = cross ( ab , ac ) d = ( x * x + y * y + z * z ) ** 0.5 return ( x / d , y / d , z / d )
Computes a normal vector given three points.