あなたはただいくつかの数学をする必要があるように聞こえます。
x1、y1を中心とし、半径r1の「ボート」があるとします。「船乗り」はx2、y2にあり、半径r2であるため、x2y2はボートの境界内にあります。ボートが角度Aだけ回転し、セーラーがこの回転フレームと単に共動している場合、セーラーの新しい中心位置は同じ角度だけ回転します。
a1 = x2 - x1; //difference between centers, x direction
b1 = y2 - y1; //in y direction
a2 = a1*cos(A) + b1*sin(A); //new difference in x direction
b2 = b1*cos(A) - a1*sin(A); //new difference in y direction
x3 = x1 + a2; //new center position of sailor, x direction
y3 = y1 + b2; // y direction
その丸い円(セーラー)に何らかの向きがある場合は、Aだけ回転させる必要があります。セーラーの向きを、ボートからの半径方向のベクトルに合わせて考えてください。新しい位置では、ボートが角度Aだけ回転した後、この方向もAを回転させたので、その回転をセーラーにも適用する必要があります。船乗りが特徴のない円である場合、すべての向きは同じであり、スキップできます。