【STAY HOME 応援企画】LibreLogo で直角ちょっかく二等辺にとうへん三角形さんかくけいえがこう

< 最終更新日時: 2023-12-07 >

直角二等辺三角形を描こう 🔰

直角二等辺三角形は,直角をはさむ 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 辺が ab であるとき,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 のように整数の比で表すことができるものが無数に存在します. そのような直角三角形 (ピタゴラスの三角形) を描くプログラムも作ってみましょう.