複素平面上の回転移動
いつも忘れるのでメモ。
複素平面上の回転は複素数の積で表せる。
回転させたいとき、回転させたい座標に偏角 の単位ベクトルをかければよい。
C++ だと complex クラスを使えば簡単に記述できる。
( 極形式 の複素数表記は polar で取得できる。)
複素平面を勉強したことがないので、回転行列使えばいいかという気もする。
コード
template<typename T> complex<T> rotate_radian(complex<T> z, T radian){ return z * polar(1.0, radian); } template<typename T> complex<T> rotate_degree(complex<T> z, T degree){ // 1 degree = pi / 180.0 return z * polar(1.0, degree * acos(-1) / 180.0); }
雑記
生きてる価値がない上に、水色に落ちて虚無が加速した。
どうしてこうなった。
雑記部分は多分いずれ消す。