def triangleSignedAreaE2(A, B, C):
    """
    Returns the area of the triangle ABC signed by orientation (ccw is > 0)
    """
    return 0.5 * (A.x * (B.y - C.y) + A.y * (C.x - B.x) + (B.x * C.y - B.y * C.x))