c言語というより計算式に関する質問です。
プログラムの作成上回転中心の計算を行う必要があります。
if(fabs(out_r)>fabs(out_l))
{
center_x = robot->x + (robot->radius + 2*robot->radius*out_l/(out_r-out_l))*cos(robot->theta + PAI/2.0);
center_y = robot->y + (robot->radius + 2*robot->radius*out_l/(out_r-out_l))*sin(robot->theta + PAI/2.0);
}
else{
center_x = robot->x + (robot->radius + 2*robot->radius*out_r/(out_l-out_r))*cos(robot->theta - PAI/2.0);
center_y = robot->y + (robot->radius + 2*robot->radius*out_r/(out_l-out_r))*sin(robot->theta - PAI/2.0);
}
この式の解説をお願いしたいです。
見づらいと思いますがよろしくお願いします。