teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

図など、追記をしました。

2015/10/08 10:57

投稿

sgr-2
sgr-2

スコア294

answer CHANGED
@@ -11,4 +11,22 @@
11
11
  (2)円に外接する矩形の左上の座標を求める
12
12
  (3)rectを(2)の座標と幅、高さから決定
13
13
  →回転しても円弧描画で指定する矩形はそれぞれの辺が軸に並行である(傾いたものでない)ため
14
- (4)円弧の開始角と終了角をθでオフセット
14
+ (4)円弧の開始角と終了角をθでオフセット
15
+
16
+ ---
17
+ ** 追記 2015/10/08 19: 56頃 **
18
+
19
+ 画像が作れたので追記します。
20
+
21
+ 白線の交点を回転中心として、順に30度、60度、90度と回転移動をさせた物です。
22
+ 矩形と円、円弧を描いていますが、「線」で描画しているのが目的の回転移動です。
23
+ これらは、円と円弧についてはその中心を使って回転移動をしています。
24
+ 矩形は、各頂点にいてそれぞれの座標で回転移動を行っています。
25
+
26
+ それに対して塗り潰しの矩形ですが、これは矩形の角(緑で表示)を使って回転移動した後、矩形の幅と高さをそのまま適用して描いた物です。
27
+ この「線による矩形」と「塗り潰しによる矩形」でずれが出てくるのが、回転移動の計算を行う時に円(円弧)の中心を使わないといけない理由になります。
28
+
29
+ # 式は、コメント中の内容で基本的には大丈夫です(回転角θの符号は逆になるかも・・・)
30
+ ![イメージ説明](21033fefecfe8fff20568d9f10a5ddb4.png)
31
+ ![イメージ説明](750190a505518039e9ab24565befa39c.png)
32
+ ![イメージ説明](e5f71bcebd70cae55e36da93fc6a2d0d.png)