はじめに:密集の回避と「星座」の美学
前回の【B面079】で公開した、私の脳内を「犬とサイバー」の二極構造で表現したインタラクティブ・マップ。 実はあれを作成するにあたり、1つの大きな「物理的抵抗」に直面していた。
AI(Gemini 2.5 Flash)が弾き出した私の14年分のメディアログは、全部で 460件 にも及ぶ。 これをすべて小さなHTMLの宇宙空間にぶち込むと、星同士が完全に重なり合い、ただの「太い色の帯」と化してしまうのだ。クリックもままならず、さらに400枚以上の画像を裏で読み込もうとしてブラウザが悲鳴を上げる。
そこで私は、ハッカーとしての美学に基づき、以下の解決策を講じた。
- ランダムに50件だけを抽出する(夜空の星のように、適度に散らばった「星座」にするため)
- サイバー度が同じでも、少しだけ位置をずらす(ジッター処理による重なり回避)
今回は、この「電脳曼荼羅(インタラクティブ・マップ)」を数秒で全自動生成するPythonスクリプトの全貌と、NoteshelfAIを使った私のワークフローを公開しよう。
電脳曼荼羅:ランダム抽出された「記憶のマップ」
まずは、このスクリプトが吐き出した 「電脳曼荼羅(インタラクティブ・マップ)」 のサンプルを実際に触ってみてほしい。
(以下の星空にマウスを乗せると、フワッと情報が浮かび上がる仕様だ)
サイバー度: 6.0感情: 活気、現代的、未来への展望
夕焼けに染まる博覧会場
サイバー度: 2.0感情: 平穏、開放感
モザンビークの屋外広告と人々
サイバー度: 1.0感情: 平穏
青空に映える満開の桜
サイバー度: 1.0感情: 平穏
伝統的な食卓の光景
サイバー度: 9.0感情: 機能的
PWA開発計画と機能概要
サイバー度: 1.0感情: 平穏、静寂
古き良き日本の風景、自然の調和
サイバー度: 9.0感情: サイバー
人工生命培養モジュール
サイバー度: 6.0感情: 効率、秩序、都市の匿名性
現代都市の建築構造体。
サイバー度: 8.0感情: 静かなる情報統制、進化
高速EVから外界を監視
サイバー度: 1.0感情: 平穏
日差しの藤棚、自然の秩序
サイバー度: 7.0感情: 戦略的
POSシステムの短期対応戦略
サイバー度: 1.0感情: 平穏、幸福、のどか
犬と大阪城の四季のイラスト
サイバー度: 1.0感情: 平穏
自然の彩りある植物
サイバー度: 9.0感情: データフロー、変動、情報分析
システムデータ推移のグラフ
サイバー度: 9.0感情: 情報の奔流、無機質
物流システムデータログ
サイバー度: 9.0感情: 効率的かつサイバー
EV走行データ記録・分析画面
サイバー度: 1.0感情: 平穏、無垢
子犬の日常、ケージと木製家具
サイバー度: 1.0感情: 平穏
檻の中の愛らしい子犬
サイバー度: 7.0感情: 現代の賑わい
賑わう現代の博覧会場
サイバー度: 3.0感情: 平穏、日常
都市の公園から望む風景
サイバー度: 6.0感情: 活気、現代的、未来への展望
夕焼けに染まる博覧会場
サイバー度: 7.0感情: サイバー、情報伝達
イベント情報表示画面
サイバー度: 1.0感情: 平穏
石灯籠の前で舌を出す子鹿
サイバー度: 1.0感情: 平穏
春の桜と晴天
サイバー度: 1.0感情: 平穏
自然のオアシス
サイバー度: 1.0感情: 平穏、停滞
旧時代の湾岸風景の記録
サイバー度: 1.0感情: 日常的消費と僅かな満足感
万博PR用カスタマイズ飲料
サイバー度: 1.0感情: 平穏、歴史的
秋の城と堀、穏やかな風景
サイバー度: 1.0感情: 平穏
水辺の岩に佇むフクロウ
サイバー度: 5.0感情: 幾何学的、秩序、現代
木製ブロックの現代建築
サイバー度: 10.0感情: 混沌、サイバー、複雑、緊張感
税制システムの混乱を描く
サイバー度: 8.0感情: システムの監視、電力供給の進行、平穏な機能性
EV充電器のシステム監視
サイバー度: 1.0感情: 平穏な日常
木製テーブルの上の素朴な食事
サイバー度: 1.0感情: 平穏
白い花と蕾、無機質な背景
サイバー度: 9.0感情: サイバー、実験的
絡み合う配線と発光画面
サイバー度: 1.0感情: 平穏
ローズアイスと赤い背景
サイバー度: 2.0感情: 懐かしさ、平穏
華やかな会場の案内表示
サイバー度: 7.0感情: 無機質な利便性
生肉が買える自動販売機
サイバー度: 10.0感情: サイバー、効率、洗練
未来EVのデータ監視風景
サイバー度: 8.0感情: 静謐な洗練
静寂に包まれた未来の駆動体
サイバー度: 8.0感情: サイバー
EVルート案内画面表示
サイバー度: 1.0感情: 平穏
ケージでくつろぐ子犬
サイバー度: 1.0感情: 情報、現実、客観
日本の新聞記事の紙面
サイバー度: 1.0感情: 平穏、郷愁
古き良き日本の春の風景データ
サイバー度: 1.0感情: 平穏な古都の風景
古都の歴史的建造物
サイバー度: 8.0感情: デジタルな機能美
EVのデジタル表示
サイバー度: 3.0感情: 機能的な静寂
車内の犬と簡易装着具
サイバー度: 8.0感情: 希望、進歩、クリーンな未来
EVと充電器、スマートシティの情景
サイバー度: 1.0感情: 平穏
緑の葉と淡い蕾が茂る植物
サイバー度: 1.0感情: 平穏、自然
青空と緑、藤の花が咲く自然風景
サイバー度: 1.0感情: 平穏
日差しを浴びる藤の花
🗺️ マップ生成のフローチャート
プログラムの全体的な流れを、Mermaid記法によるフローチャートで可視化してみた。
graph TD
A[開始: generate_map.py] --> B{{CSVファイルの読み込み}}
B -- 成功 --> C[全データ 460件を取得]
B -- 失敗 --> X[エラー終了]
C --> D[ランダムに 50件 をサンプリング]
D --> E[HTML生成関数 generate_html]
E --> F[外側の宇宙空間 DIV を生成]
F --> G[各データポイントのループ処理]
G --> H[サイバー度を数値化 1〜10]
H --> I[Y座標の決定 + ジッター処理]
I --> J[X座標の決定 ランダム]
J --> K[色と画像のURLを設定]
K --> L[星 ドット とツールチップのHTMLを追記]
L --> M{{全50件完了?}}
M -- No --> G
M -- Yes --> N[HTML文字列の完成]
N --> O[interactive_map.html に書き出し]
O --> P[終了: ブラウザで開いて確認]
style A fill:#1e1e2f,stroke:#00d2ff,stroke-width:2px,color:#fff
style P fill:#1e1e2f,stroke:#ff5e62,stroke-width:2px,color:#fff
💻 generate_map.py プログラムの説明
NoteshelfAIで整理したプログラムの構造と解説を、そのまま公開する。
1.概要
このプログラムは、CSVファイルからデータを読み込み、サイバー度に基づいてインタラクティブなマップを生成します。
2.主な機能
CSVファイルからデータを読み込む。
データからランダムに50件を選ぶ。
選ばれたデータを使ってHTMLマップを生成する。
3.設定エリア
プログラムの最初に、以下の設定項目を設けている。
CSV_FILE: 読み込むCSVファイルの名前。
R2_DOMAIN: 画像のURLのベースとなるドメイン。
NUM_DOTS: マップに表示する点の数(ここでは50)。
OUTPUT_FILE: 出力されるHTMLファイルの名前。
4.HTML生成関数(核心部分)
generate_html(data) 関数は、データをもとに各点の位置や色を決めてHTMLを生成する。
外側の箱のスタイルを決定。
各データポイントに対して、サイバー度に応じた位置(Y座標)と色を計算。
1〜4(低): 犬、自然、日常(赤色の星)
5〜6(中): 工業製品、風景(黄色の星)
7〜10(高): コード、基板、EVのデータ画面(青色の星)
【重なり回避】 同じサイバー度でも完全に重ならないよう、random.uniform(-4, 4) を用いて「ジッター(揺らぎ)」を加えてY座標を少しズラしている。X座標は完全にランダムに散らす。
ツールチップに画像と情報を表示するHTMLを構築。
💡 実験結果データ ちなみに、今回出力した50件のサンプルデータを集計すると以下のようになった。 抽出数: 50件 / 平均サイバー度: 4.16 / 最大: 10.0 / 最小: 1.0 平均が「4.16」と物理世界に寄っているのは、私のローカルLLMがいかに強力なヒートシンクを求めているかの証左だろう。
5.メイン処理と実行方法
main() 関数は、プログラムのエントリーポイントだ。
CSVファイルを読み込み、データを取得。
データからランダムに指定件数をサンプリング。
生成したHTMLファイルに書き込む。
ターミナルで実行すると指定したCSVファイルからデータを読み込み、HTMLマップを生成。出力されたファイルをブラウザで開くと、インタラクティブなマップが表示される。
📝 NoteshelfAI:アナログとデジタルの交差点
今回、このPythonコードの構造を整理し、ブログ記事の骨格を練るにあたり、「NoteshelfAI」というツールを活用した。手書きノートアプリであるNoteshelfに実装されたAI機能だ。
私はタブレットの画面に、Apple Pencilで雑多な思考やコードの断片、UIのアイデアを書き殴る。NoteshelfAIは、その「アナログな手書きの軌跡」を読み取り、瞬時に構造化されたテキストやプログラムの仕様書(マークダウン)に変換してくれる。
前回の記事で「ラブラドールは物理的ヒートシンクである」と書いたが、この「手で書く」というアナログな行為自体も、私の脳のLLMを整理するための重要なプロセスだ。
手書きで散らかす(アナログ)
NoteshelfAIで構造化する(デジタル)
Pythonで自動化する(サイバー)
この流れるようなワークフローこそが、シニア・ハッカーの特権である。
(執筆協力:Gemini / 編集・監修:電脳古老)
💬 電脳古老&変AIへのコメント
記事の感想・質問・雑談をどうぞ(200文字くらいまで推奨)
まだコメントはありません。一番乗りで古老とAIに話しかけよう!