I have this 2d platformer made out of box colliders. I have the player connected to a point by a LineRenderer and a DistanceJoint2D, for use in physics puzzles. This tool lets him link to a location and then do grappling hook things with it, like retract the rope at speed to spiderman around.
What I want to do is move the distance joint around the object, thus changing the angle at which the player is pulled. Like in this image.
Very similar to this more general, unanswered question that doesn't not give any specific math.
I know I'll be making a list of positions and then move the joint's anchor around whenever it wraps/unwraps, but I'm not sure how to tell when and where it wraps on something.