今までにあった質問 かなり以前,「『視点を移動するのではなく,物体をぐるぐる回す方法は?』に書いてある方法では思ったとおり回転できない」という指摘を受けました. 確かにそのとおりなんですが,もとより「手抜き」の方法ですし(言い訳),まともな方法が GLUT のサンプルなどに含まれている trackball.c や「宇治社中」さんあたりにあると思ってたんで,そのままにしてました.でも,自分が作っているもので使ってみて思ったとおり回転できないことがあるのはやっぱり面白くなかったので,ひとつまじめに考えてみました. クォータニオンを使ってみる 変換(行列)を累積的に合成するなんてことをするとロクな目にあわない気がしたので,ああいう手を抜いた実装になってたんですが,オブジェクトの「今見えている状態」に対してさらに回転を加えようと思えば,やはり避けて通ることはできません.そこで,回転をクォータニオン
![床井研究室 - トラックボール](https://cdn-ak-scissors.b.st-hatena.com/image/square/72844b70215bc32c3a701ba01a5be03901fdce4c/height=288;version=1;width=512/https%3A%2F%2Fmarina.sys.wakayama-u.ac.jp%2F~tokoi%2Ftheme%2Fogimage.png)