今回は、亀さん(turtle)にお絵かきをしてもらいます。亀さんに「100歩進んで」「90度まがって」と命令するだけで、四角形が描けちゃう。算数で習った『正多角形』のしくみが、自分で動かしてみるとよく分かるよ。
今日の道具:Trinket.io
前回は を使ったけど、亀さん(turtle)は Colab だと動かせないので、今日は trinket.io という別のサイトを使います。これも無料・ログイン不要。
- 1ブラウザで `trinket.io/python` を開く
- 2ログインせずそのまま「Trinket」エディタが使える
- 3左側にコードを書いて、右側に絵が出る
Step 1: 四角形を描く
Trinket に貼り付けて、▶ Run
Python
from turtle import *
# 四角形を描くfor i in range(4): forward(100) # 100歩 前へ進む right(90) # 右に 90度 まがるStep 2: 三角形・五角形・六角形
正多角形のひみつは、まがる角度。1周は360度なので、辺の数で360を割ると、まがる角度が分かるよ。
| 形 | 辺の数 | まがる角度 | 計算式 |
|---|---|---|---|
| 正三角形 | 3 | 120度 | 360÷3 |
| 正方形 | 4 | 90度 | 360÷4 |
| 正五角形 | 5 | 72度 | 360÷5 |
| 正六角形 | 6 | 60度 | 360÷6 |
| 正十角形 | 10 | 36度 | 360÷10 |
正多角形を一気に試すコード
Python
from turtle import *
# n 角形を描く関数def polygon(n, size=80): angle = 360 / n for i in range(n): forward(size) right(angle)
# 三角形 → 五角形 → 八角形polygon(3)penup(); goto(150, 0); pendown() # ペンを上げて移動polygon(5)penup(); goto(300, 0); pendown()polygon(8)Step 3: 星と雪の結晶
もうちょっと面白くしよう。星形は、亀さんを「進んで → ぐるっと144度まがる」を5回繰り返すだけで描ける。
星を描く
Python
from turtle import *color("orange")for i in range(5): forward(150) right(144)雪の結晶は、6本の枝がきれいに並んでる。Pythonなら、ループで簡単に描ける:
雪の結晶
Python
from turtle import *color("skyblue")speed(10)
for branch in range(6): # 6本の枝 for step in range(3): forward(50) backward(50) right(30) forward(20) backward(20) left(60) forward(20) backward(20) right(30) backward(50) left(60) # 次の枝の方向へやってみよう
- 正七角形を描いてみる(角度は何度?)
- 正100角形を描いたらどうなる?(ヒント: ほぼ円になるよ)
- 色を `color("red")` `color("blue")` などで変える
- `speed(0)` を最初に入れると、亀さんがもっと速く描く
おうちの人へ
「正多角形の内角の和」「正多角形の外角」は中学受験や中1の単元です。Pythonで実際に動かすと「内角=180-外角」「外角の和は360度」が体感できます。手書きでは描けない正100角形が一瞬で出るのも体験のうちです。
に聞いてみよう
AIに頼むプロンプト
小学6年生の子と Trinket.io で turtle 使って図形を描いています。
正多角形のあとに、子供が「もっと複雑なきれいな模様も描いてみたい!」と言っています。
小学生でも作れる、turtleで描けるきれいな模様を3つ、コードと一緒に教えてください。
コードには、各行が何をしているかコメントも書いてください。 想定される実行結果(例示)
小学生に大ウケなturtle模様を3つ!
## 1. らせん(ぐるぐる広がる線)
```python
from turtle import *
color("magenta")
for i in range(100):
forward(i) # だんだん長く進む
right(91) # 91度(90度より1度多い)でまがる
```
→ 正方形がだんだんずれて、きれいな渦巻きに。
## 2. 太陽の花
```python
from turtle import *
color("orange")
for i in range(36): # 36回
for j in range(4):
forward(80)
right(90)
right(10) # 少しずつ角度を変えて重ねる
```
## 3. 万華鏡
```python
from turtle import *
speed(0)
colors = ["red", "blue", "green", "purple", "orange"]
for i in range(36):
color(colors[i % 5])
for j in range(5):
forward(100)
right(144)
right(10)
```
どれも30秒で動きます!次回予告
次回は、有名な数 「3.14」(円周率π) を、自分のパソコンで「実験」して見つけます。100万個の点を打つだけで、本当に3.14が出てくるよ。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。