直角二等辺三角形を描こう 🔰
直角二等辺三角形は,直角をはさむ 2 辺の長さが等しい三角形です. 三角定規の 1 つであり,正方形の折り紙を対角線で半分に折ったときにできる図形でもあります. この図形を描く LibreLogo プログラムを考えてみましょう.
直角をはさむ 2 辺は短いので短辺と呼ぶことにして,その長さを :L
とします.
すると,直角をはさむ 2 辺は次のように書けそうです.
:L = FLOAT (INPUT "短辺の長さ")
FD :L
RT 90
FD :L
残る 1 辺は斜辺と呼ばれますが,どうやれば描けるでしょうか. これまでのやり方では,斜辺を描くためにタートルをどれだけ回転させるかと,どれだけ直進させるかを考える必要がありそうです. 回転させる角度はともかく,斜辺の長さを求めるには平方根を学ばなければなりません.
平方根がわからなくても,直角二等辺三角形を描く方法があります.
それは,CLOSE
命令を先ほどのプログラムのいちばん下に加えるという方です.
CLOSE
のかわりに FILL
命令を使うと,三角形の内部に色を塗ることができます.
できあがったらプリンタで印刷して,角度や長さを測ってみるとよいでしょう※1.
直角二等辺三角形と円を描こう 🔰
プログラミングのおもしろいところは,正解が 1 つとはかぎらないことです. せっかくなので,直角三角形の性質を考えながら,ほかにも直角二等辺三角形を描く方法を紹介していきましょう.
直角三角形の斜辺が直径となるような円を描くと,直角三角形の 3 つの頂点は必ず円周に乗ります.
直角二等辺三角形であれば,斜辺の中点が円の中心となります.
このことがわかるような図を POINT
命令を使って描いてみましょう.
:L = FLOAT (INPUT "円の半径")
CIRCLE :L * 2
PU
REPEAT 3 [
FD :L
POINT
BK :L
RT 90
]
PD
CLOSE
このプログラムが描く円と直角二等辺三角形の関係を,「円に直角二等辺三角形が内接している」あるいは「直角二等辺三角形に円が外接している」といいます.
ちなみに REPEAT
命令より前に HT
命令を加えたり,下から 2 行目の PD
命令を ;
でコメントアウトしたり,PD
命令を 削除したりしても動作は変わらないはずです.
できあがったらプリンタで印刷して,角度や長さを測ってみるとよいでしょう※1.
直角二等辺三角形を並べて描こう 🔰
直角二等辺三角形の直角以外の 2 つの角は 45 度になるので,1 つの点のまわりに 8 つの直角二等辺三角形を重ならないように並べることができるはずです.
描きはじめの点の位置 (座標) をおぼえておき,その点へタートルを動かすために POS
命令を使ってみましょう.
:L = FLOAT (INPUT "短辺の長さ")
:P = POS ; 位置をおぼえる
REPEAT 8 [
FD :L
RT 90
FD :L
POS :P
RT 180
]
できあがったらプリンタで印刷して,角度や長さを測ってみるとよいでしょう※1.
直角二等辺三角形でらせんを描こう
この項は少し難しいので若葉マーク 🔰 は付けずに書きます.
直角三角形について,斜辺が c,残りの 2 辺が a と b であるとき,a2+b2=c2 が成り立つことを三平方の定理,あるいはピタゴラスの定理と呼びます. この等式にしたがえば,短辺が 1 の直角二等辺三角形の斜辺 x は,x2 = 2 を満たすことになります. 2 乗するとちょうど 2 になるような正の数を 2 の平方根と呼び,(√2) と書くことにすれば,x=(√2) となります. (√2) は 1 より大きく,2 よりは小さい数ですが,小数点以下何桁まで求めても正確に表すことができない無理数の 1 つです※2. 円周率をあらわす π も無理数の 1 つです※3.
前置きが長くなりましたが,LibreLogo で 2 の平方根を計算するには SQRT(2)
と書きます※4.
これを使って,直角二等辺三角形を並べるプログラムで,1 つずつ三角形を大きくしながら描いてみましょう※5.
:L = FLOAT (INPUT "短辺の長さ")
REPEAT 8 [
FD :L
RT 90
FD :L
RT 135
:L = :L * SQRT(2)
FD :L
RT 180
]
プログラムを実行するときは,入力する辺の長さを 5mm
くらいの小さな値にすることをおススメします.
できあがったらプリンタで印刷して,角度や長さを測ってみるとよいでしょう※1.
いろいろな直角三角形を描くプログラムを作ってみよう
ここまでの内容がよく理解できたならば,もう1 つの三角定規である正三角形を半分に切ったときにできる直角三角形を描くプログラムを作ってみましょう. この直角三角形の内角は 30 度,60 度となり,一番短い辺の長さは斜辺の長さの半分になるという性質があるのでしたね.
直角三角形のなかには,3 辺の長さの比が 3:4:5 や 5:12:13 のように整数の比で表すことができるものが無数に存在します. そのような直角三角形 (ピタゴラスの三角形) を描くプログラムも作ってみましょう.