【幾何学×Processing】第3回 私たちが line() で描いているのは「直線」ではない?線の定義と3つの分類

幾何学×Processing」第3回 線の定義と3つの分類を解説するグラフィック。暗い背景にグリッドや座標軸、数式、Processingのコードが並び、3種類の『線』が光るベクトルで比較されています。 1. 「線分 (Segment)」:x1, y1 と x2, y2 の『2つの端点でピタッと止まる線』。青い光で示され、対応するコード「line(x1, y1, x2, y2);」が添えられています。 2. 「半直線 (Ray)」:左の『始点』から右へ矢印と点線で『1つの点から片方へ無限に伸びる』様子を黄色い光で示しています。 3. 「直線 (Line)」:両端に矢印と点線がつき、画面の端から端まで『両端に終わりがなく、無限に伸び続ける』様子を赤い光で示しています。 右上には「0次元 (点) → 1次元 (線)」や座標ベクトルなどの数学的メモが描かれ、幾何学の公理とコードのつながりを視覚化したデザインです
  • URLをコピーしました!
今回の記事の目的
  • ユークリッド幾何学における「線(幅のない長さ・1次元)」の定義と、「線分・半直線・直線」という3つの厳密な違いを理解する。
  • 1点では定まらなかった方向が「2点」を指定することで1本にロックされる幾何学の公理と、Processingの line() 関数が内部で行っている「2点間の座標計算」が完全に同じ構造であることを掴む。
  • 「点(場所)」の次のステップとして、「線(関係性・方向)」がどのように空間の骨格を作っていくのか、クリエイティブコーディングにおける造形の本質を身につける。
ワタタク

どうもクリエイティブコーダーのワタタクです。

前回の記事『【幾何学×Processing】第2回:世界を作る最小の部品「点」の正体とは?』は、大きさも幅も持たない0次元の存在である「点」の正体を探りました。今回はその続編として、点が動き出すことで立ち上がる1次元の世界——「線(Line)」の構造を、ユークリッド幾何学の公理とProcessingのコードの両面から紐解いていきます。

私たちが普段、紙にペンで引いたり、Processingの line() で画面に描いたりしている「線」の裏側には、実は厳密な数学的ルールと構造の美しさが隠れています。

この記事を書いた人

クリエイティブコーダー Watataku のプロフィール写真
ワタタク(Watataku)

クリエイティブコーダー

「才能」ではなく「発見」で描く。文系・36歳からの上達ログ。

  • ゼロから独学でクリエイティブコーディングに挑戦し、以下の実績を達成
    • 開始1年8ヶ月目までに公募6つに挑戦し、3つ入選(勝率50%)
      • KITTE大阪の18メートルあるAxCROSS大型スクリーン
      • 虎ノ門ヒルズステーションタワーB2F TOKYO NODE エントランスサイネージで展示
      • UN:O(東京大手町)にある会員限定のサテライトオフィスにて2作品選出・常設展示
  • 開始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で次のようなコードを書いたとき、コンピューターの内部では何が起きているのでしょうか。

ユークリッド幾何学における直線・半直線・線分の3つの違いと、Processingのline()関数における表現イメージを比較した図解
void setup() {
  size(400, 400);
  background(255);
  stroke(0);
  
  // 2つの点を指定して「線分」を描く
  line(100, 100, 300, 200);
}

コンピューターは「1本の長い棒」をデータとして記憶しているわけではないんですね。

  1. コンピューターが持っているのは、始点 (100, 100) と終点 (300, 200) という「2つの点の位置データ」だけです。
  2. 画面に描画する瞬間に初めて、「この2点を最短距離で結ぶルールに従って、間にあるピクセルを順番に塗りつぶす」という計算(ラスタライズ)を行っています。

つまり、コードの上でも幾何学の公理の上でも、「線は2つの点によって支配されている(2点が決まれば自動的に生まれる)」という構造はまったく同じなのです。

今回のまとめと次回予告

  • 線の本質: 大きさゼロの「点」が動いた軌跡であり、幅を持たない1次元の「長さ」そのもの。
  • 3つの分類: 普段 line() で描いているのは、無限の「直線」から2点で切り取った「線分」。
  • 構造の誕生: 2つの点が決まることで初めて方向がロックされ、点と点の「関係性」が立ち上がる。

点が動き、2つの点が結ばれて「線」が生まれました。では、その線が3本集まって空間を閉じ込めたりしたとき、世界はどう変化するのでしょうか?

次回は、三角形についてです。

▼ あわせて読みたい

ワタタク

それでは今日もレッツワクワクコーディング。

ワタタク(Watataku)
クリエイティブコーダー
独学1年9ヶ月で虎ノ門ヒルズ49階、地上250mのインフィニティプールへ作品提供・展示

言葉×コード×手書き。三位一体の表現が成長する過程の記録

【発信】クリエイティブコーディング(2024.3~) / 絵(2025.11~) / モレスキン / 思考法 / 生き方

▼運営者について
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次