Skip to content

About

書籍「インドラの真珠: クラインの夢みた世界」のいくつかの画像を描く

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

IndrasPearl

書籍「インドラの真珠: クラインの夢みた世界」に登場する図形や写像を、Python で描画するためのプロジェクトです。

プロジェクト概要

このリポジトリでは、主に次のような対象を扱います。

  • メビウス変換
  • 円の像の計算
  • ショットキー群に関連する円の配置
  • ショットキー群の「ダンス」的な円の反復描画
  • 円反転による図形の可視化

実装の中心は src/lib.py にあり、以下のような機能を提供しています。

  • MobiusTransform による 1 次分数変換の表現
  • 点に対するメビウス変換
  • 円に対するメビウス変換
  • 固定点の計算
  • 円反転の描画補助
  • ショットキー円の像をたどる schottky_dance
  • その結果を描画する plot_schottky_dance

また、実行用スクリプトとして schottky_dance.py を用意しており、ショットキー円の図を表示できます。

実行に使う主なファイル

  • src/lib.py
    • 数学的な処理と描画用ヘルパーをまとめたライブラリ
  • main.py
    • 円反転の図を表示する簡易エントリーポイント
  • schottky_dance.py
    • schottky_dance を使ってショットキー円の図を描画する実行スクリプト
  • pyproject.toml
    • 依存関係とプロジェクト設定

使い方

円反転の図を描く

uv run main.py

ショットキー円の図を描く

uv run schottky_dance.py --depth 3

--depth を大きくすると、より深い世代まで円をたどります。

現在の状態

このプロジェクトは、まだ発展途中です。 描画やショットキー群の処理は動き始めていますが、実際の書籍に出てくる設定に完全に合わせるには、まだ整理や拡張の余地があります。

  • [ ] 実際のショットキー群の生成元を、書籍の設定に合わせて定義する
  • [ ] schottky_dance.py のデモ用設定を本番設定に置き換える
  • [ ] plot_schottky_dance の色分けやラベル表示を改善する
  • [ ] 円の像が直線になるケースの表示方法を整理する
  • [ ] 画像保存モードを追加して、GUI を使わずに出力できるようにする
  • [ ] main.py と schottky_dance.py の役割分担を明確にする
  • [ ] README に依存関係のインストール手順を追加する
  • [ ] 書籍中の他の図版を描画する関数を追加する

メモ

このリポジトリでは、複素解析・幾何・群作用の可視化を通じて、書籍の内容をプログラムで追体験できるようにすることを目指しています。

About

書籍「インドラの真珠: クラインの夢みた世界」のいくつかの画像を描く

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages