def __new__(cls, location=Vector(), normal=ZAXIS, rotation=Quaternion()): loc = Vector(location) nor = Vector(normal).normalized() vector = nor.to_4d() vector[3] = -nor.dot(loc) return Vector.__new__(cls, vector)