スキップしてメイン コンテンツに移動

【勉クラ】斜めの直線を描こう【中2】


「勉強するマインクラフト」2回目は任意の2つの点の間に直線を描く方法です。
90度や45度なら簡単に描けるのですが「ここからあそこまでまっすぐに!」となると数学の出番です。

というわけで今回は、一次関数を使います。
y = ax + b
これが一次関数の式です。

まずは計算に必要なフィールドを用意しましょう。
好きな2つの地点を選び、縦と横のブロック数を数えます。
(座標を使って計算してもOK)
その範囲を色分けすると、長方形ができました。
ここでは横17ブロック、縦12ブロックとなる長方形の対角の点を選びました。

ここでは左下のブロック(原点 (0, 0)として扱う)を通る直線を描くため、「b = 0」となります。 
関数にあてはめると「y = ax + 0」となりますが「+ 0」は省略できるので「y = ax」とします。

もう一方の点は「x = 16」「y = 11」の地点を通らせたいので、これを関数にあてはめると「a」の値を求められるようになります。
(*1ブロック目を「原点 = 0ブロック目」として数えるため、縦横とも実際のブロック数から1ずつ少なくする。)

------------------------------------------------------------

y = ax + 0

0 を足しても ax は変化しないので省略する
y = ax

実数を関数に当てはめる
11 = a × 16

右辺と左辺を入れ替える
a × 16 = 11

「× 15」を移項する
a = 11 ÷ 16

右辺を計算する
a = 0.6875

------------------------------------------------------------

「a」の値が決まりました。
これを関数にあてはめると「y = 0.6875x」となるので、あとは x の値を1ずつ変えて計算し、対応する y の値を求めるだけです。

実際に計算すると以下の通り。
結果に小数が含まれるところは、四捨五入します。

------------------------------------------------------------

y = 0.6875 × 1 = 0.6875 ≒ 1
y = 0.6875 × 2 = 1.375 ≒ 1
y = 0.6875 × 3 = 2.0625 ≒ 2
y = 0.6875 × 4 = 2.75 ≒ 3
y = 0.6875 × 5 = 3.4375 ≒ 3
y = 0.6875 × 6 = 4.125 ≒ 4
y = 0.6875 × 7 = 4.8125 ≒ 5
y = 0.6875 × 8 = 5.5 ≒ 6
y = 0.6875 × 9 = 6.1875 ≒ 6
y = 0.6875 × 10 = 6.875 ≒ 7
y = 0.6875 × 11 = 7.5625 ≒ 8
y = 0.6875 × 12 = 8.25 ≒ 8
y = 0.6875 × 13 = 8.9375 ≒ 9
y = 0.6875 × 14 = 9.625 ≒ 10
y = 0.6875 × 15 = 10.3125 ≒ 10
y = 0.6875 × 16 = 11

------------------------------------------------------------

この計算結果をブロックに置き換えて配置すると、きれいな直線のできあがり!

角度の違う直線を組み合わせると、変化に富んだ道が簡単に作れます♪

斜め建築っていいよね(*´ω`*)💓

(初公開日:2020-04-11)

コメント