def get_point(theta_ik, theta_jk, Pi, Pj):
    """ Calculate coordinates of point Pk given two points Pi, Pj and inner angles.  :param theta_ik: Inner angle at Pi to Pk.
    :param theta_jk: Inner angle at Pj to Pk.
    :param Pi: Coordinates of point Pi.
    :param Pj: Coordinates of point Pj.

    :return: Coordinate of point Pk.
    """
    A = np.array([[sin(theta_ik), -cos(theta_ik)],
                  [sin(theta_jk), -cos(theta_jk)]])
    B = np.array([[sin(theta_ik), -cos(theta_ik), 0, 0],
                  [0, 0, sin(theta_jk), -cos(theta_jk)]])
    p = np.r_[Pi, Pj]
    Pk = np.linalg.solve(A, np.dot(B, p))
    return Pk
def get_point ( theta_ik , theta_jk , Pi , Pj ) : A = np . array ( [ [ sin ( theta_ik ) , - cos ( theta_ik ) ] , [ sin ( theta_jk ) , - cos ( theta_jk ) ] ] ) B = np . array ( [ [ sin ( theta_ik ) , - cos ( theta_ik ) , 0 , 0 ] , [ 0 , 0 , sin ( theta_jk ) , - cos ( theta_jk ) ] ] ) p = np . r_ [ Pi , Pj ] Pk = np . linalg . solve ( A , np . dot ( B , p ) ) return Pk
Calculate coordinates of point Pk given two points Pi, Pj and inner angles.  :param theta_ik: Inner angle at Pi to Pk.
    :param theta_jk: Inner angle at Pj to Pk.
    :param Pi: Coordinates of point Pi.
    :param Pj: Coordinates of point Pj.

    :return: Coordinate of point Pk.