x=A; y=B;
while( d(x,y) > r ) {
x' = xから距離r以内の点でyに最も近い点

y'
= yから距離r以内の点でxに最も近い点
if( x==x' && y==y' ) break;
x=x'; y=y';
}