- ユークリッド幾何学における「線(幅のない長さ・1次元)」の定義と、「線分・半直線・直線」という3つの厳密な違いを理解する。
- 1点では定まらなかった方向が「2点」を指定することで1本にロックされる幾何学の公理と、Processingの
line()関数が内部で行っている「2点間の座標計算」が完全に同じ構造であることを掴む。 - 「点(場所)」の次のステップとして、「線(関係性・方向)」がどのように空間の骨格を作っていくのか、クリエイティブコーディングにおける造形の本質を身につける。
どうもクリエイティブコーダーのワタタクです。
前回の記事『【幾何学×Processing】第2回:世界を作る最小の部品「点」の正体とは?』は、大きさも幅も持たない0次元の存在である「点」の正体を探りました。今回はその続編として、点が動き出すことで立ち上がる1次元の世界——「線(Line)」の構造を、ユークリッド幾何学の公理とProcessingのコードの両面から紐解いていきます。
私たちが普段、紙にペンで引いたり、Processingの line() で画面に描いたりしている「線」の裏側には、実は厳密な数学的ルールと構造の美しさが隠れています。
この記事を書いた人


クリエイティブコーダー
「才能」ではなく「発見」で描く。文系・36歳からの上達ログ。
- ゼロから独学でクリエイティブコーディングに挑戦し、以下の実績を達成
- 開始1年8ヶ月目までに公募6つに挑戦し、3つ入選(勝率50%)
- KITTE大阪の18メートルあるAxCROSS大型スクリーン
- 虎ノ門ヒルズステーションタワーB2F TOKYO NODE エントランスサイネージで展示
- UN:O(東京大手町)にある会員限定のサテライトオフィスにて2作品選出・常設展示
- 開始1年8ヶ月目までに公募6つに挑戦し、3つ入選(勝率50%)
- 開始1年9ヶ月目に、虎ノ門ヒルズ49階、地上250mのインフィニティプールへ作品提供・展示
線の正体:「幅のない、純粋な長さ(1次元)」
紀元前300年頃、数学者ユークリッドは著書『原論』の中で、点を「部分を持たないもの」と定義した直後に、線を次のように定義しました。
「線とは、幅のない長さである」
ここでも、私たちの「目の前の現実」と「数学の概念」の間には決定的な違いがあります。
- 紙や画面の上の線(現実): ペンのインクの滲みや、モニター上のピクセル(
strokeWeight(5);など)によって、目に見える線には必ず「太さ(幅)」があります。しかしこれは点と同じく、人間の目に見えるようにするための「標識(目印)」にすぎません。 - 数学の線(概念): 大きさゼロの「点」が、一定の方向へツーッと動いた「足跡(軌跡)」です。元の点の幅がゼロであるため、動いてできた軌跡にも「幅」は一切ありません。あるのは純粋な「長さ」と「方向」だけです。
0次元の「点」が運動(時間や変化)を得た瞬間に、初めて「長さ」という1次元の世界が立ち上がります。
「線」には厳密に3つの種類がある
日常会話ではすべてひとまとめに「線」と呼んでいますが、幾何学の世界では「端っこ(限界)があるかどうか」によって、次の3つに厳密に区別されます。ここがProcessingのコードと直結する重要なポイントです。
| 名前 | 幾何学の定義 | イメージ | Processingでの対応 |
| 線分(せんぶん) | 2つの点(端点)でピタッと止まる線 | 糸をピンと張った状態。長さを測れる。 | line(x1, y1, x2, y2);(普段コードで描くのはほぼコレ) |
| 半直線(はんちょくせん) | 1つの点からスタートし、片方へ無限に伸びる線 | 懐中電灯の光線、レーザービーム。 | 画面の端まで突き抜ける視線や、ベクトル(向き)の概念 |
| 直線(ちょくせん) | 両端に終わりがなく、どこまでも無限に伸び続ける線 | 宇宙の端から端まで貫く見えないレール。 | 補助線や「この線上にあるか?」という数式上のルール |
私たちがProcessingで line(100, 100, 300, 200); と書いて画面に引いているものは、厳密には無限に続く「直線」ではなく、始点と終点で切り取られた有限の「線分」です。
無限に伸びる「直線」という見えないレールの上から、必要な長さだけを切り出して画面に定着させる行為——それが line() を使うということなのです。
なぜ「2点」が決まると、線は「1本」に決まるのか?
記事『大きさゼロの「点」に、幅・長さ・面積・体積を与えてみた ― Processingの point() だけで立ち上げる次元の実験【WSN : L-011~L-015】』の考察で、「点に大きさを許すと、2つの点の間に何本もの線が引けてしまう」という矛盾に触れました。これは、ユークリッド幾何学の最も重要な大原則(公理)の裏返しです。
- 1つの点だけでは: どの方向に伸びるかが決まらないため、その点を通る線は360度、無数に引けてしまいます(風車のようにくるくる回転して定まりません)。
- 2つ目の点を打つと: 方向と傾きが完全にロックされ、その2点を通る直線は宇宙にたった1本しか存在できなくなります。
1点だけではグラグラと不安定だった空間に、2つ目の点を打った瞬間に、ピタッと1本の軸が固定される気持ちよさ。
ただの「場所」でしかなかった「点」が2つ集まることで、そこにはじめて「関係性(つながり・距離・方向)」という構造が生まれます。
Processingで line() を書くということ
Processingで次のようなコードを書いたとき、コンピューターの内部では何が起きているのでしょうか。


void setup() {
size(400, 400);
background(255);
stroke(0);
// 2つの点を指定して「線分」を描く
line(100, 100, 300, 200);
}コンピューターは「1本の長い棒」をデータとして記憶しているわけではないんですね。
- コンピューターが持っているのは、始点
(100, 100)と終点(300, 200)という「2つの点の位置データ」だけです。 - 画面に描画する瞬間に初めて、「この2点を最短距離で結ぶルールに従って、間にあるピクセルを順番に塗りつぶす」という計算(ラスタライズ)を行っています。
つまり、コードの上でも幾何学の公理の上でも、「線は2つの点によって支配されている(2点が決まれば自動的に生まれる)」という構造はまったく同じなのです。
今回のまとめと次回予告
- 線の本質: 大きさゼロの「点」が動いた軌跡であり、幅を持たない1次元の「長さ」そのもの。
- 3つの分類: 普段
line()で描いているのは、無限の「直線」から2点で切り取った「線分」。 - 構造の誕生: 2つの点が決まることで初めて方向がロックされ、点と点の「関係性」が立ち上がる。
点が動き、2つの点が結ばれて「線」が生まれました。では、その線が3本集まって空間を閉じ込めたりしたとき、世界はどう変化するのでしょうか?
次回は、三角形についてです。
▼ あわせて読みたい
- 【幾何学×Processing 連載シリーズ】
- 全体像:【幾何学×Processing】第1回:幾何学とは何か?世界を「形とルール」で捉え直すプロローグ
- 前回の記事:【幾何学×Processing】第2回:世界を作る最小の部品「点」の正体とは?
- 本記事:【幾何学×Processing】第3回 私たちが line() で描いているのは「直線」ではない?線の定義と3つの分類
- 次回:三角形に続く
それでは今日もレッツワクワクコーディング。

