今私は3Dプログラミングに興味を持ち、http://dixq.net/g/の3Dプログラミング入門から勉強を始めたのですが疑問に思った事があります。
「カメラを回転してみよう」http://dixq.net/g/3d_02.htmlの座標の回転の所なのですが
// (x,y)の点を(mx,my)を中心にang角回転する
void rotate(float *x, float *y, const float ang, const float mx, const float my){
const float ox = *x-mx, oy = *y-my;
*x = ox * cos(ang) + oy * sin(ang);
*y = -ox * sin(ang) + oy * cos(ang);
*x += mx;
*y += my;
}
x=xcosθ-ysinθ
y=xsinθ+ycosθ
で求められると書いてあるのですが上記のプログラムでは符号が逆になっています。
これは何か意図して書かれているのでしょうか?それとも単純に私が何か勘違いをしてしまっているのでしょうか?
うまく理解することが出来なかったので質問させて頂きました。よろしくお願いします。