2

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

1611
0

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

イントロダクション

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

本編

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

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

座標変換

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

(a,b)を複素数a+biだと思うと、回転後の点は(a+bi)(cosα+isinα)と表されますね。

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

(a+bi)(cosα+isinα)=acosα+aisinα+bicosα+bi2sinα=acosα+aisinα+bicosαbsinα=(acosαbsinα)+(asinα+bcosα)

このことから、原点を中心として点(a,b)を角度αだけ回転させた際の点の座標は
(acosαbsinα,asinα+bcosα)
であることがわかります。

数式上の変換

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

すなわち、

xxcos(α)ysin(α)
yxsin(α)+ycos(α)

となります。cos(α)=cosα,sin(α)=sinαを使うと、

xxcosα+ysinα
yxsinα+ycosα

と書けますね。

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

!FORMULA[19][369645387][0] y=x2

これを、反時計回り(角度がプラスになる向き)に45度回してみましょう。cos45=sin45=12なので、次のように変換すればよいですね。

xx2+y2
yx2+y2

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

x2+y2=(x2+y2)2

!FORMULA[26][627518884][0] y=x245

当然、逆向きにすることもできます。時計回りに30度、すなわち30度回してみましょう。cos(30)=32,sin(30)=12なので、次のように変換されます。

x32x12y
y12x+32y

式はこうなりますね。

12x+32y=(32x12y)2

!FORMULA[33][1283589965][0] y=x230

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

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

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

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

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

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

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

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

y+1=(x+2)2

となります。

!FORMULA[41][-775370584][0] y+1=(x+2)2

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

cos60=12,sin60=32

なので

x12x+32y
y32x+12y

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

32x+12y+1=(12x+32y+2)2

となります。

!FORMULA[46][329237839][0] 32x+12y+1=(12x+32y+2)2

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

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

最終的に、式は

32(x2)+12(y1)+1=(12(x2)+32(y1)+2)2

となります。

!FORMULA[52][-413838761][0] (2,1)

次回予告

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

免責事項

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

投稿日:2022118
OptHub AI Competition

この記事を高評価した人

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

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

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

nayuta_ito
113
34973

コメント

他の人のコメント

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