- ベストアンサー
高さh、幅wの長方形a,b,c,dがあるとします。また長方形の中心点を
高さh、幅wの長方形a,b,c,dがあるとします。また長方形の中心点をoとします。 a ーーーーw ーーーー b | | | | | o h | | | | c ーーーーーーーーー d この長方形a,b,c,dのcを中心にn度回転させます。回転後の長方形の中心点をo2とします。 この点o2と元の中心点oとの座標の差が知りたいです。 別の表現をすると、点o2を点oに移動させる事により、oを中心に回転した結果と同じにしたいです。 移動させる座標xとyを式で求めるにはどうしたら良いですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
cを原点、cdをx軸、caをy軸とすると、 oの座標は自明で、(Xo, Yo) = (w/2, h/2) o2は、oを原点cを中心にn度回転する座標変換なので、 Xo2 = Xo * cos(n度) - Yo * sin(n度) Yo2 = Xo * sin(n度) + Yo * cos(n度) > この点o2と元の中心点oとの座標の差が知りたいです。 > 移動させる座標xとyを式で求めるにはどうしたら良いですか? どっちを基準にするのか?で符号が変わると思いますが、 (x, y) = (Xo- Xo2, Yo - Yo2) とか。 面倒なので展開しませんが。
その他の回答 (1)
- OXY23
- ベストアンサー率36% (27/74)
こんにちは これって、画像処理のはなしですか?多分数学のテストなどではあまり無いような気がします。 画像処理では良くみますけど・・・ 勝手にですが画像処理として説明させていただきますが、その場合アフィン変換などを参考に調べるといいですよ。 最後に少し思ったのですが、始めから点oを中心に回転させるのではだめなんですか?
補足
OXY23さんご回答有難うございます。 >これって、画像処理のはなしですか? お察しの通りです。 >・・・始めから点oを中心に回転・・・ もちろん、私もそう考えましたよ。でも回転の中心点を指定する方法が見つけられなかったもので、 因にobjective-cです。
お礼
neKo_deuxさん、ご回答有難うございました。