1

連載 グラフアートを描こう 第3回 グラフを動かそう

782
0

イントロダクション

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

本編

この記事では、グラフを上下左右に動かす方法について解説します。
描画したパーツを動かすのはお絵かきソフトでは必須機能ですが、グラフアートでも同様のことができます。

観察

まずは、ここにいくつかのxの値を用意しました。このときの、x2,x2,(x2)2の値を計算してみてください。

x3210123
x2
x2
(x2)2

この表を埋めると、次のようになるはずです。簡単な計算なので、すぐ下に答えがあります。スクロールは用意していません。

x3210123
x29410149
x25432101
(x2)2251694101

さて、この表のx2(x2)2の段を見て、何か気付くことはあるでしょうか。

x3210123
x29410149
(x2)2251694101

そうですね。(x2)2の段にある数は、x2の段にある数を2つ右にずらしたものになっています。

これがまさに、グラフを動かすときに使う考え方です。

発想

数が右にずれるということは、当然グラフも右にずれます。例えば、上の表から次のことが分かります:

  • y=x2のグラフに含まれる点(x,y)の中で、y=1をみたす点には、(1,1)(1,1)の2つがある。
  • y=(x2)2のグラフに含まれる点(x,y)の中で、y=1をみたす点には、(1,1)(3,1)の2つがある。
    • これらの2点は、(1,1)(1,1)x座標をそれぞれ2増やしたものである。
  • y=(x2)2のグラフに含まれる他の点も、対応するy=x2のグラフに含まれる点のx座標を2増やしたものになっている。
    • すなわち、y=(x2)2のグラフは、y=x2のグラフを右に2ずらしたものである。

一般に、ある数式のグラフを右にaずらすには、その数式の中のxxaに変えればよさそうですね(上の例のように、xaの両側に括弧が必要な場合があることに注意)。

あるいは、このようにも考えることができます: 本来(s,t)にある点を(s+a,t)に移動させたいのだから、数式でxxaにすればs+aa=sで帳消しにできる。

具体例

これは前回描いたy=x32xのグラフです。

!FORMULA[104][765789487][0] y=x32x

これを右に1ずらすには、どうすればよいでしょうか?

そうですね、y=(x1)32(x1)です。
お好みで括弧を展開して、y=x33x2+x+1としてもかまいません。

!FORMULA[108][1933668431][0] y=(x1)32(x1)

もちろん、y=の形でなくてもずらせます。例えば、前回描いた楕円ですが、

!FORMULA[110][-1539848505][0] 4x2+y2=1

これを右に0.2ずらすには、4(x0.2)2+y2=1とすればよいです。

!FORMULA[113][-278398553][0] 4(x0.2)2+y2=1

左へ動かす

右へ動かすことはできましたが、左へ動かすにはどうすればよいでしょうか。ここでもこの考え方が役に立ちます:

  • 本来(s,t)にある点を(s+a,t)に移動させたいのだから、数式でxxaにすればs+aa=sで帳消しにできる。

今度は(s,t)にある点を(sa,t)に移動させたいので、数式でxx+aにすれば帳消しにできそうですね。具体例とともにやってみましょう。上の2つの例を、同じ量だけ逆向きに動かしてみます。

!FORMULA[123][-540017393][0] y=(x+1)32(x+1)

!FORMULA[124][-278398553][0] 4(x0.2)2+y2=1

グラフからも、うまくいっていることがわかります。

また、右へ動かしたグラフを左へ同じ量動かすと元に戻るはずですが、(xa)+a=xなので、確かに数式の上でも元に戻ることが分かります。

上下へ動かす

左右へ動かす方法はわかりましたが、上下へ動かすにはどうすればよいでしょうか。

答えは非常に単純です。xyに変えればよいだけです。

では、y=x32xのグラフを上に1ずらしてみましょう。
xでやったことをyでやればいいので、y1=x32xとなります。
「右辺に+1を付けるんじゃないの?」と思った方もいるかもしれませんが、左辺の1を移項すれば同じになります。

!FORMULA[135][1390195341][0] y1=x32x

当然、y=の形でなくても同様に動かすことができます。

!FORMULA[137][-194780663][0] 4x2+(y0.2)2=1

マイナスをプラスに変えると下へ動きます。

!FORMULA[138][688595467][0] y+1=x32x

!FORMULA[139][-1580984057][0] 4x2+(y+0.2)2=1

複合

ここまでのことを使うと、グラフを好きなところへ動かすことができます。例えば、今まで使ってきた楕円4x2+y2=1のグラフを左に1、上に0.4動かすには、xy両方への変換を組み合わせて、4(x+1)2+(y0.4)2=1と書くことができます。

!FORMULA[146][829237414][0] 4(x+1)2+(y0.4)2=1

演習問題

x2+(yx23)2=1のグラフは、次のようなハートのグラフを描くことが知られています。

!FORMULA[148][-1027253689][0] x2+(yx23)2=1

このグラフを、右に12、下に1動かすには、どのような数式にすればよいでしょうか。

(下にスクロールしてください)

xx12yy+1に置き換えればよいので

(x12)2+(y+1(x12)23)2=1

となります。x12には括弧が必要であることに注意してください。

!FORMULA[157][-460538069][0] (x12)2+(y+1(x12)23)2=1

次回予告

移動ができたら、次は大きさを変えてみましょう。
第4回 は、「グラフを拡大・縮小しよう」です。

免責事項

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

投稿日:20211219
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

nayuta_ito
114
35507

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. イントロダクション
  2. 本編
  3. 次回予告
  4. 免責事項