Example #1
0
def angle_between_3_XYZs(p1: mp.XYZ, p2: mp.XYZ, p3: mp.XYZ) -> float:
    """
    return the angle between 3 points, in radians:w

    """
    ba = p1.as_nparray() - p2.as_nparray()
    bc = p3.as_nparray() - p2.as_nparray()
    cosine_angle = np.dot(ba, bc) / (np.linalg.norm(ba) * np.linalg.norm(bc))
    return np.arccos(cosine_angle)
Example #2
0
def angle_between_3_XYZs( p1: mp.XYZ, p2: mp.XYZ, p3: mp.XYZ ) -> float:
    """
    return the angle between 3 points, in radians:w

    """
    ba = p1.as_nparray() - p2.as_nparray()
    bc = p3.as_nparray() - p2.as_nparray()
    cosine_angle = np.dot( ba, bc ) / ( np.linalg.norm( ba ) * np.linalg.norm( bc ) )
    return np.arccos( cosine_angle )