2

連載 グラフアートを描こう 第7回 グラフを回そう 後編 座標変換

1479
0
$$$$

この記事に含まれる全ての画像はDesmosのスクリーンショットです。

イントロダクション

この記事は、「連載 グラフアートを描こう」の第7回です。
第1回 第2回 第3回 第4回 第5回 第6回 を読んでいない人はそちらから読んでいただくとより理解が深まります。
はい、最終回までこれをやるつもりです

本編

前回は、複素数の掛け算が回転を表すのに使えるということを確認しました。

今回は、これを使って実際にグラフを回転させてみましょう。

座標変換

準備として、原点を中心として点$ (a, b) $を角度$ \alpha $だけ回転させた際の点の座標を求めてみましょう。

$ (a, b) $を複素数$ a + bi $だと思うと、回転後の点は$ (a + bi) (\cos{\alpha} + i\sin{\alpha}) $と表されますね。

では、これを実際に計算してみましょう。

$$\begin{align*} & (a + bi) (\cos{\alpha} + i\sin{\alpha}) \\ =& a\cos{\alpha} + ai\sin{\alpha} + bi\cos{\alpha} + bi^2\sin{\alpha} \\ =& a\cos{\alpha} + ai\sin{\alpha} + bi\cos{\alpha} - b\sin{\alpha} \\ =& (a\cos{\alpha} - b\sin{\alpha}) + (a\sin{\alpha} + b\cos{\alpha}) \end{align*}$$

このことから、原点を中心として点$ (a, b) $を角度$ \alpha $だけ回転させた際の点の座標は
$$ (a\cos{\alpha} - b\sin{\alpha}, a\sin{\alpha} + b\cos{\alpha}) $$
であることがわかります。

数式上の変換

では、実際にグラフを回転させるためにはどのように式を変えればよいでしょうか。やはり、これまでの考え方が役に立ちます。グラフを$ \alpha $だけ回転させるためには、数式に現れる$ x $$ y $を「$ \alpha $だけ逆向きに回転」させればよいですね。

すなわち、

$$ x \hspace{2mm}\rightarrow\hspace{2mm} x \cos{(-\alpha)} - y\sin{(-\alpha)} $$
$$ y \hspace{2mm}\rightarrow\hspace{2mm} x \sin{(-\alpha)} + y\cos{(-\alpha)} $$

となります。$ \cos{(-\alpha)} = \cos{\alpha}, \sin{(-\alpha)} = -\sin{\alpha} $を使うと、

$$ x \hspace{2mm}\rightarrow\hspace{2mm} x \cos{\alpha} + y\sin{\alpha} $$
$$ y \hspace{2mm}\rightarrow\hspace{2mm} - x \sin{\alpha} + y\cos{\alpha} $$

と書けますね。

$ y = x^2 $という数式で表される、いわゆる放物線のグラフです。

!FORMULA[19][369645387][0] $y = x^2\hspace{1mm}のグラフ$

これを、反時計回り(角度がプラスになる向き)に$ 45 $度回してみましょう。$ \cos{45^{\circ}} = \sin{45^{\circ}} = \frac{1}{\sqrt{2}} $なので、次のように変換すればよいですね。

$$ x \hspace{2mm}\rightarrow\hspace{2mm} \frac{x}{\sqrt{2}} + \frac{y}{\sqrt{2}} $$
$$ y \hspace{2mm}\rightarrow\hspace{2mm} - \frac{x}{\sqrt{2}} + \frac{y}{\sqrt{2}} $$

すると、このような式ができます。$ x $の方には括弧が必要であることに注意してください。

$$ - \frac{x}{\sqrt{2}} + \frac{y}{\sqrt{2}} = \left( \frac{x}{\sqrt{2}} + \frac{y}{\sqrt{2}} \right)^2 $$

!FORMULA[26][627518884][0] $y = x^2\hspace{1mm}のグラフを反時計回りに\hspace{1mm}45\hspace{1mm}度回した$

当然、逆向きにすることもできます。時計回りに$ 30 $度、すなわち$ -30 $度回してみましょう。$ \cos{(-30^{\circ})} = \frac{\sqrt{3}}{2}, \sin{(-30^{\circ})} = -\frac{1}{2} $なので、次のように変換されます。

$$ x \hspace{2mm}\rightarrow\hspace{2mm} \frac{\sqrt{3}}{2}x - \frac{1}{2}y $$
$$ y \hspace{2mm}\rightarrow\hspace{2mm} \frac{1}{2}x + \frac{\sqrt{3}}{2}y $$

式はこうなりますね。

$$ \frac{1}{2}x + \frac{\sqrt{3}}{2}y = \left( \frac{\sqrt{3}}{2}x - \frac{1}{2}y \right)^2 $$

!FORMULA[33][1283589965][0] $y = x^2\hspace{1mm}のグラフを時計回りに\hspace{1mm}30\hspace{1mm}度回した$

原点以外を中心とする回転

ここまでの回転は全て原点を中心とするものでした。では、原点以外の点を中心として回転させるにはどうすればよいでしょうか。

回転の中心が原点に来るように、全体を移動させればよいですね。つまり、

回転の中心を原点へ移動させる→全体を回転させる→回転の中心を元の位置に戻す

という手順で実現できます。

では、放物線$ y = x^2 $を、点$ (2, 1) $を中心に反時計回りに$ 60 $度回転させてみましょう。

ステップ1. 回転の中心を原点へ移動させる

$ (2, 1) $が原点に移動すればよいので、左に$ 2 $、下に$ 1 $移動することになります。この時点での式は、

$$ y + 1 = (x + 2)^2 $$

となります。

!FORMULA[41][-775370584][0] $y + 1 = (x + 2)^2\hspace{1mm}のグラフと原点に移動した回転の中心$

ステップ2. 全体を回転させる

$$ \cos{60^{\circ}} = \frac{1}{2}, \sin{60^{\circ}} = \frac{\sqrt{3}}{2} $$

なので

$$ x \hspace{2mm}\rightarrow\hspace{2mm} \frac{1}{2}x + \frac{\sqrt{3}}{2}y $$
$$ y \hspace{2mm}\rightarrow\hspace{2mm} - \frac{\sqrt{3}}{2}x + \frac{1}{2}y $$

とすればよいですね。この時点での式は、

$$ - \frac{\sqrt{3}}{2}x + \frac{1}{2}y + 1 = \left( \frac{1}{2}x + \frac{\sqrt{3}}{2}y + 2 \right)^2 $$

となります。

!FORMULA[46][329237839][0] $- \frac{\sqrt{3}}{2}x + \frac{1}{2}y + 1 = \left( \frac{1}{2}x + \frac{\sqrt{3}}{2}y + 2 \right)^2\hspace{1mm}のグラフと原点に移動した回転の中心$

ステップ3. 回転の中心を元の位置に戻す

ステップ1で左に$ 2 $、下に$ 1 $移動したので、右に$ 2 $、上に$ 1 $移動して元に戻します。

最終的に、式は

$$ - \frac{\sqrt{3}}{2}(x - 2) + \frac{1}{2}(y - 1) + 1 = \left( \frac{1}{2}(x - 2) + \frac{\sqrt{3}}{2}(y - 1) + 2 \right)^2 $$

となります。

!FORMULA[52][-413838761][0] $最終的に得られる放物線と\hspace{1mm}(2, 1)\hspace{1mm}に戻った回転の中心$

次回予告

移動、拡大・縮小、回転という基本的な操作を全て数式での操作にすることができました。
これからは、実際に図形を描いてみましょう。
第8回 は、「直線の方程式」です。
みなさんお待たせ致しました。第8回にしてようやく直線です。

免責事項

可能な限り連載を続けるようにしますが、作者失踪などで連載が中断する可能性もあります。連載が中断したことによる読者への不利益に関して、作者は一切の責任を負いません。

投稿日:2022118
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

nayuta_ito
93
31543

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中