OpenGLでのローテーションタスクの最良のアプローチに関するいくつかの指針が必要です。クォータニオンを使用して3D空間でオブジェクトを回転させる方法を知っています。それらをすべてうまく変換できます。
しかし、回転の目的で、さまざまなオブジェクトのコレクションを単一のエンティティとして扱うための最良の方法を知りたいと思います。たとえば、オブジェクトが置かれた机があるとします。それぞれに独自の回転と回転がありますが、今度は、部屋の他のオブジェクトを所定の位置に保ちながら、机全体とその上のすべてを回転させたいと思います。つまり、机の外縁にあるオブジェクトは回転し、机の中心を中心に移動しますが、中央にあるオブジェクトは回転するだけで、それ以外の場合は所定の位置に留まるか、単に移動が少ない場合があります。回転軸。
これを行うためのかなりエレガントでない方法は、回転軸がどこにあるかを知って、机上の各オブジェクトと机自体を個別に回転および平行移動することであるように思われます。おそらくこれが唯一の良い方法ですが、この目的のために異種のオブジェクトを「グループ化」する手法はありますか?