数 · 円周上の掛け算

ひとつの掛け算が、なぜハートを描くのか

ルール

円周上の各点nを、点n × kと結びます。ひとつの掛け算が、カージオイドとその仲間を描きます。

クリックするとYouTubeから再生されます。

ライブデモ · ブラウザで動きます

試してみよう:ルールを変える

× 2.00
200

2倍:カージオイド、尖点はひとつ。

なぜそうなるのか

円周上に200個の点を置き、各点nを点n × 2と結びます。どの線も同じルールに従い、全体でハートの形をした曲線、カージオイドの輪郭が浮かびます。倍率を変えると、新しい形が現れます。

点 n → 点 (k · n) mod N整数の k → 尖点が k − 1 個のエピサイクロイド

自分で作る

Python 3 · numpy · matplotlib

点200個。それぞれをその2倍の点と結ぶと、カージオイドになります。

times-table.py
"""Times table on a circle: N dots, each dot n joined to dot (k * n) mod N.
Run: python times-table.py   (needs: pip install numpy matplotlib)
"""
import numpy as np
import matplotlib.pyplot as plt

plt.style.use("dark_background")

N, k = 200, 2  # the number of dots and the multiplier

start = 2 * np.pi * np.arange(N) / N  # dot n at the angle 2*pi*n/N
end = start * k  # dot k*n: angles wrap around the circle by themselves (that is the "mod N")

plt.figure(figsize=(6, 6))
for a, b in zip(start, end):
    plt.plot([np.cos(a), np.cos(b)], [np.sin(a), np.sin(b)], color="#f5c76b", linewidth=0.6)
plt.axis("equal")
plt.axis("off")
plt.show()

# Try: k = 3 for the nephroid, k = 101 to see it collapse into diameters

試してみよう: k = 3 にするとネフロイド、k = 101 にすると絵が直径だけにつぶれます。

このスクリプトを1行ずつ、練習問題とクイズで学ぶ → · Google Colabで実行(英語) →

先生向け: 45分の授業カードと3段階のワークシート →

動画が語る数学

動画の解説を読む(YouTubeより、英語)

200 points sit evenly around a circle, numbered 0 to 199. One rule draws everything: point n is joined by a straight line to point k·n, counting around the circle and wrapping past 200 (that is k·n mod 200). For k = 2 the envelope of the lines — the curve every one of them just touches — is a cardioid; k = 3 gives a nephroid with two cusps, and in general whole-number k gives an epicycloid with k − 1 cusps. k does not have to be a whole number: the end of each line simply slides along the circle, so the shapes morph into one another as k glides.

The richest flowers appear where k is one away from a simple fraction of 200 (51, 67, 99, 101, 133, 151 …): there the lines almost repeat every few points, and the near-misses pile up into petals. Because only the remainder after dividing by 200 matters, k = 201 sends every point to itself — all 200 lines shrink to nothing — and k = 202 is the cardioid again, exactly where the film began.

次の動画の説明より: Times Table on a Circle: One Rule Draws a Heart (Cardioid)(英語).

Shorts

出典