私はスケルトン アニメーション エディターに取り組んでいます。現在、各ボーンには始点と終点があります。マウスがポイントの下にある場合、その後ドラッグすると、マウスの位置に基づいてボーンが回転します。これを行うには、atan2 を呼び出して、マウス座標をマウスが押された場所であるローカル空間に変換します。これは「機能」しますが、本当に間違っているように感じます。ボーンによって形成されるベクトルは、必ずしもマウス ポイントに対して平行である必要はありません。
atan2 について、私には理解できない何かがあるように感じます。
:
if(boneUnderMouse)
{
boneUnderMouse->setAngle(startAngle +
(atan2((float)event.mouse.x - startX,event.mouse.y - startY)));
}
ありがとう