def METHOD_NAME(self, dists: np.ndarray) -> np.ndarray:
    """
    Calculate panel joint coordinates from panel-boundary tangent points.
    Parameters
    ----------
    dists:
        The normalised distances along the boundary at which there
        are panel-boundary tangent points.
    """
    # Add the start and end panel joints at distances 0 & 1
    dists = np.hstack((0, dists, 1))
    points = np.vstack((self.boundary.x(dists), self.boundary.z(dists)))
    tangents = np.vstack(
        (self.boundary.x_tangent(dists), self.boundary.z_tangent(dists))
    )
    # This could potentially be vectorized, if we need a speed up.
    METHOD_NAME = np.zeros((2, len(dists) + 1))
    METHOD_NAME[:, 0] = points[:, 0]
    METHOD_NAME[:, -1] = points[:, -1]
    for i in range(METHOD_NAME.shape[1] - 2):
        METHOD_NAME[:, i + 1] = vector_intersect(
            points[:, i],
            points[:, i] + tangents[:, i],
            points[:, i + 1],
            points[:, i + 1] + tangents[:, i + 1],
        )
    return METHOD_NAME