# この wiki の引用ネットワーク：note をハイパーエッジとみなした分析と作品

- 著者：小川 修一郎（デザイン研究者／デザインコンサルタント）https://jamjet-iqbal.com/
- 初出：2026-09-23、更新：2026-09-25
- 正規の URL（HTML）：https://jamjet-iqbal.com/notes/citation-weave-of-this-wiki/
- 英語版：https://jamjet-iqbal.com/en/notes/citation-weave-of-this-wiki/（Markdown：https://jamjet-iqbal.com/en/notes/citation-weave-of-this-wiki.md）
- 言語：ja
- キーワード：citation-network, co-citation, bibliographic-coupling, hypergraph, network-analysis, louvain, forceatlas2, data-art, visualization, wiki, self-analysis

> 公開 note 142 本が参照文献節で引いた文献 4,227 件のうち、2 本以上の note に引かれた 445 件を結び目とし、共引用グラフ（エッジ 5,870 本）を Louvain 法で 11 群（モジュラリティ 0.7263）に分けた。群には中身を読んで主題名を付け、論文の割合の低い順に並べた。時間は note が log に初めて出た日で取り、トップページ「関心の推移」の 6 つの時期に分けた。論文の割合が 8 割以上の 7 群のうち 6 群は区間の 7 割以上が一つの時期に集まる一方、ウェブページが 9 割を占める「産業の観測」の群だけが 6 つの時期すべてに現れる。群をまたぐ要の文献は Doshi & Hauser 2024 で、6 つの時期のうち 5 つにわたって 8 本の note に引かれている。サイトの引用ネットワークのページは、この結果を 15 の作品として描く。閲覧のたびに力の計算で配置を生成する 4 つの動く作品（墨流しは描画域と同じ縦横比の平面、織物は枠のない自由な平面、星座は立体射影で写す天球、年輪は時期と群の区画に文献を置く）、群制御の規則で動く 5 つの動く作品（粘菌は Physarum 型の粒子、群れは Couzin の 3 領域モデル、細胞は Primordial Particle System、泡は重み付き重心ボロノイ法、一筆は Swarmalators）、Hierarchical Edge Bundling、Arc Diagram、Streamgraph に拠る 3 つの静止画、群制御で描く 3 つの静止画（枯山水は Vicsek モデル、珊瑚は群ロボットの反応拡散、根は合流するトークン受け渡し）である。その下に、ビルド時のデータで条件を確かめた 5 行の特徴（6 つの時期のすべてに引かれる唯一の群、ほぼ論文だけの群が主に一つの時期に引かれること、同じ note に並ばない群、5 つの時期の note に引かれる均質化の論文、文献を 10 件以上共有する note の組がどれも 3 日以内に書かれていること）を作品の下に並べる。既定の作品は墨流しで、note を書いた順に、note が引いた文献の点の重心へ墨と水の滴を 1 組ずつ落とし、数学的なマーブリングの滴の写像と発散 0 の流れ関数で、早く書かれた note の輪ほど外へ押し出して長く引き伸ばす。文献の点は配置の位置のまま動かさない。「もう一度生成」で変わるのは位置と、位置から決まる線や輪の形だけで、つながりは変わらない。墨流しと星座では、違う群の文献どうしの斥力を同じ群どうしより遠くまで強く届かせ、群を点の粗密だけで読めるようにした。見た目はサイトのテーマで切り替え、ライトは和紙に墨、ダークは暗い面に光を加算で重ねて描く。群は論文の割合の順に、ライトは一つの墨の濃さ、ダークは一つの色相の白い光の明るさで、文献の種類は塗りの円（学術。論文とプレプリント）と輪（実務。企業、公的機関、ニュースやブログなどのウェブ）の 2 つの形で、線が表すつながりの古さは線ごとのにじみ（ライトは墨の広がり、ダークは光の広がり。縁の濃さと粒状感は Curtis et al. 1997 に着想を得た）で表す。織物の糸だけはにじませない。どの作品も、描いている間は細い線で描き、描き終えてから作品ごとの「仕上げ」の文を出して約 10 秒かけてにじみを加える。数え方、力の計算、作品ごとの式と線の作り方（滴の写像、流れ関数と中点法、中心化 Catmull–Rom 曲線、立体射影、一様な 3 次 B-spline、半円、ガウス核）は、実装から書き起こして本文に載せた。

この wiki の公開 note は、末尾に参照文献を並べる決まりで書かれている。
並んだ文献には、できるかぎり DOI か URL を添える。

この並びを 142 本ぶん重ねると、どの文献が何本の note に引かれ、どの note とどの note が同じ文献の上に立っているかが見える。
wikilink は、書き手が意識して張ったつながりである。
参照文献の重なりは、書き手が意識しないまま積もっていく。
意識しないまま積もった重なりは、書き手がこの wiki について持っている見取り図と一致するのだろうか。

## note を線ではなく束として扱う理由

note どうしのつながりを描くなら、note をノード、wikilink をエッジにするのが素直である。
本ノートはそうせず、文献をノードにし、1 本の note を、その note が引いた文献すべてを一度に束ねる**ハイパーエッジ**として扱った。
通常のエッジは 2 点しか結ばないが、ハイパーエッジは任意の個数の点を一度に結ぶ。

束のまま扱う理由は、2 点ずつの組に分解すると情報が落ちるからである。
Battiston et al.（2020）は、多者間の相互作用をペアワイズのネットワークに射影すると、どの集合が同時に関与したかが失われることを整理している。
たとえば文献 A、B、C が互いに結ばれた三角形は、1 本の note が三つを同時に引いた結果とも、3 本の note がそれぞれ二つずつ引いた結果とも読める。
組に分けたグラフからは、この二つを区別できない。

ただし、群の検出と中心性の計算は、組に分けたグラフ（共引用グラフ）の上で行った。
束の情報を残しているのは図のほうで、1 本の note を、引いた文献を順に通る 1 本の糸として描いている。

組に分けたときのエッジは、引用分析の古典でいう共引用にあたる。
Small（1973）は、2 本の文献が第三の文献に同時に引かれることを**共引用**と呼び、同時に引く文献の数をその強さとした。
本ノートでは、同時に引く側が note である。
2 件の文献を結ぶエッジの重みは、両方を引いている note の本数になる。

逆向きの関係もある。
Kessler（1963）は、2 本の文献が同じ第三の文献を引くことを**書誌結合**と呼んだ。
この wiki では、2 本の note が同じ文献を共有していることがそれにあたる。
本ノートは書誌結合のネットワークを別に計算していないが、図の上で糸が一つの結び目に束になる様子は、書誌結合をそのまま目で見ている。

文献の引用関係から分野の構造を描く試みは、知識領域の可視化として総説にまとめられている（Börner et al., 2003）。
文献の動向を検出して可視化する専用の道具として、CiteSpace もある（Chen, 2006）。
本ノートは、その方法を一つの分野ではなく、一人の書き手の wiki に当てた。

## 何をどう数えたか

数値は、2026-09-24 にビルドした `dist/client/network.json` から取った。
計算は `src/lib/citation-weave.ts` が行い、手順は次のとおりである。

- **対象**：`wiki/note/` 直下の日本語 note のうち、draft でない 142 本。draft の 33 本は除いた。英語版は数えていない。公開ページで伏せている区間も、公開ページと同じく除いた。
- **抽出**：見出しが「参照文献」「References」「参考文献」「出典」で始まる `##` 節から、次の `##` 見出しの手前までの行だけを読んだ。関連ノートや未検証事項の節に書かれた URL は、引用として数えていない。
- **同定**：DOI は小文字にそろえて一つの鍵にした。doi.org の URL と、出版社の `/doi/` 形式の URL も DOI に直した。それ以外の URL は、ホスト名の `www.` と末尾の `/`、`utm_` で始まるパラメータを落として鍵にした。このサイト自身へのリンクは除いた。
- **論文かどうか**：DOI を持つ文献と、DOI を持たなくても arXiv（`/abs/` か `/pdf/`）、ACL Anthology、OpenReview（`/forum` か `/pdf`）の URL で書かれた文献を**論文**とし、それ以外を**ウェブページ**とした。プレプリントと学会の論文集は、DOI がなくても内容が固定された文書だからである。
- **結び目**：2 本以上の公開 note に引かれた文献を、糸が集まる結び目と呼ぶ。
- **共引用グラフ**：結び目をノードとし、同じ note に並ぶ結び目の組ごとに重みを 1 足した。
- **群**：重みつきの Louvain 法（Blondel et al., 2008）で、モジュラリティ（Newman & Girvan, 2004）が大きくなる分割を探した。乱数は固定シードから取るので、同じ wiki からは毎回同じ分割が出る。群には、大きい順に 0 から番号を振った。
- **論文の割合と並び**：群の結び目のうち論文が占める割合を、その群の**論文の割合**とした。群は論文の割合の小さい順（同じ値なら番号順）に並べ、この並びを「論文が少ない」から「論文が多い」への軸として図に使った。
- **主題名**：各群に、読める名前と一行の説明を付けた。この名前は計算の出力ではない。群ごとに被引用数の上位の文献と、それを引く note を読み、書き手が手で付けたものである。名前と群の対応は、主題ごとに数本ずつ選んだ代表文献で取る。群が含む代表文献の数が多い組み合わせから順に割り当て、一つの主題を二つの群には使わない。Louvain 法の群番号は wiki が育つと入れ替わるので、番号ではなく文献で対応づけている。今回のビルドでは、11 群すべてに主題名が付いた。
- **機械の名前**：主題名とは別に、群の結び目を通る note のタグを、通る結び目の数で重みづけして数え、上位 2 語をつないだ名前も残した。ほぼすべての note に付くタグ（ai、design、generative-ai、research、literature、literature-review、literature-map）と年のタグは除いた。
- **媒介中心性**：Freeman（1977）の媒介中心性を、Brandes（2001）の算法で重みを使わずに計算し、最大値が 1 になるよう正規化した。共引用の重みは近さを表すので、距離として最短経路に入れると意味が逆になる。そのため重みは使っていない。
- **参照配置**：ビルド時に ForceAtlas2（Jacomy et al., 2014）を graphology の実装で 500 回反復した。設定は、graphology が節点の数から推定する値（strong gravity あり、gravity 0.05、scalingRatio 10）である。初期位置は固定シードの乱数で決めた。この座標は `network.json` に分析の記録として残す。ページの動く作品は、この座標を使わず、閲覧のたびにブラウザの中で配置を生成し直す（後述）。
- **書いた日**：各 note の slug が `wiki/log.md` の対象欄に初めて出た日を、その note を書いた日とした。英語版の行（`en/` で始まる対象）は数えない。142 本すべてに log の記録があり、frontmatter の `updated` で補った note はない。
- **時期**：書いた日を、トップページの[関心の推移](/#interests)と同じ 6 つの時期に分けた。時期の区切りは、log の初出日で関心の移り変わりを読んだ別の分析から取っている。時期のあいだの空いた日に書かれた note は、前の時期に入れた（09-07 に書かれた 2 本のウォッチは時期 4 に入る）。
- **時期ごとの区間**：1 本の note が群の結び目を 1 つ通るごとに、その note の時期に 1 区間を数えた。各群で区間の最も多い時期を、その群の最も厚い時期とした。結び目ごとには、最初に引いた note の時期を、その結び目が初めて出た時期とした。

本ノート自身と、作品の方法をまとめた [ネットワークをデータアートとして描く方法：配置、束ね、時間、流れの文献](https://jamjet-iqbal.com/notes/network-data-art-methods-literature/) は、この計算から外してある。
本ノートは方法論の文献を引くだけなので、糸に含めると自分の結果を書き換えてしまうからである。
たとえば Kosara（2007）は [データビジュアライゼーションとデータアートは何が同じで、何が違うのか](https://jamjet-iqbal.com/notes/data-viz-vs-data-art-literature/) だけが引いているが、本ノートも数えると結び目になってしまう。

## 数で見た全体

142 本のうち、参照文献を 1 件以上抽出できたのは 137 本だった。
異なり文献は 4,227 件で、うち DOI を持つものが 2,089 件（49.4%）だった。

結び目は 445 件で、文献全体の 10.5% にあたる。
残りの 3,782 件（89.5%）は、1 本の note にしか出てこない。
結び目の中でも、ちょうど 2 本の note に引かれたものが 332 件（74.6%）を占める。
3 本が 65 件、4 本が 26 件、5 本が 10 件、6 本が 6 件、7 本が 3 件、8 本が 1 件、9 本が 2 件である。
結び目のうち論文は 295 件（66.3%）で、DOI を持つ 247 件と、DOI のない arXiv などの論文 48 件からなる。

共引用グラフのエッジは 5,870 本あり、Louvain 法は 11 の群を返した。
モジュラリティは 0.7263 である。
エッジのうち群の内側にあるものが 4,876 本、群をまたぐものが 994 本（16.9%）で、群の境目ははっきりしている。

## 11 の群は、この wiki の何に対応するか

表は、論文の割合の小さい群から大きい群の順に並べた。
主題名は書き手が中身を読んで付けたもので、機械の名前はタグから計算した名前である。

| 番号 | 主題名 | 機械の名前 | 結び目 | 論文の割合 | 通る note | 最も厚い時期 | 主に作っている note |
|---|---|---|---|---|---|---|---|
| 10 | スキルの公的標準 | skill-standard / デジタルスキル標準 | 1 | 0% | 2 | 時期 5 | [デザインと新規事業の工程は、どの標準に載るか](https://jamjet-iqbal.com/notes/design-work-process-standards/)、[ビジネスアナリストのスキルは、何で測るのか](https://jamjet-iqbal.com/notes/dss-p-business-analyst-measurement/) |
| 0 | 産業の観測 | design-tools / weekly-watch | 96 | 9% | 43 | 時期 1 | 週次ウォッチ、[Agentic Experience（AX）の産業言説：ベンダー・コンサル・実務家は何を語っているか](https://jamjet-iqbal.com/notes/agentic-experience-industry/)、[デザイン業界における AI 活用 — 産業・制度・開発者の声（2026）](https://jamjet-iqbal.com/notes/ai-in-design-industry/) |
| 3 | AI に任せる判断と評価の標準 | ai-frontier / jev | 51 | 25% | 23 | 時期 6 | [TypeSafe AI の Jev は何を保証し、何を保証しないか](https://jamjet-iqbal.com/notes/typesafe-ai-jev/)、[判断が関数呼び出しになったとき、デザインの何が動くか](https://jamjet-iqbal.com/notes/jev-typed-judgment-design/)、[Jev をどう使うか、どこで使わないか](https://jamjet-iqbal.com/notes/jev-usage-patterns/) |
| 9 | デザインシステム | design-systems / design-tokens | 8 | 63% | 3 | 時期 5 | [デザインシステムのベストプラクティス：研究と実務の証拠が支えるもの](https://jamjet-iqbal.com/notes/design-system-practices/)、[デザインシステムの6つの対立点を判定する証拠はどこまで揃っているか](https://jamjet-iqbal.com/notes/design-system-adjudication-evidence/) |
| 8 | LLM による評価 | llm-as-a-judge / evaluation | 15 | 80% | 5 | 時期 2 | [LLM-as-a-Judge の最新潮流：中核研究53件の文献地図と創造性評価の独立章](https://jamjet-iqbal.com/notes/llm-as-a-judge-literature/)、[LLM-as-a-Judge の発生史：三つの系譜の合流と四つの要請](https://jamjet-iqbal.com/notes/llm-as-a-judge-history/) |
| 1 | 研究のすき間と問題の立て直し | abduction / research-gaps | 58 | 83% | 35 | 時期 2 | [AI研究のスキマはどこにあるか：枠組みを組み替えて見つける七つの空隙](https://jamjet-iqbal.com/notes/ai-research-gaps-abduction/)、[問題を立て直す手法の学術地図：アブダクション2から問題構造化まで](https://jamjet-iqbal.com/notes/problem-definition-methods-literature/) |
| 2 | AI とデザインの実務、教育 | design-education / chi | 52 | 90% | 37 | 時期 1 | [今後5年間で価値が出るデザイナーキャリア — 学術レビュー（2026）](https://jamjet-iqbal.com/notes/designer-career-value-literature/)、[デザイン業界における AI 活用 — 学術レビュー（2026）](https://jamjet-iqbal.com/notes/ai-in-design-literature/)、[AIスロップ：質の低さではなく、検証の外部化として読む](https://jamjet-iqbal.com/notes/ai-slop-design-creativity/) |
| 7 | 構えと能力を測る | construct-validity / gyaru | 39 | 95% | 17 | 時期 3 | [ギャルマインドは何として測られたか：8因子の由来と、その限界](https://jamjet-iqbal.com/notes/gyaru-mind-operationalization/)、[構えはいつ測られているのか：条件付き傾向としての測定と、共起としての測定](https://jamjet-iqbal.com/notes/disposition-measurement-literature/)、[ギャルマインドはどう測れそうか：既存の二つの尺度が測っていないもの](https://jamjet-iqbal.com/notes/gyaru-mind-measurement-design/) |
| 4 | 生成と創造性 | computational-creativity / generative-art | 43 | 98% | 18 | 時期 3 | [ジェネラティブアートの学術系譜：情報美学から LLM 以後まで94件の文献地図](https://jamjet-iqbal.com/notes/generative-art-literature/)、[ジェネラティブアートのレビュー論文はどの切り口なら引用されるか：書誌データによる実証分析](https://jamjet-iqbal.com/notes/generative-art-review-citation-strategy-literature/) |
| 5 | 研究の問いの立て方 | design-research / problematization | 42 | 100% | 30 | 時期 2 | [新規性のある問いはどこから来るのか：四つの座とその組合せの学術的検討](https://jamjet-iqbal.com/notes/novel-research-questions-literature/)、[新規性はどう作られ、どう名乗られるか：確立戦略の類型](https://jamjet-iqbal.com/notes/novelty-establishing-strategies-literature/) |
| 6 | 学ぶことと認知負荷 | cognitive-load / computational-thinking | 40 | 100% | 22 | 時期 3 | [作れることは学べることか：エンドユーザー開発の学習効果を動機から読み直す](https://jamjet-iqbal.com/notes/end-user-development-novice-learning-literature/)、[意図的な失敗の学習設計をめぐる論争：4系譜と認知負荷理論の論点整理](https://jamjet-iqbal.com/notes/failure-driven-learning-debate/)、[低能力は他者の認知負荷で定義できるか](https://jamjet-iqbal.com/notes/competence-as-cognitive-load/) |

「産業の観測」は、ほとんどがウェブページでできている。
結び目 96 件のうち論文は 9 件（DOI 8 件、arXiv 1 件）で、残る 87 件はウェブページである。
ウェブページの出どころは、Figma（8 件）、Anthropic（5 件）、Adobe と Vercel（各 4 件）などのベンダーの更新履歴や発表、欧州委員会、EUR-Lex、米国労働統計局、文化庁などの公的機関のページ、McKinsey、Gartner、世界経済フォーラムなどの調査報告、Nielsen Norman Group などの実務家の記事である。
最も多く引かれた結び目は Figma の Release Notes で、週次ウォッチ 9 本が同じ URL を引いている。
この群を通る糸の区間 274 のうち 139 は、公開されている 16 本のウォッチ（週次と月次学術）が占める。
96 件のうち 32 件は、ウォッチだけに引かれている。

「AI に任せる判断と評価の標準」は、タグから作った名前では ai-frontier / jev になる群である。
中身はほぼ TypeSafe AI の Jev を扱う 3 本で、この群を通る糸の区間 118 のうち 84 を、この 3 本が占める。
Jev の公式ドキュメント（8 件）と NIST の文書が並び、デザイン研究の Dorst et al.（2001）も含まれる。
論文は 51 件中 13 件（DOI 9 件、arXiv 4 件）にとどまる。

「LLM による評価」は、LLM-as-a-Judge の 2 本がほぼ単独で作った群である。
15 件のうち DOI を持つものは 1 件もないが、12 件は arXiv（10 件）と ACL Anthology（2 件）の論文で、論文の割合は 80% になる。
残る 3 件は、OpenAI の API 廃止予定の一覧、英国 AI Security Institute の評価基盤 Inspect のページ、NeurIPS の論文集のページである。
最後の 1 件は論文だが、論文として扱う置き場に NeurIPS の論文集を入れていないので、ウェブページとして数えられている。

「研究のすき間と問題の立て直し」は、研究のスキマを探す連作と、問題の立て直しを扱う note の群である。
上位には Dorst（2011）、Rittel & Webber（1973）、生成 AI と批判的思考を扱う Lee et al.（2025）が並ぶ。
スキマ探しの連作が共有した物理学の文献（Davisson & Germer, 1927 など）も、ここに入っている。
論文 48 件のうち 12 件は、DOI のない arXiv の論文である。

「AI とデザインの実務、教育」は、デザイン実務と教育に生成 AI が入ることを扱う CHI 系の研究の群である。
デザインの固着を扱う Jansson & Smith（1991）と Wadinambiarachchi et al.（2024）が上位にある。
この群は、11 の群の中で外とのつながりが最も多い。
結び目につながるエッジ 665 本のうち、349 本（52%）が他の群へ出ている。

「構えと能力を測る」「生成と創造性」「研究の問いの立て方」「学ぶことと認知負荷」は、どれも論文の割合が 95% 以上の学術の群である（論文はそれぞれ 39 件中 37 件、43 件中 42 件、42 件中 42 件、40 件中 40 件）。
「構えと能力を測る」は構成概念の測定とギャルマインドを測る試み、「生成と創造性」はジェネラティブアートと計算的創造性、「研究の問いの立て方」は研究の問いの立て方と Research through Design、「学ぶことと認知負荷」は認知負荷理論と足場かけに対応する。
「構えと能力を測る」の上位には、Costanza-Chock（2020）、Buchanan（1992）、Lave & Wenger（1991）が並ぶ。

「デザインシステム」はデザインシステムの 2 本（09-11）の群で、「スキルの公的標準」は結び目 1 件だけの群である。
その結び目は IPA のデジタルスキル標準で、[デザインと新規事業の工程は、どの標準に載るか](https://jamjet-iqbal.com/notes/design-work-process-standards/) と [ビジネスアナリストのスキルは、何で測るのか](https://jamjet-iqbal.com/notes/dss-p-business-analyst-measurement/) の 2 本が引く。
この 2 本はどちらも、ほかに結び目を持たない。
そのため共引用グラフの上では辺を一本も持たない孤立点になり、Louvain 法はそれを単独の群として返した。

## よく引かれる文献と、群をつなぐ文献

引かれた回数の上位は次のとおりである。
初出の時期は、その文献を最初に引いた note の時期である。

| 文献 | note 数 | 群 | 媒介中心性 | 初出の時期 |
|---|---|---|---|---|
| Dorst 2011, The core of "design thinking" and its application | 9 | 研究のすき間と問題の立て直し | 0.119 | 時期 1 |
| Figma, Release Notes | 9 | 産業の観測 | 0.055 | 時期 1 |
| Doshi & Hauser 2024, Generative AI enhances individual creativity but reduces the collective diversity of novel content | 8 | 生成と創造性 | 1 | 時期 1 |
| McKinsey / QuantumBlack 2025, The State of AI | 7 | 産業の観測 | 0.18 | 時期 1 |
| Sandberg & Alvesson 2011, Ways of constructing research questions | 7 | 研究の問いの立て方 | 0.094 | 時期 2 |
| Framer, Updates | 7 | 産業の観測 | 0.051 | 時期 1 |

媒介中心性の上位は、これとは顔ぶれが違う。
Doshi & Hauser（2024）が 1（最大値）で、Gaver（2012）が 0.2568、Dorst et al.（2001）が 0.1864、McKinsey の State of AI が 0.18、Zimmerman et al.（2007）が 0.1631、Lee et al.（2025）が 0.1549 と続く。

多く引かれることと、群をつなぐことは一致しない。
Figma の Release Notes は 9 本に引かれるが、媒介中心性は 0.055 にとどまる。
引く 9 本がすべてウォッチで、共引用の相手もほとんどが「産業の観測」の内側にあるためだろう。
Rittel & Webber（1973）も 6 本に引かれるが、媒介中心性は 0.019 にとどまる。
引く 6 本のうち 3 本は、問題の立て直しを扱う一連の note である。
反対に Gaver（2012）は 4 本にしか引かれないが、「研究の問いの立て方」を作る 2 本と、ギャルマインドの測定を扱う [ギャルマインドは何として測られたか：8因子の由来と、その限界](https://jamjet-iqbal.com/notes/gyaru-mind-operationalization/) の両方に引かれ、2 番目の橋になっている。

note の側から見ると、糸が通る群の数（群のまたぎ数）は次のように分かれた。
1 群だけを通る note が 62 本、2 群が 31 本、3 群が 23 本、4 群が 5 本、5 群が 3 本、7 群が 1 本で、結び目を持たない note が 17 本ある。
7 群をまたぐ唯一の note は [レビュー論文の執筆材料：新規性監査17件が残した前提台帳と近接文献](https://jamjet-iqbal.com/notes/review-paper-writing-material/) で、レビュー論文の材料として複数の調査の近接文献を集めた note である。
5 群をまたぐのは、[AIスロップ：質の低さではなく、検証の外部化として読む](https://jamjet-iqbal.com/notes/ai-slop-design-creativity/)、[デザイン教育のAI適応 — カリキュラム改革の現在地と構造的課題](https://jamjet-iqbal.com/notes/design-education-ai-adaptation/)、[ジェネラティブアート調査2件への敵対的レビュー：文献地図と引用戦略をデザイン理論カノンで検査する](https://jamjet-iqbal.com/notes/generative-art-adversarial-review/) の 3 本である。

## 結び目を持たない 17 本

17 本のうち 5 本は、参照文献節はあるものの、DOI も URL も一つも書かれていない。
[AI 時代にデザイナーが担う役割 — 産業×学術ラウンドテーブル（business-only 改訂版）](https://jamjet-iqbal.com/notes/designer-role-ai-roundtable/)、[民主化＝再商品化のパラドクス — AIが「誰でもできる」を「誰も請求できない」に変える非対称](https://jamjet-iqbal.com/notes/democratization-recommodification-paradox/)、[デザイン課金モデルの AI コモディティ化耐性 — 成果物課金は最も脆く、運用常駐の複製困難性は高粗利を意味しない](https://jamjet-iqbal.com/notes/design-pricing-vs-ai-commoditization/)、[AX × デザイン：学術と産業の対照](https://jamjet-iqbal.com/notes/agentic-experience-design-synthesis/)、[「デザインとはクラフトのことではない」産業×学術ラウンドテーブル](https://jamjet-iqbal.com/notes/design-is-not-craft-roundtable/) で、どれも時期 1 の 6 月に書かれた討議や統合の note である。
この時期の討議 note は、文献を書誌だけで挙げるか、出典を元になった note や作業台帳に預けていた。
本ノートの方法では、そこから 1 件も拾えない。

残る 12 本は、文献を引いているが、その文献をほかの公開 note が 1 件も引いていない。
引いた文献の数が多いのは、[デザイン史から見たスロップ：職能は粗製濫造への対策として始まった](https://jamjet-iqbal.com/notes/slop-design-history/)（62 件）、[初学者グループワークと共有AIエージェント：CSCL・AI支援協調学習の文献地図（2026）](https://jamjet-iqbal.com/notes/shared-ai-agent-groupwork-literature/)（48 件）、design-craft-relationship-industry（42 件）、forward-deployed-designer（32 件）、[データビジュアライゼーションとデータアートは何が同じで、何が違うのか](https://jamjet-iqbal.com/notes/data-viz-vs-data-art-literature/)（29 件）などである。
これらの note は、wiki の中で孤立しているわけではない。
wikilink では他の note とつながっている。
結び目がないということは、その note が開いた文献の領域に、まだ別の公開 note が入っていないということである。

## 時期ごとに通る群

各 note を書いた日で 6 つの時期に分け、その時期の note が通る結び目の区間を群ごとに数えた。
初出の結び目は、その時期の note が初めて引いた結び目の数である。

| 時期 | 期間 | note（結び目あり） | 区間 | 区間の多い上位 3 群（割合） | 初出の結び目（うち論文） |
|---|---|---|---|---|---|
| 1 | 06-07〜07-12 | 44（36） | 272 | 産業の観測（64%）、AI とデザインの実務、教育（20%）、研究のすき間と問題の立て直し（4%） | 149（73） |
| 2 | 07-15〜07-29 | 37（35） | 290 | 研究のすき間と問題の立て直し（40%）、研究の問いの立て方（29%）、LLM による評価（10%） | 121（105） |
| 3 | 08-02〜08-24 | 34（30） | 305 | 生成と創造性（27%）、構えと能力を測る（26%）、学ぶことと認知負荷（24%） | 115（101） |
| 4 | 08-27〜08-31 | 10（8） | 77 | 産業の観測（36%）、AI とデザインの実務、教育（35%）、AI に任せる判断と評価の標準（10%） | 18（9） |
| 5 | 09-11〜09-14 | 5（5） | 28 | デザインシステム（54%）、産業の観測（39%）、スキルの公的標準（7%） | 11（5） |
| 6 | 09-18〜09-22 | 12（11） | 124 | AI に任せる判断と評価の標準（68%）、産業の観測（10%）、研究のすき間と問題の立て直し（9%） | 31（2） |

時期 1 では「研究のすき間と問題の立て直し」と「AI に任せる判断と評価の標準」が同じ 12 区間（4%）で並ぶ。
時期 5 で区間を持つ群は 3 つだけである。
時期 4 には、時期のあいだの 09-07 に書かれた 2 本のウォッチも入っている。

6 つの時期すべてに区間を持つ群は、「産業の観測」だけである。
区間は時期 1 に 175 と偏るが、その後も 15、32、28、11、13 と、どの時期にも現れる。
時期 2 以降の 99 区間のうち 90 はウォッチから来ており、どの時期にも書かれ続けるウォッチがこの群を保っている。

学術の群は、一つの時期に集まっている。
「研究のすき間と問題の立て直し」は区間 152 のうち 116（76%）、「研究の問いの立て方」は 112 のうち 83（74%）、「LLM による評価」は 30 のうち 28 が時期 2 にある。
「生成と創造性」は 100 のうち 81、「構えと能力を測る」は 90 のうち 79、「学ぶことと認知負荷」は 86 のうち 74 が時期 3 にある。
「AI に任せる判断と評価の標準」は 118 のうち 84 が時期 6、「デザインシステム」は 16 のうち 15 が時期 5 にある。

例外は「AI とデザインの実務、教育」である。
区間 116 のうち時期 1 に 54、時期 4 に 27 があり、二つの山を持つ。
時期 4 の 27 区間は、[AIスロップ：質の低さではなく、検証の外部化として読む](https://jamjet-iqbal.com/notes/ai-slop-design-creativity/)（11）、[オンラインで多く見えることは、多くの人がそうしていることか](https://jamjet-iqbal.com/notes/representation-population-decoupling-literature/)（7）、[スロップと対策の歴史：なぜ同じ賭けが繰り返し破れるのか](https://jamjet-iqbal.com/notes/slop-countermeasures-history/)（6）などのスロップを扱う note から来ている。
27 区間のうち 15 は時期 1 から時期 3 にすでに出ていた結び目を通り、うち 8 は時期 1 に初めて出た結び目である（Jansson & Smith, 1991 や Wadinambiarachchi et al., 2024 など）。
残る 12 は時期 4 に初めて出た結び目で、スロップの note どうしが新たに共有した文献である。
時期 1 に仕事と教育の変化を調べるために集めた CHI 系の研究の一部を、時期 4 ではスロップを論じる足場として引き直し、あわせて新しい文献を加えている。

初出の結び目の中身も、時期によって違う。
時期 2 と時期 3 に初めて出た結び目は、それぞれ 121 件中 105 件、115 件中 101 件が論文である。
時期 1 は 149 件中 73 件で、論文とウェブページがほぼ半々になる。
時期 6 は 31 件中 2 件しか論文がなく、31 件のうち 27 件は「AI に任せる判断と評価の標準」に入る Jev の資料などである。

## デザイン理論から読むと

ここから先は、上の数値にもとづく解釈である。

一つめに、この wiki の知識は、二つの違う仕方で文献に錨を下ろしているように見える。
産業の側（「産業の観測」）の結び目は、更新され続けるページの URL である。
Figma の Release Notes は 9 本の週次ウォッチに引かれているが、引かれた時点ごとに中身が違う。
Small（1973）の共引用は、引かれる文献が固定された一つの文書であることを前提にしている。
更新され続けるページでは、同じ結び目が同じ内容を指すとは限らない。
そのため「産業の観測」の結び目は、共有された知的基盤というより、繰り返し見に行く観測点として読むほうが近い。
この群だけが 6 つの時期すべてに現れることも、観測点という読みと合う。
学術の側の結び目は論文で、固定された文書を指す。
ただし、結び目の多くは、同じ日に隣り合う題材で書かれた対の note が作っている。
「生成と創造性」の 43 件のうち 35 件は、08-02 に書かれたジェネラティブアートの 2 本が両方とも引き、2 本はそれぞれ 39 件を通る。
「研究の問いの立て方」でも、07-27 に書かれた 2 本が、42 件のうち 28 件ずつを通る。
このような結び目は、別々の問いが独立に同じ文献へ行き着いた結果というより、続けて書かれた調査が同じ文献群を土台にした結果と読むほうが自然だろう。
結び目の 74.6% がちょうど 2 本の note に引かれたものであることも、この読みと矛盾しない。

二つめに、産業の観測と、学習や測定の研究は、一つの note の中で出会っていない。
「産業の観測」と「学ぶことと認知負荷」、「産業の観測」と「構えと能力を測る」のあいだの共引用エッジは 0 本で、「産業の観測」と「研究の問いの立て方」のあいだも 4 本しかない。
「産業の観測」が外とつながる相手は、「AI に任せる判断と評価の標準」（73 本）と「AI とデザインの実務、教育」（61 本）に偏る。
産業の観測は、生成 AI とデザイン実務を扱う CHI 系の研究と、NIST の文書などを含む群を経由して、学術の群につながっている。
[デザイン教育のAI適応 — カリキュラム改革の現在地と構造的課題](https://jamjet-iqbal.com/notes/design-education-ai-adaptation/) や [制作者から編集者へ — AI時代のデザイナー役割移行の構造分析](https://jamjet-iqbal.com/notes/maker-to-editor-paradigm/) のように「産業の観測」と学術の群を同時に通る note は少数で、この wiki の中では橋の役を担っている。

三つめに、デザイン理論の古典は、デザインの実務を論じる群ではなく、研究の問いの立て方を論じる群に集まっている。
最も多く引かれた文献の一つである Dorst（2011）を引く 9 本は、リフレーミング、デザイン研究の方法論と認識論、スキマ探し、問題の立て直し、新しい研究の問いを扱う note だけで、書かれた日は 07-09 から 07-27 に収まる。
Zimmerman et al.（2007）、Gaver（2012）、Cross の Designerly Ways of Knowing（1982 年の論文と 2006 年の書籍）は「研究の問いの立て方」に、Buchanan（1992）と Kimbell（2011）は「構えと能力を測る」にある。
「産業の観測」の論文は 96 件中 9 件にとどまる。
この wiki でデザイン理論は、産業の変化を説明する枠としてより、自分の研究の問いをどう立てるかを考える道具として使われてきた、と読める。

四つめに、時期をまたいで戻ってくる文献がある。
Doshi & Hauser（2024）は、06-28 に書かれた [AI経済学とデザイン — 6つの経済理論で読むデザイン労働の構造変化](https://jamjet-iqbal.com/notes/ai-economics-and-design/) から 09-22 に書かれた [創造的な仕事を人と協作すると、どんな社会的調整コストがかかるのか](https://jamjet-iqbal.com/notes/creative-collaboration-coordination-cost-literature/) まで、8 本の note に引かれた。
8 本は時期 1、2、3、4、6 にまたがり、引かれていないのはデザインシステムを扱った時期 5 だけである。
媒介中心性も最大になった。
題名が述べるとおり、生成 AI が個人の創造性を高める一方で、生み出される内容の集団としての多様性を下げるという知見を扱う論文である。
LLM が人の発想を均質化する効果を扱う Anderson et al.（2024）も、時期 2、3、4、6 の 5 本に引かれて媒介中心性 0.1422 を持つ。
媒介中心性の最上位に均質化の知見が来ることから、時期ごとに入れ替わる学術の群を横切っている懸念の一つは均質化だと解釈できる。

五つめに、時期ごとの厚い群は、トップページの「関心の推移」の見出しとおおむね重なるが、見出しの半分が引用に現れない時期がある。
時期 2（研究の方法と、問いの立て方）は、区間の 69% が「研究のすき間と問題の立て直し」と「研究の問いの立て方」に入る。
時期 5（デザインシステムと、仕事を載せる標準）と時期 6（AI に任せる判断と、つくって考える方法）でも、最も厚い群は見出しの前半と一致する。
一方で時期 6 の後半にあたる、データビジュアライゼーション、SF プロトタイピング、創造的な協作を扱う 5 本は、合わせて 16 区間（13%）しか持たない。
時期 4（AI スロップと、デザインという分野の来歴）でも、来歴を扱う [日本のデザイン研究の系譜：三つの源流と、会長職を回してきた大学](https://jamjet-iqbal.com/notes/japan-design-research-genealogy-literature/) と [「デザイン学の不在」は三度言われたのか：1978年・2008年・2023年の指摘を原典で読み直す](https://jamjet-iqbal.com/notes/design-discipline-absence-literature/) が通る結び目は合わせて 2 件である。
時期 3（学ぶことと、能力を測ること）では、最も厚い群が見出しにない「生成と創造性」で、その 81 区間のうち 78 はジェネラティブアートの対の 2 本から来ている。

五つめの食い違いには、二つの理由が重なっている。
時期の見出しは題材を note の本数で読んだものだが、区間は note が引いた結び目の数で重みがつく。
結び目を 39 件ずつ通る対の note は、2 本だけで一つの時期の最も厚い群を作れる。
もう一つは、新しい題材の文献が結び目になるには、別の note にもう一度引かれる時間が要ることである。
時期 6 の後半と時期 4 の来歴の note は、開いた文献の領域にまだ次の note が入っていない。
このずれは、見出しが誤っていることを示すのではない。
note の本数で見た関心と、引用で見た関心が、測っているものの違う二つの見取り図であることを示している。

## 特徴

[引用ネットワーク](/network)のページの目的は、このサイトの特徴と、書き手の考え方の傾向を、引用のつながりから浮かび上がらせることにある。
ページは作品のすぐ下に、見出し「特徴」と 5 行の文を置く。
文は書き手が上の分析を読んで書いたものだが、ページに出すかどうかは、ビルドのたびにデータで条件を確かめて決める。
条件が崩れた行は、ページに出ない。
判定は `src/lib/network-habits.ts` が行い、日本語版と英語版のページは同じ判定を使う。

以前は見出しに書き手の癖を名指す語を使い、行の文も「論文は、一つの主題を一つの時期にまとめて読む」のように、数を書き手の癖として言い表していた。
いまの文は、条件が確かめる数の関係だけを書く。
数を書き手の癖として読む解釈は、本ノートの「時期ごとに通る群」と「デザイン理論から読むと」に残した。

| 番号 | ページの文（今回のビルドの値） | 見る作品 |
|---|---|---|
| 1 | 6 つの時期のすべてでノートに引かれた文献のグループは、「産業の観測」だけである。 | 流れ |
| 2 | ほぼ論文だけでできたグループは、どれも、主に 1 つの時期に引かれている。 | 年輪 |
| 3 | 「産業の観測」の文献を引いたノートは、どれも、「学ぶことと認知負荷」の文献も「構えと能力を測る」の文献も引いていない。 | 束 |
| 4 | 生成 AI の案を使って書いた物語どうしは似てくる、と示した論文を、6 つの時期のうち 5 つの時期のノートが引いている。 | 星座 |
| 5 | 共通して引いた文献が 10 件以上ある 2 本のノートは、どれも 3 日以内に書かれている。 | 弧 |

ページでは、各行の横にその特徴が見える作品へのリンク（「流れで見る ↑」など）を置き、根拠の文は末尾の「詳しい説明と出典」の中の「特徴の根拠」に置いた。
各行の条件と、今回のビルドでの値は次のとおりである。

- **行 1 の条件**：6 つの時期のすべてに区間を持つ群が、ちょうど 1 つあること。今回は「産業の観測」だけが当てはまり、時期ごとの区間は 175、15、32、28、11、13 である（「時期ごとに通る群」の節の値と同じ）。
- **行 2 の条件**：論文の割合（百分率に四捨五入した値）が 95% 以上で、結び目が 2 件以上の群が 2 つ以上あり、そのどれもが区間の 70% 以上を一つの時期に集めていること。今回は 4 群が当てはまる。「生成と創造性」は 100 区間のうち 81（81%、時期 3）、「研究の問いの立て方」は 112 のうち 83（74%、時期 2）、「学ぶことと認知負荷」は 86 のうち 74（86%、時期 3）、「構えと能力を測る」は 90 のうち 79（88%、時期 3）である。ページの根拠の文は、最も低い割合を切り捨てて「74% 以上」と書く。「構えと能力を測る」の論文の割合は 39 件中 37 件（94.9%）で、四捨五入すると 95% になる。
- **行 3 の条件**：行 1 の群があり、その群の結び目と 1 本の note で一緒に引かれたことのない群（結び目 2 件以上）があること。「産業の観測」の結び目を通る note は 43 本で、そのうち「学ぶことと認知負荷」か「構えと能力を測る」の結び目も通る note は 0 本である。結び目 1 件の「スキルの公的標準」も「産業の観測」と同じ note に並ばないが、結び目 2 件以上という条件で外れる。
- **行 4 の条件**：媒介中心性が最大の結び目が Doshi & Hauser（2024）で、それを引く note が 4 つ以上の時期にまたがること。文はこの論文の中身を述べているので、最大の結び目が別の文献に替われば、行ごと出さない。今回は媒介中心性が 1 で、引く note は 8 本、時期は 6 つのうち 5 つ（時期 5 を除く）にまたがる。
- **行 5 の条件**：文献を 10 件以上共有する note の組が 3 組以上あり、どの組も書いた日の差が 3 日以内であること。2 本の note がともに引く文献は必ず結び目になるので、共有する結び目の数で数える。今回は 7 組が当てはまり、日の差は最大 3 日で、7 組のうち 5 組は同じ日に書かれている。最も多い 35 件は、08-02 に書いた [ジェネラティブアートの学術系譜：情報美学から LLM 以後まで94件の文献地図](https://jamjet-iqbal.com/notes/generative-art-literature/) と [ジェネラティブアートのレビュー論文はどの切り口なら引用されるか：書誌データによる実証分析](https://jamjet-iqbal.com/notes/generative-art-review-citation-strategy-literature/) が共有する。残りは、07-27 の [新規性のある問いはどこから来るのか：四つの座とその組合せの学術的検討](https://jamjet-iqbal.com/notes/novel-research-questions-literature/) と [新規性はどう作られ、どう名乗られるか：確立戦略の類型](https://jamjet-iqbal.com/notes/novelty-establishing-strategies-literature/)（24 件）、09-18 の [TypeSafe AI の Jev は何を保証し、何を保証しないか](https://jamjet-iqbal.com/notes/typesafe-ai-jev/) と 09-21 の [Jev をどう使うか、どこで使わないか](https://jamjet-iqbal.com/notes/jev-usage-patterns/)（18 件）、同じ [TypeSafe AI の Jev は何を保証し、何を保証しないか](https://jamjet-iqbal.com/notes/typesafe-ai-jev/) と 09-21 の [判断が関数呼び出しになったとき、デザインの何が動くか](https://jamjet-iqbal.com/notes/jev-typed-judgment-design/)（17 件）、08-15 の [構えはいつ測られているのか：条件付き傾向としての測定と、共起としての測定](https://jamjet-iqbal.com/notes/disposition-measurement-literature/) と [ギャルマインドはどう測れそうか：既存の二つの尺度が測っていないもの](https://jamjet-iqbal.com/notes/gyaru-mind-measurement-design/)（16 件）、07-29 の [LLM-as-a-Judge の発生史：三つの系譜の合流と四つの要請](https://jamjet-iqbal.com/notes/llm-as-a-judge-history/) と [LLM-as-a-Judge の最新潮流：中核研究53件の文献地図と創造性評価の独立章](https://jamjet-iqbal.com/notes/llm-as-a-judge-literature/)（13 件）、07-19 の [AI研究のスキマはどこにあるか：枠組みを組み替えて見つける七つの空隙](https://jamjet-iqbal.com/notes/ai-research-gaps-abduction/) と [AI研究のスキマ、三たび：ゲーム盤の読み替えとして読み直す](https://jamjet-iqbal.com/notes/ai-research-gaps-problem-definition/)（11 件）である。

5 行は、ここまでの節の読みを、ビルドのたびに確かめられる条件に書き直したものである。
行 1 と行 2 は「時期ごとに通る群」の節に、行 3 は「デザイン理論から読むと」の二つめに、行 4 は四つめに、行 5 は一つめの対の note の読みに対応する。

## 作品として描くこと

[引用ネットワーク](/network) のページは、この計算結果を 15 の作品として描く。
墨流し、年輪、織物、星座の 4 つと、群制御の粘菌、群れ、細胞、泡、一筆の 5 つは、閲覧のたびに配置を生成し直す動く作品である。
束、弧、流れの 3 つと、群制御の枯山水、珊瑚、根の 3 つは、完成した形を一度に描く静止画である。
作品のタブは、動く作品、静止画の順に、この並びで置く。
URL のハッシュが無いときは、一番左の墨流しを開く。
墨流しは、以前の作品を作り替えたもので、以前の作品のハッシュで開いたときは墨流しのハッシュに書き換えて開く。
どの作品も、まず細い線だけで描き、描き終えてから「仕上げ」として線ににじみを加える（織物の糸だけはにじませない。「描いている間の線と仕上げ」の節で述べる）。

ページは絵を先に見せる。
上から、見出しと 1 行の説明、大きく描いた作品、その作品の読み方（見た目と表すものの対応表）、ノートから絵までの 4 段と 6 つの量、前の節の特徴（5 行）が、開いた状態で並ぶ。
作品の読み方は、タブで選んでいる作品の分だけを出し、タブを切り替えると一緒に切り替わる。
そのほかの説明は、末尾の閉じた「詳しい説明と出典」に入れた。
「詳しい説明と出典」の中身は、位置と距離の読み方、群制御の作品の動き方、11 のグループ、6 つの時期、特徴の根拠、数字、元データと記録、参考文献である。
ページに出る数は、どれもビルド時のデータから数えている。

15 の作品で、文献の印の形、群の表し方、線のにじみは同じ規則に従う。
印の形は文献の種類を、にじみは線が表すつながりの古さを表す（どちらも次の「二つの見た目」で述べる）。
群は論文の割合の順に表し、ライトの見た目では論文が少ない群ほど墨が薄く、論文が多い群ほど濃い。
図の上には、群の番号ではなく主題名を重ねて書いた。

### 時期の表記

時期は、丸数字と短い名前で表す。
図の中には丸数字だけを小さく置き（年輪の割れ目の中、弧の基線の脇、流れの下の目盛り）、短い名前は図に入れない。
丸数字と短い名前、期間の言い方（「2026年6月上旬〜7月中旬」など）、note の本数は、「詳しい説明と出典」の「6 つの時期」に一度だけ並べ、トップページの見出しは、図の中で時期を選んだときのカードに出す。
本ノートの「時期 1」から「時期 6」は、この ① から ⑥ にあたる。

| 表記 | 期間 | トップページの見出し | note の本数 |
|---|---|---|---|
| ① 仕事と稼ぎ | 06-07〜07-12 | AI でデザイナーの仕事と稼ぎはどう変わるか | 44 |
| ② 研究の方法 | 07-15〜07-29 | 研究の方法と、問いの立て方 | 37 |
| ③ 学びと測定 | 08-02〜08-24 | 学ぶことと、能力を測ること | 34 |
| ④ スロップと来歴 | 08-27〜08-31 | AI スロップと、デザインという分野の来歴 | 10 |
| ⑤ 標準 | 09-11〜09-14 | デザインシステムと、仕事を載せる標準 | 5 |
| ⑥ 判断とつくること | 09-18〜09-22 | AI に任せる判断と、つくって考える方法 | 12 |

表記と見出しは `src/data/interest-periods.ts` に一か所だけ置き、トップページと引用ネットワークのページが同じものを読む。

### 二つの見た目

ページの作品は、サイトのテーマに合わせて二つの見た目を切り替える。
ライトは手漉きの和紙に墨で刷った見た目、ダークは暗い面に光を重ねた見た目である。
図の枠の外（見出し、本文、ボタン、表）は、どちらのテーマでもサイトのほかのページと同じである。

ライトの和紙の地は、漉きのむら（紙の厚さのむら）、長い楮の繊維、樹皮の小片などのちり、縁の耳の不揃い、細かい紙の歯でできている。
地の色は rgb(246, 243, 235) で、紙の模様はシードごとに固定される。

ダークでは、図の面だけを黒に近い #07080b にし、線を加算（lighter）で重ねるので、重なるほど明るくなる。
光は bloom（縮小してぼかした絵を足し戻す処理）で広げ、背景に淡い星屑を散らした。

群の表し方も、見た目で変わる。
11 の群は、カテゴリの色で塗り分けられる上限（8 色）を超え、論文の割合という順序をすでに持つ。
順序のある量に要るのは明るさ（濃さ）の段階だけで、色相には意味がない。
そこで、どちらの見た目も色相を一つに固定し、群を一本の順序の尺度で表した。
ライトでは一つの墨 oklch(0.195 0.012 60) の濃さ（不透明度 0.46 から 0.90）で表し、論文が少ない群ほど薄く、論文が多い群ほど濃い。
ダークでは、ほぼ中立でわずかに暖かい白い光 oklch(L 0.018 75) の明るさで表し、L を 0.44 から 0.97 まで等間隔にとる（隣り合う群の差は約 0.053）。
論文が少ない群ほど暗く、論文が多い群ほど明るい。
暗い側も、黒に近い図の面の上で見える明るさに留めた。
以前は、ライトの墨の色味を論文の少ない側でわずかに青く、多い側でわずかに茶にし、ダークでは色相が移り変わる色の尺度を使っていた。
色相の移り変わりは群の順序に何も足さないので外した。
赤は、どちらの見た目でも、ポインタを重ねたか選んだ要素にだけ使う。
どの点も、ポインタを重ねたときと選んだときに同じように赤くなる。
既定の絵には、どの作品も赤を使わない。
最も多く引かれた文献の点も、ほかの点と同じ群の濃さ（ダークでは明るさ）で描く。
以前は静止画の束だけが最多引用の印を常に赤く描いていたが、既定の絵に赤が 1 点だけ残ると、その点がデータより先に目を引くのでやめた。
群の名前は図の上と作品ごとの対応表に書くので、群を色だけで読み分ける必要はない。

文献の印の形は、どちらの見た目でも同じで、文献の種類を表す。
種類は 2 つに分けた。
**学術**は論文とプレプリントで、塗りの円で描く。
**実務**は企業、公的機関、ニュースやブログなどのウェブで、輪で描く。
この分け方は、論文の割合で使った「論文」と「ウェブページ」の分け方と同じで、学術が論文に、実務がウェブページに当たる。
形は 1 件ごとの種類を、群の濃さ（ダークでは明るさ）はその群で学術が占める割合を表す。
輪は細い線の絵に合わせて細く描き、小さくても塗りの円と見分けられるよう、半径に合わせて少しだけ太くした（半径の 0.22 倍。ただし 0.7 px と尺度の 0.75 倍を下回らず、穴が残るよう半径の 0.4 倍を超えない）。
どちらの形にも外形線は引かない。
塗りの円も輪も外径は同じ半径なので、印の大きさは引く note の本数だけを表す。
結び目 445 件の内訳は、学術 295 件、実務 150 件である。

線のにじみは、その線が表すつながりの古さを表す。
**古さ**は、ある日付が最後の note を書いた日（09-22）からどれだけ前かを、最初の note（06-07）から最後の note までの長さで割った値で、最も新しい日が 0、最初の日が 1 になる。
にじみの量はこの古さを 5 段（0、0.25、0.5、0.75、1）に丸めたもので、古い線ほどライトでは墨が紙に広く染み、ダークでは光の暈が広く柔らかくなる。
赤い線は、どちらの見た目でもにじませない。
結び目の印と、弧と年輪の note の刻みも、にじまない。

古さを測る日付は、作品ごとに、その線が生まれた日を選んだ。

- **墨流し**：輪の線は、その note を書いた日の古さに 0.7 を掛けて測る。
- **織物**：糸はにじませない（「織物と星座」の節で述べる）。
- **星座と束**：線は、その 2 件の文献を初めて一緒に引いた note を書いた日で測る。
- **年輪**：note から結び目への線は、その note を書いた日で測る。時期の輪は、その時期の始まりの日の古さに 0.7 を掛けて、線より控えめにする。
- **弧**：弧は、2 本のうち新しいほうの note を書いた日で測る。書誌結合の弧は、新しいほうの note が書かれた日に生まれるからである。
- **流れ**：層の境目と層の中の筋は、横の位置ごとにその日の古さで測り、段が変わる位置で線を区切る。左ほど古い。層の塗りはにじませない。

にじみは、描き終えた絵にかける後処理ではなく、線 1 本ずつの描き方として持つ。
ライトでにじみの量が 0 の線は、芯だけの鋭い筆の線になる。
量を上げると、墨が外へ移る分だけ芯が薄くなり（量 1 で 0.5 倍）、そのまわりに濡れた本体が広がる。
本体は、芯の肩と、外へ行くほど淡い 4 枚の輪郭を重ねたもので、重なった内側ほど濃い。
粗い層に描いてからぼかして紙に重ねるので、本体の縁は段を作らず、紙へ滑らかに消える。
本体の墨は線の色によらず、和紙の地の色相に沿う暖かい黒（rgb(34, 31, 27)）で、低い不透明度で重ねるので、下の和紙の模様が透ける。
広がりは量の 1.6 乗で増えるので、中ほどの古さの線は控えめで、いちばん古い線だけが大きく広がる。

本体の外周のすぐ内側には、細く淡い帯に墨が溜まる。
帯の外周だけは、和紙の繊維の向きと紙の歯でわずかに揺らす（振幅は広がりの 1 割で、隣どうしを 2 回均す）。
帯の濃さは、その線が通る所に線が混んでいるほど弱める。
平行に密に並ぶ線では縁の帯が何本も重なり、弱めなければ帯の重なりが荒れた縞に見えるからである。
いちばん古い 2 段（量 0.75 と 1）の線だけ、本体の内側に、紙の歯の谷ほど濃い細かく淡い粒を置く。
繊維を伝って前線の外へ延びる毛羽は描かない。
線が千本を超える束と星座（と、線が 1,200 本を超えるときの年輪）では、縁の帯と粒を省き、本体を線の混み具合で弱めて描く。

ダークでは同じ量を光の暈の広がりにする。
暈は外へ行くほど淡い 4 枚（束と星座では 3 枚）で、量が大きいほど全体を弱め、芯も暗くする（量 1 で 0.42 倍）。
暈どうしは層の中では明るいほう（lighten）を取り、層を加算で重ねるので、線が密な所も群の色で止まり、白く飛ばない。
仕上げでは、さらに bloom を重ねる。

和紙と墨は、流体の計算ではない。
墨流しの水面の流れも、式で与えた速度の場で点を運ぶだけで、流体の方程式は解いていない。
着想は、紙と墨を計算機で表した研究から借りた。
Curtis et al.（1997）は、紙を高さの場と水を含む量の場で表し（4.1 節）、濡れた範囲の縁に顔料が溜まる縁の濃さ（4.3.3 節の式 (3)）と、顔料が紙の谷に沈む粒状感（2.1 節と 4.5 節）を扱った（本文確認）。
本体の外周の内側に墨が溜まる帯は、この縁の濃さに着想を得た。
帯は淡く保ち、線の混み具合で弱めるので、Curtis et al.（1997）の水彩ほど縁は濃くならない。
古い線の本体に置く粒は、粒状感に着想を得た。
Chu & Tai（2005）は、要旨によれば、格子ボルツマン法で不均質な多孔質の媒体の中の浸透を計算し、吸う紙の上の墨の広がりをリアルタイムに再現する。
本サイトはその計算をせず、紙の場所ごとに吸い方が違って縁が揺れるという見え方だけを借りた。
Guo & Kunii（1991）は、紙の構造、液体の流れ、粒子の吸着から墨絵のにじみを再現するモデルで、主題は索引の要旨と Curtis et al.（1997）の関連研究の節で確かめた。
にじみを線ごとの幅と縁の表現として持つこと（5 段の量、濡れた本体と縁の帯と粒の重ね方、広がりの式、線の混み具合による弱め方）、縁の帯の外周を和紙の繊維の向きと紙の歯で揺らすこと、和紙の繊維の描き方、にじみを古さに写すことは、これらの研究にはない本サイトの設計である。
和紙の繊維の構造を計算で表した査読付きの CG の研究は見つからなかった（和文のデータベースは探していない）。

### 描いている間の線と仕上げ

どの作品も、描いている間は細い線で描く。
細い線は芯だけの筆の線で、両端で細る入りと抜きと、作品ごとの筆圧か線ごとの乱数による太さの揺らぎ（長さ 40 px ほどの波で 0.75 から 1.25 倍）を持ち、にじみを描かない。
入りと抜きは同じ細さまで細り、入りを重くしない（織物の糸と弧の筆圧は、以前は入りで太く抜きで細る傾きを持っていた）。
古い線ほど墨を少しだけ淡くする（量 1 で 0.8 倍）。
ダークの細い線は細い光の線で、図全体に軽い bloom（1/6 に縮めた絵を 1 回足す）を毎フレームかける。
描いている間ににじみを描かないのは、毎フレーム描き直すには水墨の線が重いからでもある。
実装の注記にある実測では、試験台の 142 本の糸（1 本 120 点）をライトで描くのに、細い線は 46 ms、水墨は 286 ms かかった（Chrome のソフトウェア描画、1280 × 800）。

描き終えると、左下の時期の表示の位置に「仕上げ」と出す。
同じ描画を、線の描き方だけ水墨に替えてもう一度描き、細い線の絵から水墨の絵へ約 10 秒かけて移る。
進み具合は経過時間に比例させ、なめらかさは合成の曲線（両端で傾きが 0 になる smoothstep）だけに任せる。
以前は約 2 秒で、進み具合にも緩急を掛けていた。緩急を二重に掛けると、中ほどで急に切り替わって見える。
ライトでは、水墨の絵をぼかしから締めながら濃くし、細い線の絵を消していくので、墨が紙にしみ込むように見える。
水墨の絵にも同じ芯があるので、途中で線が消えて見えることはない。
ダークでは、光の暈が満ちる段と bloom が満ちる段を重ねて、切り替わる瞬間を作らない。
左下の文は作品とテーマで変わり、その作品で仕上げが何をしているかを書く。
たとえば墨流しのライトでは「仕上げ：細い輪を、濡れた墨の輪に描き直しています」で始まり、後半に「仕上げ：古い輪ほど墨をにじませています」へ替わる。
ダークでは「仕上げ：古い輪ほど光を広げています」のあと、後半に「仕上げ：絵の全体に淡い光を重ねています」へ替わる。
織物の糸はにじませないので、ライトの仕上げで糸は変わらず、ダークでは仕上げの bloom だけが重なる。
移り終えると文字は消え、読み上げの領域が「仕上げが終わりました」と伝える。
描き終えた瞬間の細い線の絵は、動く作品では最後のフレームと画素まで同じで、仕上げはこの絵から動き始める。
静止画の 3 作品も、細い線の絵を一度に描いてから、同じ仕上げを走らせる。
動きを減らす設定（prefers-reduced-motion）では、配置を最後まで計算してから、仕上げ済みの絵を文字なしでいきなり描く。

仕上げを文字つきの別の段にしたのは、完成の状態を、描く過程の続きではなく、はっきり示した最後の一手として見せるためである。
文字がなければ、線が太り紙に染みていく変化は、網がまだ育っている途中の変化と見分けにくい。

点は線より控えめに描く。
描く点の半径は、当たり判定とカードの位置に使う半径の 0.65 倍（赤い点は 0.78 倍）で、押しやすさは元の半径のまま保つ。
大きさの順位は変わらない。
ライトでは点の墨を群の濃さの 0.72 倍の不透明度で塗る。
ダークでは点のまわりの光の暈を弱くし（強さ 0.14、赤は 0.9）、群の色を白へ寄せた核を不透明度 0.58 で置く。

どの作品の下にも「プロット点の表示」のボタンがあり、押すと点（墨流しの点、結び目、星、束の印、弧の note の刻みと、次の段落の小さく淡い点）をすべて消して線だけにする。
流れの点は、小さく淡い点だけである。
消している間は点の当たり判定も外す。
配置は計算し直さず、絵を描き直すだけで、仕上げ済みの絵は仕上げ済みのまま描き直す。
ボタンの状態は、作品を切り替えても「もう一度生成」をしても保ち、保存はしない。
作品の下のボタンは、この「プロット点の表示」と、力の計算で配置する作品の「もう一度生成」だけである。
以前あった画像の保存のボタンと、網の向きを描画域の長い辺にそろえるボタンは外した。

1 本の note にしか引かれない文献（3,782 件）は結び目にならないが、どの作品でも、その note のいる所のまわりに小さく淡い点として置く。
点の大きさと濃さにはシードごとの小さな揺らぎがあり、濃さ（ダークでは明るさ）は、その note がいちばん多く引く群の段階である。
置き場所は作品ごとに次のとおりである。

- **織物**：その note の糸のまわり（以前からの粒）。
- **墨流し**：その note の墨の滴を落とした所のまわり。標準偏差は墨の滴の半径の 0.45 倍で、結び目の点と同じく流れには運ばれない。
- **年輪**：その note の刻みのまわりで、その時期の帯の中。輪に沿う向きは弧長で 2.2 px · u · √(引いた文献の数) を標準偏差とし、内側へは帯の厚みの 0.3 倍を標準偏差とする半正規分布でずらす。
- **星座**：その note が引く星の、球面の上の重心のまわり。接平面の正規分布（標準偏差は星 1 つあたりの間隔の 0.55 倍 × √(引いた文献の数)）で散らし、同じ立体射影で写す。結び目を持たない note の点は、シードと slug で決まる視野の楕円の中の点のまわりに置く。
- **束**：円の内側の縁のすぐ内側で、その note が引く文献の角度の円周の平均の向き。
- **弧**：その note の刻みの上（弧の側）。高さは 1.6 px · u · √(引いた文献の数) を標準偏差とする半正規分布で、引いた文献の多い note ほど高く積もる。
- **流れ**：その note を書いた日（前後 2.5 日の揺らぎ）の、その note がいちばん多く引く群の層の中。

小さく淡い点は当たり判定に入れず、動く作品では、その note が着いたときに現れる。

### 動く作品の配置を決める力

墨流し、織物、星座の結び目の位置は、ページを開いたブラウザの中で、押し合う力と引き合う力の釣り合いから求める。
三つの作品は、配置を置く空間と、押し合う力の届き方で分かれる。
墨流しは描画域と同じ縦横比の長方形（本ノートでは**平面**と呼ぶ）に、星座は単位球面（**天球**と呼ぶ）に結び目を置く。
織物は、枠を持たない平面（**自由な平面**と呼ぶ）で網を育て、落ち着いた網を回して描画域へ写す。
年輪の配置は、区画に閉じこめる別の計算で、「年輪を力に任せない理由」の節で述べる。

力の形は ForceAtlas2（Jacomy et al., 2014）から借りた。
ForceAtlas2 の斥力は、2 点の次数に 1 を足した値の積に比例し、距離に反比例する（F_r = k_r (deg_1 + 1)(deg_2 + 1) / d、同論文の式 2）。
重力は次数に 1 を足した値に比例し（F_g = k_g (deg + 1)、式 4）、重みつきのエッジの引力は重みと距離に比例する（F_a = w^δ d、式 6）。

本サイトは、結び目を引く note の本数を**質量** m とし、押し合う強さの基準をその平方根にした（本ノートでは**電荷** q と呼ぶ）。
引力は共引用のエッジに沿って F_a = k_a w d とし、式 6 で δ = 1 とした形に係数 k_a を掛けた（墨流し 1、星座 0.3、織物 0.04）。
ForceAtlas2 の引力に係数はなく、k_a は 1 tick の歩幅を、明示的な積分が安定する大きさに収めるために置いた。
ForceAtlas2 の論文は mass という語を使っておらず、deg + 1 は斥力と重力の係数として出てくる。
質量を慣性として使い、加速度を F / m とした点は、本サイトの設計である。

斥力の形は、空間ごとに分けた。
織物の斥力は F_r = k_r q_i q_j / d で、式 2 の (deg + 1) の積を電荷の積に置き換えた形のまま、すべての組に届く。
織物は、これに大きさ一定の中心への引力 F_g = k_g g（式 4 の形から (deg + 1) の係数を外したもの）を組み合わせ、網は円盤に近い形に落ち着く。
墨流しと星座の斥力は、届く距離 R を切り、F_r = k q_i q_j (1/d − 1/R)（d < R、R で 0 へ連続に落ちる）とした。
すべての組に届く 1/d の斥力は、平面では 2 次元のクーロン系になり、中心への重力と組むと円盤に落ち着き、箱に閉じ込めると電荷が壁に溜まる。
届く距離が平均の間隔の数倍しかない斥力は、箱の中の気体の圧力のように働くので、結び目は箱を一様な密度で埋める。

墨流しと星座では、群の分かれ方を斥力の届く距離で作った。
同じ群の結び目どうしの斥力は短く届き（墨流しでは平均の間隔の 1.6 倍、係数 1）、違う群の結び目どうしの斥力は遠くまで強く届く（墨流しでは 8 倍、係数 3.5）。
天球でも同じ形で、同じ群は 3.4 倍、違う群は 8 倍で係数 4 倍である。
群の中の結び目は近くまで寄れ、群と群は押し離されて、あいだに疎な所が残る。
群の境界線や面の塗りは描かず、群のまとまりは点の粗密だけで読める。
群は Louvain 法で共引用から求めたものなので、この斥力は共引用の構造を群の単位でもう一度強めることになる。
織物の斥力は群を区別しない。

電荷を質量と分けたのは、慣性を実際に効かせるためである。
斥力に質量の積を掛けると、加速度 F / m から自分の質量が消え、重い結び目も軽い結び目と同じ加速度を受ける。
いまの形では、どの力でも、同じ力を受けたときの加速度は自分の質量とともに小さくなる。
ところが、族と気質を入れる前の織物の実装での実測では、多く引かれた結び目ほど 1 tick あたりの移動量が小さいという関係は見られなかった。
多く引かれた結び目ほど共引用のばねの重みの合計も質量にほぼ比例して増え、質量あたりのばねの強さが下がらないためである。
したがって、この設計から言えるのは「同じ力を受けたときの加速度が小さい」ことまでで、「重い文献ほど動かない」ことではない。
式と実測の値は、下の「作品の式」の「力の計算」に置いた。

墨流しと星座では、電荷に結び目ごとの揺らぎも掛けた。
電荷は q_i = √m_i · exp(σ z_i) で、z_i はシードつきの標準正規分布の近似、σ は平面で 0.7、天球で 0.8 である。
結び目 445 件のうち 332 件は 2 本の note に引かれた文献で、電荷がそろうと、近い斥力の釣り合いで群の中が六方の格子のように等間隔に詰まる。
揺らぎがあると間隔が不規則になり、点の並びや星空のばらつきに見える。
揺らぎは斥力にだけ掛け、質量（慣性）と共引用のばねには掛けない。
織物の電荷は √m のままである。

平面では、さらに三つの力を足した。
縁の力は、縁の外にも同じ密度の結び目が続いているとしたときの斥力を 0.6 倍にしたもので、内側から押された結び目が縁に並ぶのを防ぐ。
中心への弱い線形の重力（係数 0.8）は、群をまたぐ長い斥力に押された小さな群が縁に一列に並ぶのを防ぐ。
時間は、結び目が網に着いた順を横の座標に割り振った引き先で入れる（設定では左が古い）。
着いた結び目はその引き先の近くに置かれ、そのあとはごく弱いばね（係数 0.004）で引き先へ引かれる。
ばねは共引用の引力よりずっと弱く、落ち着いた配置では、横の位置と着いた順の順位相関（Spearman）はほぼ 0 だった（二つの縦横比 1.605 と 1.638 の 5 つのシードで −0.20 から +0.34）。
墨流しの横の位置からは、時期も古さも読めない。
墨流しで時間を表すのは、輪の重なり、伸び、にじみである（「墨流し」の節で述べる）。
結び目を持たない note は、ばねを持たない質量 1 の粒子として平面に加わる。
粒子は長方形の中の一様な乱数の位置に着き、どの相手とも短い斥力で押し合って、群のあいだの隙間に散る。

天球では、結び目を単位球面の上の 3 次元の位置として動かす。
力で動かした後に長さ 1 へ戻し、速度を接平面へ落とす。
球面は、視点を中心とした立体射影で描画域へ写し、描画域の長い辺の方向の全角を 136° にとる。
立体射影は角度を保つので、星座の形は歪まず、視野の縁ほど大きく写る。
星の広がりは、視野の中心へ向かう楕円の重力（描画域の縦横比に合わせ、長い辺の方向を弱めたもの）で描画域に収め、楕円の半径が 0.88 を超えた星だけを柔らかい縁の力で戻す。
枠へ押しつける拘束は置かないので、星の広がりの輪郭は長方形にも円にもそろわない。
座標線は描かない。
Kobourov & Wampler（2005）は、要旨によれば、力学配置を接空間への射影によって球面や双曲面の上へ一般化した。
本サイトは、3 次元の差のベクトルで力を求めて接平面へ落とす簡単な形で、同論文の計算は使っていない。
立体射影の式は Snyder（1987）を標準的な出典として挙げる。

自由な平面には枠がない。
すべての組の斥力と中心への引力が釣り合う所で網が落ち着き、落ち着いた網を回して描画域に収める（写し方は次の節で述べる）。
描く結び目どうしが重ならないように、重なった円を押し戻す（d3-force の forceCollide と同じ考え方）。
自由な平面の係数と中心への引力の形は、シードごとに変わる（次の節）。

時間の順序も力の計算に入れた。
note は書いた日の順に 1 本ずつ加わり、そのたびに、その note が引く結び目と、結び目どうしを結ぶばねが増える。
配置は加わるたびに少しずつ動き、最後の note が加わったあとで落ち着く。
乱数のシードは閲覧のたびに変わる。
シードは画面に出さず、URL のハッシュ（`#<作品>/<シード>`）にだけ書き出す。
同じハッシュで開けば、同じ配置が再現される。
1 回の閲覧の中では、力の計算で配置する作品はすべて同じシードを使う。

点を押し合わせ、エッジをばねで引き合わせて図を描く考え方は、Eades（1984）の spring embedder にさかのぼる。
Eades は、頂点を環に、辺を対数の強さのばね（C_1 log(d / c_2)）に見立てた。
力で配置する方法の系譜には、Fruchterman & Reingold（1991）も挙げられる。

### 一つの配置を正解として見せない理由

以前のページは、ビルド時に固定シードで一度だけ求めた配置を、どの閲覧者にも同じ図として見せていた。
同じ図が毎回出ると、見る者は位置そのものに意味があると受け取りやすい。
しかし力で決まる配置は、初期位置に左右される。
Gansner et al.（2005）は、自分たちの方法を比べるときに 25 通りの乱数の初期配置を使っており、配置が初期位置によって変わることを前提にしている。
Venturini et al.（2021）は、力学モデルで配置したネットワークを見るとき、見る者が読み取る近さには関係の曖昧さが残ると論じている。

そこで動く作品は、閲覧のたびに別の配置を生成する。
作品の下の「もう一度生成」を押すと、新しいシードで網を最初から育て直す。
変わるのは点の位置と、位置から決まる線の道すじと墨流しの輪の形だけで、年輪ではこれに割れ目の向きが加わる。
墨流しでは、流れの向き（描画域の長い辺に沿う二つの向きのどちらか）、帯の流れの位相、渦の回る向きもシードで変わる。
どの点どうしを線で結ぶか、どの糸がどの点を通るか、どの note の滴がどの点の重心へ落ちるか、共引用の重みはデータで決まり、シードでは変わらない。

墨流しの平面と星座の天球で、シードが変えるのは次の四つである。

- **置き場所**：着いたときの位置の揺らぎと、共引用の相手がまだいない文献の置き場所。
- **電荷の揺らぎ**：結び目ごとの exp(σ z_i)。
- **係数の小さな幅**：平面の引力と時間のばねに 0.85 から 1.15 倍、違う群の斥力の届く距離に 0.94 から 1.06 倍。
- **天球の視点**：視野の中心（球面上の一様分布）と、視線まわりの回転。

シードで変わらないのは、結び目の集合、共引用のエッジと重み、群、大きさ（質量と、電荷の基準の √m）、note の着く順、空間の型（平面の縦横比と時間を置く軸、天球の視野の広さ）である。
配置の大きな形は、平面ではいつも描画域を埋める一枚の長方形、天球ではいつも星のない空を挟んだ島の集まりで、シードが変えるのは群の置き場所と細部である。

織物の自由な平面では、シードから次の三つも引く。
どれも初期配置と力の係数の範囲を変えるもので、共引用の関係には触れない。

- **向き**：描画の回転 θ を 0 から 2π の一様乱数で、鏡映を確率 1/2 で引く。回転と鏡映は描画域へ写すときにだけかける。θ のままだと、いちばん大きく収まる向きの縮尺の 75% に届かない細長い網では、75% に届く向きのうち θ に最も近い向きへずらす。
- **初期配置の族**：円盤、渦、環、二つの房、帯、散った群の 6 つから、重み 1、1、1、1、0.8、1.2 で 1 つを選ぶ。円盤以外では、結び目ごとの中心への引力の向かう先を、網の中心から族の型の位置へ移し、その引力を 3 倍にする。本ノートでは、これを**記憶の重力**と呼ぶ。網は育つ間も焼きなましの間もこの型に引かれ、大きな形が型を覚える。型の位置は、群（Louvain 法）と網に着いた順だけから決める。たとえば環では、群ごとの弧を円周に並べ、弧の中を着いた順に並べる。二つの房では、群をまたぐ共引用の少ない分け方で群を二つに分ける。
- **気質**：斥力の係数に 0.7 から 1.5 倍、引力の係数に 0.7 から 1.4 倍、中心への引力の係数に 0.5 から 2 倍（対数で一様）を掛ける。さらに確率 0.3 で引力を LinLog 型（ForceAtlas2 の式 3 の形）にし、確率 0.2 で中心への引力を距離に比例する強い重力（式 5 の形）にする。

型の位置は群と着いた順だけで決まるので、一緒に引かれる文献は同じ位置へ引かれる。
族を選んでも、近さが共引用から来るという関係は崩れない、というのが設計の見込みである。
この見込みと変わり方の大きさを、シード 1 から 8 の配置で測った。
変わり方は、2 つの配置の結び目の座標を、平行移動、回転、鏡映、拡大をそろえて重ねたあとに残るずれ（Procrustes の不一致度。0 なら同じ形、1 に近いほど違う形）で測った。
8 つのシードの 28 組の平均は、族と気質を入れる前の実装で 0.543、いまの織物の実装で 0.784 だった。
どのシードでも、共引用のエッジの集合と重みは同じ（5,870 本）だった。
保たれ方を、結び目の組ごとの共引用の重み w と距離の順位相関（Spearman）で測ると、結び目のすべての組では、いまの織物の実装で −0.336 から −0.370、族と気質を入れる前の実装で −0.372 から −0.379 だった。
エッジのある組だけでは、それぞれ −0.413 から −0.489 と、−0.485 から −0.568 だった。
どのシードでも負で、よく一緒に引かれる文献ほど近くに置かれる関係は保たれている。
ただし、相関は族と気質を入れる前よりわずかに弱い。
型の位置へ引く力が、共引用のばねとは別に位置を決めるからだと考えられる。
族の型は網の大きな形を決めるが、渦や環のような形はデータの関係を表さない。

三つの配置の構造を、5 つのシード（7、11、23、101、202）の平均で比べた。
距離はすべて描画域に写した座標で測った。
墨流しは 1085 × 676 px の描画域で、配置の結び目の位置（墨流しの点）を測った。
織物と星座は幅 968 px、縦横比 1.638 の描画域で測った。
織物は 20,000 tick を上限に落ち着くまで回してから、描画域への写し方で写した。

| | Spearman(w, 距離) | 群内 / 群間 | シルエット | 近傍 5 件の純度 | 最近接距離の CV |
|---|---|---|---|---|---|
| 墨流し（平面） | −0.468 | 0.195 | 0.623 | 0.976 | 0.33 |
| 織物（自由な平面） | −0.448 | 0.265 | 0.377 | 0.897 | 0.13 |
| 星座（天球） | −0.426 | 0.290 | 0.464 | 0.962 | 0.35 |

- **Spearman(w, 距離)**：共引用のエッジの重み w と、エッジの両端の距離の順位相関。負に大きいほど、よく一緒に引かれる文献が近い。
- **群内 / 群間**：同じ群の結び目の組の平均距離を、違う群の組の平均距離で割った値。小さいほど群がまとまる。
- **シルエット**：結び目ごとに、自分の群への平均距離 a と、最も近いほかの群への平均距離 b から (b − a) / max(a, b) を求め、全体で平均した値。1 に近いほど群が分かれる。
- **近傍 5 件の純度**：結び目が 6 件以上の群に入る結び目について、最も近い 5 件のうち同じ群の結び目の割合の平均。
- **最近接距離の CV**：各結び目から最も近い結び目までの距離の変動係数（短い側と長い側の 10% ずつを除く）。小さいほど格子のように等間隔である。

墨流しと星座は、織物より、群の分かれ方を表すシルエットと近傍の純度が高い。
違う群の文献どうしの斥力を、同じ群どうしより遠くまで強く届かせたからである。
共引用と近さの相関は、墨流しで織物よりわずかに強く、星座でわずかに弱い。
群内 / 群間の比は、墨流しで織物より小さく、星座でわずかに大きい。
星座で比が小さくならないのは、群の中の星も視野を一様に埋めるように広がるからだと考えられる（この機構は確かめていない）。
最近接距離の CV は、織物の 0.13 に対し、墨流しで 0.33、星座で 0.35 で、墨流しと星座の点の間隔は織物より不規則である。
相関はシードによって、墨流しで −0.45 から −0.49、織物で −0.41 から −0.52、星座で −0.40 から −0.47 の幅があり、どのシードでも負だった。
シルエットの幅は、織物の 0.21 から 0.54 に対し、墨流しで 0.58 から 0.67、星座で 0.44 から 0.49 で、墨流しと星座では、シードによる群の読みやすさのばらつきが小さい。
織物の値は、墨流しと星座を別の空間に分ける前に三つの作品が共有していた配置の値と、シードごとに一致した。
測り方は、ブラウザの外で配置の計算だけを動かす試験台で行った。

配置が変わっても保たれるのは、どの結び目がどの結び目の近くにいるかという相対的な近さと、墨流しと星座では群の粗密だけである。
図全体の形と向きは毎回変わるので意味を持たない。
織物の渦や環や帯のような大きな形も、データの関係ではなく、シードが選んだ族の型である。
たとえばビルド時の参照配置では、「スキルの公的標準」は右端（x = 0.95）に置かれていた。
この群はエッジを持たないので、その位置は他の群との関係を何も表していない。
群どうしの関係は、どの配置の位置よりも、上に書いたエッジの本数で読むほうが確かである。

### 年輪を力に任せない理由

年輪では、中心から外へ向かう 6 つの輪が 6 つの時期にあたり、中心が時期 1 である。
結び目は、初めて引かれた時期の輪にのる。
角度は群を表し、扇形を、論文の割合の小さい群から大きい群へ時計まわりに並べた。

並びの始まり（論文が最も少ない群）と終わり（最も多い群）が接すると、最小と最大が続いているように見える。
そこで年輪には、木の断面の乾燥割れのような、くさび形の割れ目を 1 本開けた。
割れ目の開きは外周で 25° で、中心に近いほど狭く、中心では外周の 0.78 倍になる。
扇形は割れ目の一方の縁から時計まわりに始まり、もう一方の縁で終わる。
帯の輪は割れ目の手前で筆を抜くように細くなって途切れ、割れ目の近くの note の刻みも細くなる。
割れ目の向きはシードごとに回るので、「もう一度生成」を押すと割れ目の位置も変わる。
扇形の並ぶ向き（時計まわり）と、半径が時期、角度が群の順という対応は変わらない。

輪の外には、論文の割合の尺度として細い目盛りの弧を 1 本引いた。
弧は割れ目の縁から時計まわりに、論文が少ない側の小さな点から始まり、論文が多い側の小さな矢じりで終わる。
弧の色は群の尺度と同じ移り方（ライトは墨の薄から濃へ、ダークは暗い光から明るい光へ）で、文字は置かない。
時期は、割れ目の中の各帯の高さに丸数字（① から ⑥）だけを小さく淡く置いた。
割れ目の幅や帯の厚みに数字が入らない時期には、数字を出さない。

年輪でも力を計算するが、力のかけ方は織物や星座と違う。
結び目は、自分の時期の帯と自分の群の扇形が交わる区画の外へ出られず、各 tick の後に区画の中へ戻される。
区画の中心へは、距離に比例する強い重力（ForceAtlas2 の式 5 の形から質量を外したもの）で引かれ、斥力は同じ区画の結び目どうしにだけ働く。
共引用の引力は区画をまたいで弱く働くので、結び目は区画の中で相手のいる側へ少し寄る。
区画の中の位置が表すのはその程度で、細かな位置には意味がない。

輪と扇形を力に任せなかったのは、時期と群というデータの値を、そのまま位置に写したかったからである。
Krzywinski et al.（2012）の hive plot は、ノードの属性で軸と軸上の座標を決める。
出版社の要旨によれば、この方法は、力学配置と違って再現でき、図どうしを比べられる。
年輪の帯と扇形は、この考え方を借りて、力で決まる部分を帯と扇形の内側に閉じこめたものである。

### 墨流し

墨流しは、水面に墨を落として模様を作り、紙に写し取る技法である。
作品の墨流しでは、1 本の note を、墨の滴 1 つと水の滴 1 つの組にした。
note は書いた日の順に 1 本ずつ着き、そのたびに墨の滴を落とし、すぐ同じ中心へ水の滴を落とす。
墨は水に押されて細い輪になる。

滴を落とす所は、その note が引く結び目の、平面の配置での位置の重心である。
結び目を持たない note は、平面の配置の中のその note の粒子の、落とす時点の位置へ落とす（粒子はそれまでの滴と流れに運ばれている）。
墨の滴の面積は、その note が引く結び目の数に比例する（結び目を持たない note は 1 件として数える）。
水の滴の半径は墨の滴の 0.8 倍で、すべての墨と水の面積の合計は、描画域の内側の箱の面積の 1.7 倍にとった。
合計が箱より大きいので、模様は描画域の四隅まで満ち、外側の古い輪は紙の端で切れる。

滴の写像は、Jaffer の解説ページ（Jaffer, 2010）で確かめた式を使う。
中心 C、半径 r の滴を落とすと、水面の点 P は C + (P − C) √(1 + r² / |P − C|²) へ移る。
同ページは、この写像が C を含まない近傍の面積を保つことを、同心の環の面積から示している。
新しい滴は古い輪を外へ押し、押された輪は面積を保ったまま細くなる。
この写像を含む数学的なマーブリングの方法は、Jaffer を共著者に含む Lu et al.（2012）にまとめられている。
要旨によれば、同論文は閉じた式で墨流しを模す方法を示し、実時間の見た目のフィードバックと流れるアニメーションを可能にした。
本サイトは同論文の本文を読んでおらず、式は Jaffer のページの記述に拠っている。

水面は、滴を落としている間ずっとゆるく流れる。
流れは発散 0 の流れ関数で与え、帯ごとに向きの変わる蛇行した流れ 3 本、流れの向きへ引き伸ばす一様な歪み、模様の外形を描画域の長方形に近づける四隅への流れ、大きい滴 4 つの下流の脇に置いた小さな渦を重ねた（式は「墨流しの式」に置いた）。
流れの向きは描画域の長い辺に沿い、どちら向きかはシードで決まる。
流れは note 4 本ごとに、その本数の分だけ配り、最後にまとめて流す処理はない。
輪は落ちたあとに続く流れだけを受けるので、早く落ちた輪ほど長く流される。
最後の note の輪はほとんど流されず、丸いまま残る。
縦長の描画域では長い辺と短い辺の差が小さく、横長と同じ流れでは向きが読めないので、蛇行と渦を弱め、流れの向きへの伸びを強め、四隅への流れを弱めた。

見た目と、それが表すものの対応は次のとおりである。

- **輪**：1 本の note。
- **輪の大きさ**：その note が引く結び目の数（墨の滴の面積が比例する）。
- **輪の重なりと伸び**：書いた順。あとの note の滴が前の輪を外へ押し、流れが続くので、早く書かれた note の輪ほど外へ押し出され、細く長く引き伸ばされる。
- **輪の濃さ**：その note がいちばん多く引く群の段階（同数なら結び目の多い群）。ライトは墨の濃さ、ダークは光の明るさで表す。引いた結び目の少ない note の輪ほど淡く、縁に残る小さな淡い輪は、たいてい結び目を引かない note のものである。
- **輪の線のにじみ**：その note を書いた日の古さに 0.7 を掛けた量。
- **点**：結び目。点の大きさは引く note の本数、形は種類、濃さは群で、位置は平面の配置のまま動かない。
- **小さく淡い点**：1 本の note にしか引かれない文献。その note の墨を落とした所のまわりに置き、流れには運ばれない。
- **赤**：ポインタを重ねたか選んだ点か輪（ふだんは赤を使わない）。

輪は線が主で、線も塗りも淡い。
滴を落とした順に、滴の中を消してから墨を塗り（水の滴は消すだけ）、輪の縁に細い線を引く。
あとの滴の下の墨は見えず、輪と輪のあいだは和紙（ダークでは闇）の地になる。
ダークでは線を加算で重ねるので、輪の混んだ所の線を淡くして白く飛ぶのを防いだ。
点を押すと、その文献を引く note の輪（外と内の縁）を、墨で濃く引き直す。

墨流しでは、点のほかに note の輪も選べる。
当たり判定は、まず点を見る。
点に当たらなければ、ポインタを含む最も新しい滴を探し、それが墨の滴なら、その note を選ぶ（輪の帯の中）。
水の中（輪の穴）か、どの滴にも入らない所では、墨か水の縁が線の許容幅（マウスで 10 px、タッチで 16 px）の中にある滴のうち、最も新しいものの note を選ぶ。
どれにも当たらなければ何も選ばない。
note の輪を選ぶと、織物で糸を選んだときと同じく、その輪の外と内の縁を赤で引き直し、その note が引いた文献の点を墨で浮かべ、同じ文献を引くほかの note の輪の縁を、共有する文献が多いほど濃い墨で引く。
カードには、その note の題名、書いた日、時期、文献を共有するほかの note の本数と、note を開くリンクを出す。

点を輪と一緒に動かさないのは、群の読みを残すためである。
点も滴の写像と流れで運ぶ案を試したところ、滴が点を重心から外へ押し出し、開発中の実測ではシルエットが 0.06 まで落ちた。
点を配置の位置に残すと、模様は note の歴史を、点は文献の近さを表すという分担になる。
滴を点の重心へ落とすので、新しい輪の中ほどに、その輪の note が引いた文献の点が集まる。
墨流しの点の配置の構造は、「一つの配置を正解として見せない理由」の節の表に載せた。

描いている間は、出来事（墨の滴、水の滴、流れ）を決まった順に並べ、時刻が来たら順に確定する。
滴は面積 0 から広がり（墨、続いて水が、それぞれ 160 ms）、流れは前の流れを確定した時刻から少しずつ流して見せる。
点は、その文献を初めて引いた note の墨の滴が落ち始めると、400 ms かけて現れる。
平面の配置は動かして見せず、最初の数フレームで落ち着かせてから、note の着く時刻を数え始める。
確定の順と中身は時刻に依らないので、最後まで進めた絵は、静止画として一度に計算した絵と、点の座標まで同じになる。

### 織物と星座

織物では、1 本の note は 1 本の糸になり、引いた結び目を順に通る。
通る順は、結び目の重心から最も遠い結び目を起点に、近い順につないで決めた。
その note だけが引く文献は、糸のまわりに細かな粒として散らしてある（粒の濃さは、その糸と同じ群の段階）。
結び目を持たない糸は、ばねを持たない質量 1 の粒として力の計算に加え、中心へ引く力を 3 倍にした。
そのため網の隙間や縁に落ち着き、糸はその粒のまわりの小さな輪になる。
糸は細い墨の線（ダークでは細い光の線）で、にじませない。
太さは細く一定で、筆圧の小さな揺らぎだけを持ち、両端は同じ最小の太さまで細る。
糸の濃さ（ダークでは明るさ）は、その糸がいちばん多く通る群の段階である。
長い糸と、糸の混んだ所を通る糸ほど淡くして、重なりの濃さを頭打ちにした。

星座では、結び目を星にし、近くにあってよく一緒に引かれる星どうしだけを直線で結んで、小さな星座にした。
星の大きさは、その文献を引く note の本数である。
エッジは 5,870 本あり、すべてを引くと、群をまたぐ長い直線が群のあいだの空を灰色の霞で覆い、群の中も線で埋まって星座の形が読めない。
そこで、星図の星座線のように、少ない本数の線で星をつなぐ規則にした。
候補は、2 つの星の距離が描画域の短い辺 S の 0.08 倍以内の共引用の組だけで、遠い 2 つは一緒に引かれた回数 w に関わらず結ばない。
候補を w の多い順（同じなら短い順）に見て、別々の星座をつなぐ組を足していく（Kruskal 法による最大全域森）。
ただし、すでに引いた線と交わる組（端点を共有するだけなら交わらないとみなす）と、つないだ星座の星が 10 個を超える組は捨てる。
そのあと、同じ星座の中の組のうち w が 3 以上のものを、交わらなければ星座ごとに 1 本だけ足し、小さな輪を作る。
どの線もほかの線と交わらず（交わる組の数が 0 であることを数えて確かめた）、空には星 10 個以下の小さな星座がいくつも散らばり、どの組にも選ばれなかった星は点のまま残る。
幅 1,100 px、高さ 686 px の面で数えると、seed 7、11、23 の星座はそれぞれ 60、65、61 個で、線は 349、339、353 本、どの組にも選ばれなかった星は 39、43、33 個だった。星座の大きさは星 8 から 10 個のものが最も多く（28、31、32 個）、1 つの星座の線は中央値で 5 から 7 本、最も多くて 10 本である。
線の濃さは一定（ライトは墨の不透明度 0.5、ダークは光の 0.42）で、太さだけが w に応じて少し太り、にじみは古さの 0.3 倍に控える。
以前の、長い線を淡くする規則、橋の文献（媒介中心性の上位）の例外、平行な束と扇を淡くする規則、群の内と外の線の階層、次数による淡さの補正は外した。
描いている間も、着いた note までの共引用と、そのフレームの位置に同じ規則を当てる。
星を選ぶと、線に選ばれなかった組も含め、共引用でつながるすべての隣の星と線を浮かべる。

### 3 つの静止画

束は、Holten（2006）の Hierarchical Edge Bundling で共引用のエッジを描く。
結び目を円周に並べ、根、群、時期、結び目の 4 段の階層を組む。
2 つの結び目を結ぶ曲線は、階層の木の上で片方からもう片方へ至る経路を制御点にした B-spline である。
Holten は、束ねの強さ β によって、生の接続を表す直線から、親どうしの暗黙の隣接を表す束までを連続的に変えられることを示した。
本作品では β を 0.85 とした。
群の中に時期の段を挟んだのは本作品の判断で、束が群の中でもう一度枝分かれする。
エッジそのものをばねとして引き合わせて束ねる方法もある（Holten & van Wijk, 2009）。

弧は、Wattenberg（2002）の Arc Diagram の形を借りた。
要旨によれば、Arc Diagram は文字列の中で繰り返し現れる同じ部分列の組を弧で結び、反復の構造を見せる。
本作品では、note を書いた日の順に 1 本の基線へ等間隔に並べ、同じ文献を 1 件以上引く 2 本の note を半円の弧で結んだ。
繰り返されるのは文字列ではなく、引いた文献である。
弧が結ぶ関係は、Kessler（1963）の書誌結合にあたる。
弧を真の半円にしたのは本作品の判断で、弧の高さが、2 本のあいだに書かれた note の多さとしてそのまま読める。
2 本以上の note が引いた文献は、それを引いた note のうち最初と最後の 2 本を結ぶ弧の頂点に、小さな点として置く（同じ弧に乗る文献は弧に沿って並べる）。
文献の点に触れると、その文献を選べる。

流れは、群ごとの区間の量を、note を書いた日に沿って積み上げた streamgraph である。
Havre et al.（2002）の ThemeRiver は、要旨によれば、テーマの強さを時間に沿って流れる川の帯の幅で表す。
Byron & Wattenberg（2008）は、積み上げグラフ、ThemeRiver、Streamgraph が、それぞれ異なるエネルギー関数を最小化していると示し、層の色付けと並べ方も提案した。
本作品は、同論文の weighted wiggle を基線に使い、立ち上がりの早い層を中央に、遅い層を外側へ交互に足す inside-out の並べ方を採った。
横軸は 6 つの時期に丸めず日単位で取り、各 note の区間をガウス核で広げて足した。
2 本以上の note が引いた文献は、その群の層の中の、初めて引かれた日の位置に小さな点として置き、触れるとその文献を選べる。
ライトでは、層を和紙に置いた淡い墨の面（不透明度 0.045 から 0.2）で塗り、境目と外周を細い墨の線で引く。
層を切り抜いたり、落ち影を付けたりはしない。
層の中には、層の厚みに応じて最大 4 本の髪の毛ほどの淡い筋を通す。
ダークでは、層を群の色のごく薄い膜で塗り、境目を細い暗い溝にして淡い光の継ぎ目を通す。
仕上げでだけ、層の中心線へ向かってわずかに明るくなる 4 枚の入れ子の帯を加算で重ねる。
中心線に明るい芯の線は引かない。
描いている間は、塗りを仕上げの値より薄くし（ライト 0.55 倍、ダーク 0.6 倍）、仕上げで満ちる。

### 群制御の 8 作品

群制御の 8 作品は、個体が近くの個体か、まわりに残った跡だけを見て動く規則から形を生む。
全体の形を決める計算は置かない。
データは、個体の数、個体が生まれる順と場所、個体どうしの関係の重みとして規則に入る。
方式は、群制御のアルゴリズムを 4 つの系統（集団の形成と分裂、向きをそろえる群れ、図形や分布をつくる点群、複数の規模の組織と伝播）に整理した調査の 17 方式から選んだ。
選ぶときは、既存の 7 作品とも互いとも、線の質、面の質、点の並びが重ならないことを条件にした。

動く作品は 5 つある。
粘菌は Jones（2010）の粒子モデルで、文献を餌にし、引用 1 件につき 4 体の粒が、においの強い方へ向きを変えながら這った道を網の線として残す。
群れは Couzin et al.（2002）の 3 領域モデルで、文献 1 件が 1 体になり、同じグループの文献と一緒に引かれた文献どうしが向きをそろえて寄り合い、グループごとに芯の空いた渦を巻く。
線は、各個体がいまの位置までに動いてきた道の一部である。
細胞は Schmickl et al.（2016）の Primordial Particle System で、文献のすべて（4,227 件）が粒になり、近くの粒の数だけで向きを変える規則から、粒の集まりが生まれ、育ち、くびれて分かれる。
粒の多いグループの粒は同じ規則を 1.45 倍に広げた尺度で動くので、大きい集まりと小さい集まりが並ぶ。
線は粒の密度の等高線と、粒の短い動きの跡である。
泡は Secord（2002）の重み付き重心ボロノイ法で、文献 1 件が画面の一区画を受け持ち、Lloyd の反復で区画の重心へ寄り合うので、参考文献の多く置かれた所ほど区画が小さく詰まる。
一筆は O'Keeffe et al.（2017）の Swarmalators で、文献は初めて引かれた順位を位相に持ち、位相の近いものどうしが寄り合って輪になる。
その輪を切れ目（最も新しい文献と最も古い文献の境）で切り開き、左の古い文献から右の新しい文献へ、揺らぎながら流れる帯として描く。

静止画は 3 つある。
枯山水は Vicsek et al.（1995）のモデルで、1 本のノートにしか引かれない文献が粒になり、隣の粒と向きをそろえて流れ、グループごとの点の集まりに当たって分かれる。
流れ終えた向きを、Jobard & Lefer（1997）の方法で等間隔の細い線として引く。
珊瑚は Slavkov et al.（2018）の群ロボットの形態形成で、文献のすべてが格子の上の点になり、同じグループの隣の点と 2 つの物質を渡し合って Turing の模様をつくる。
活性の量を点の大きさで描くので、模様は網点の大きさの違いからだけ浮かぶ。
根は Israeli & Jalfon（1990）のトークン受け渡しで、ノートを書いた順に並べた輪の上を、各ノートのトークンが隣へ渡り歩き、出会うと 1 つになる。
その道のりを、横を輪の上の位置、下を時間にして描くと、上端のノートの点から伸びる細い線が合わさっていく。

個体が生まれる場所は、根を除き、墨流しと同じ長方形の力の配置を同じ時計で並走させて取る。
よく一緒に引かれる文献ほど近くに生まれるので、共引用の近さは生まれる場所として規則に入る。
群制御には力の配置のような温度が無いので、動く作品は最後のノートが着いてから決まった時間だけ動かし、その瞬間を絵として止める。
静止画の 3 つは乱数の種を固定し、小分けに最後まで計算してから描くので、開くたびに同じ絵になる。
計算している間は、描画域の左下に計算の進み具合を出す。

作品の名前は、着想の見立て（粘菌、群れ、細胞、泡、一筆、枯山水、珊瑚、根）から取った。
一筆は、はじめ禅の円相（一筆で描く輪）の形で描いたが、輪を切り開いて左右に流れる帯にしたので、円相を切り開いた一筆として名前を変えた。
ただし絵は、見立ての具体物（石、島、魚、生き物の管など）を描かない。
具体物を描くと、データの印より見立ての形が先に読まれるからである。
画面の印は、文献、ノート、共引用、時期、グループのどれかに対応する印か、個体が動いた跡だけにした。
どの作品でも、1 本のノートにしか引かれない文献の小さく淡い点に触れると、そのノートを選べる。
文献の点に触れれば、その文献を選べる。

### 並びを決める規則

束の円周、年輪の扇形、弧の基線、流れの層の並びは、それぞれ一つの比較関数で決める。
比較関数は鍵を順に見て、前の鍵で差がつかないときだけ次の鍵を見るので、同じデータからは毎回同じ並びが出る。

| 比較関数 | 使う作品 | 鍵の順 |
|---|---|---|
| groupOrder | 束の円周の群、年輪の扇形 | 論文の割合の低い順、群の結び目の多い順、群の番号の小さい順 |
| knotOrder | 束の群の中の結び目 | 最初に引かれた時期の早い順、引く note の多い順、媒介中心性の高い順、文献の鍵（DOI か URL）の順 |
| noteOrder | 弧の基線の note | 書いた日の早い順、slug の順 |
| layerOrder | 流れの層 | 立ち上がり（その群を最初に通った note の日）の早い順、区間の合計の多い順、群の番号の小さい順 |

今回のデータで論文の割合が同じ群は、「研究の問いの立て方」と「学ぶことと認知負荷」（どちらも 100%）だけで、結び目の多い前者が先に来る。
この並びは、「11 の群」の表の並びと一致する。
束の群の中では、結び目を時期でまとめてから引用の多い順に並べるので、群の中の時期は円周の上の連続した区間になり、時期の中を日付の順には並べない。
弧では、同じ日に書かれた note のあいだに前後がないので、slug で順を決める。
流れでは、layerOrder の順に 1 層ずつ、上下のうちそれまでに積んだ区間の合計が小さい側（同じなら上）の外へ足す。

### 作品が参照した先例

作品の見た目を決めるときには、データを作品として描いた先例を参照した。
Lima（2011）は、ネットワークの図の広がりに Networkism という語を与えている。
ほかに、Lupi & Posavec（2016）の Dear Data、Posavec の Writing Without Words、Lombardi の Narrative Structures、Viégas & Wattenberg（2012）の Wind Map を見た。
Wind Map は、公式ページによれば、米国の地表の風の予報データを流れる線で描く個人のアート作品で、2012 年に公開された。
Viégas & Wattenberg（2007）は、題名のとおり、視覚分析の外にある芸術的なデータ可視化を扱う。

この図は、分析の図としても、織物の絵としても見られる。
Kosara（2007）は、題名のとおり、可視化の批評を情報可視化とアートをつなぐ環として位置づけている。
どちらとして扱われるかで評価の言葉が変わることは、[データビジュアライゼーションとデータアートは何が同じで、何が違うのか](https://jamjet-iqbal.com/notes/data-viz-vs-data-art-literature/) で検討した。
ページは絵を先に置くが、絵が読み違えを誘っても分析が崩れないよう、特徴の根拠と数値を「詳しい説明と出典」に文章で並べ、計算の手順と作品の式は本ノートに置いた。

## 作品の式

ここに並べる式は、2026-09-25 時点の実装から書き起こしたものである。
[引用ネットワーク](/network)のページの「詳しい説明と出典」は式と係数を載せず、「元データと記録」の分析ノートとして本ノートを指している。
式は ASCII の記号で書いた（`*` は掛け算、`^` はべき、`sqrt` は平方根、`sum` は和、`U(a, b)` は a から b の一様乱数）。
長さの単位は、力の計算ではシミュレーションの座標、それ以外は画面の px である。
ページに合わせて、この節の式と文では note を「ノート」、群を「グループ」と書く。

### ノートを数値にする式

ノートから数えるのは、文献ごとに引いたノートの本数、2 件の文献を一緒に引いたノートの本数、ノートを書いた日の 3 つである。グループ、論文の割合、時期は、この 3 つから計算する。

#### 数える

```text
T          = 公開ノートの集合（draft と、この分析を記した 2 本を除く）
refs(n)    = ノート n の参考文献節から読んだ文献の鍵
             （DOI は小文字に、URL は www. と末尾の / と utm_ を除く）
count(r)   = |{ n in T : r in refs(n) }|           # 文献 r を引くノートの本数
K          = { r : count(r) >= 2 }                 # 結び目（2 本以上のノートが引く文献）
w(a, b)    = |{ n in T : a in refs(n), b in refs(n) }|    # 共引用の重み（a, b in K）
paper(r)   = 1  r が DOI、arXiv、ACL Anthology、OpenReview のとき（論文）
             0  それ以外（ウェブページ）
C          = Louvain(K, w)                         # グループ（重みつき、乱数は固定シード）
share(c)   = sum_{k in c} paper(k) / |c|           # 論文の割合
order(c)   = share(c) の小さい順の順位             # 0 が最も論文が少ない
bc(k)      = C_B(k) / max_j C_B(j)                 # 媒介中心性（重みなし、Brandes の方法）
born(n)    = ノート n が wiki/log.md に初めて出た日
period(n)  = max{ p : start_p <= born(n) }         # 6 つの時期
first(k)   = period(k を最初に引いたノート)
pass(c, p) = sum_{n : period(n) = p} |refs(n) intersect c| # 時期ごとの区間
```

実装：`src/lib/citation-weave.ts, src/data/interest-periods.ts`

#### 数から印へ

結び目の半径は引くノートの本数の平方根で太るので、面積がおおむね本数に比例する。形は文献の種類で、学術は塗りの円、実務は輪になる。線のにじみは、線が生まれた日の古さを 5 段に丸めた量である。描いている間は細い線で描き、仕上げで同じ描画を水墨の線で描き直して重ねる。

```text
r(c)    = r_min + 1.35 * u * sqrt(max(0, c - 2))   # 結び目の半径（c = 引くノートの本数）
u       = clamp(W / 960, 0.5, 1.3)                 # 描画域の幅 W による尺度
r_min   = clamp(3.5 * W / 1000, 2.6, 4)
          作品ごとの倍率：束 0.5、墨流し 0.48（下限 0.55 * r_min）、ほかは 1
tone(c) = 0.46 + 0.44 * order(c) / (G - 1)         # インクの濃さ（G = グループの数）
pos(c)  = (tone(c) - 0.46) / 0.44                  # 尺度の位置（0 = 論文が少ない, 1 = 多い）
ライト  = 色は一つの墨 oklch(0.195 0.012 60)、不透明度は tone(c)
ダーク  = 色は oklch(0.44 + 0.53 * pos(c), 0.018, 75)（色相と彩度は一定で、明度だけが上がる）、不透明度 0.95
形      = paper(k) = 1（学術）なら塗りの円、0（実務）なら輪。外径はどちらも同じで、ライトとダークで同じ。外形線なし
          輪の太さ = min(max(0.7, 0.75 * u, 0.22 * d), 0.4 * d)
描く点  = d = 0.65 * r（赤は 0.78 * r）。当たり判定とカードの位置は r のまま
          ライトの点の不透明度 = 0.72 * tone(c)
          ダークの点 = 暈（加算、強さ 0.14、赤は 0.9）と、群の色を白へ 18% 寄せた核（不透明度 0.58）
          プロット点の表示を切ると、点（小さく淡い点も）と点の当たり判定を外す
小さく淡い点 = 1 本のノートにしか引かれない文献。半径 = (0.3 + 0.75 * U^2) * max(0.8, u)
          不透明度 = (ライト 0.42 * tone、ダーク 0.5) * (0.55 + 0.45 * U)。色はそのノートがいちばん多く引くグループの段階
赤      = ポインタを重ねたか選んだ要素とその要素自身の印だけ。既定の絵には使わない（最多引用の結び目も群の色）
          赤の判定：R - max(G, B) > 110
age(t)  = clamp((b_max - t) / (b_max - b_min), 0, 1)   # b_min, b_max = 最初と最後のノートの born
                                                      # 0 = いちばん新しい, 1 = いちばん古い
bleed   = round(4 * age) / 4                          # にじみの 5 段（0, 0.25, 0.5, 0.75, 1）。赤い線は常に 0
細い線（描いている間）：
  幅    w(s) = width * (taper + (1 - taper) * sin(pi * s)^0.6) * p(s)   # s = 線の長さの割合、taper の既定 0.22
  p(s)  = 作品の筆圧、無ければ 0.75 + 0.5 * noise(s * L / 40)          # L = 線の長さ（px）
  芯の不透明度 = a * (1 - 0.2 * bleed)（a = 線の不透明度）、にじみなし
  ダークは図全体に 1/6 に縮めた絵を 1 回足す（強さ 0.7）
水墨の線（仕上げ）、ライト：
  S     = min(bleed^1.6 * (8 + 6 * width^0.7), maxSpread)   # 広がり（px）。width 1 で 14、5 で 27
          maxSpread は線ごとの上限で、いまはどの作品も渡さない
  h     = 細い線と同じ半幅,  sw = 0.4 + 1.2 * noise(線に沿った約 34 px の波)
  ha    = a^0.45                                            # 暈の濃さの基準
  芯    = 不透明度 a * (1 - 0.5 * bleed^1.3)
  本体  = 半幅 h + 0.45 + 0.07 * S（不透明度 ha * 0.14 * bleed）と、
          半幅 h + k * S * sw（k = 0.2, 0.42, 0.65, 0.9、不透明度 ha * (1 + bleed) * 0.05, 0.035, 0.025, 0.018）の 5 枚
          色は暖かい黒 rgb(34, 31, 27)。0.75 倍の粗い層に multiply で描き、2.4 px ぼかして重ねる
  縁の帯 = 外周 h + 0.9 * S * sw から内へ幅 0.35 + 0.3 * bleed px
          不透明度 ha * (0.03 + 0.08 * bleed) / (1 + 0.6 * (n - 1))   # n = 線が通る 12 px の升目の線の数の平均（5 段に丸める）
          外周を和紙の繊維の向きと網と歯で 0.1 * S * sw だけ揺らし、隣どうしを 2 回均す
  粒    = bleed >= 0.75 のときだけ、半幅 h + 0.6 * S * sw の内側に紙の歯の谷ほど濃い粒（不透明度 ha * 0.035 * bleed^2）
  同じ段の暈は 1 回の塗りにまとめ、不透明度は積んだ暈の二乗平均の平方根にする（重なっても濃くならない）
  束、星座（と線が 1,200 本を超える年輪）：本体を太さの違う stroke で描き、1 / (1 + 0.25 * (n - 1)) で弱める。縁の帯と粒は省く
水墨の線（仕上げ）、ダーク：
  S     = min(0.5 + 0.4 * width + bleed^1.5 * (13 + 4 * width^0.7), maxSpread)   # width 1 で 18 px
  e     = 1 / (1 + 0.8 * bleed^1.5)
  暈    = 中心線を幅 w_0 + 2 * k * S で引く 4 枚、(k, 不透明度) = (0.08, 0.28e), (0.26, 0.15e), (0.55, 0.09e), (1, 0.05e)
          不透明度に a^0.6 と 1 / (1 + 0.25 * (n - 1)) を掛ける。束、星座（と線が 1,200 本を超える年輪）は 3 枚
          w_0 = width * (taper + 0.72 * (1 - taper))。層の中は lighten、層どうしは加算
  芯    = 不透明度 a * (1 - 0.58 * bleed)
仕上げ（t は経過時間に比例して 0 から 1 へ、約 10 秒。k = smoothstep(t)）：
  ライト = 細い線の絵 * (1 - k)  +  水墨の絵 * k（水墨は加算で重ねるので、透明な地の上でちょうどの内分になる。ぼかし (1 - k) * 2.5 px）
  ダーク = 細い線の絵 * (1 - k_w)  +  水墨の絵 * k_w  +  bloom * k_b（後の 2 つは加算）
           k_w = smoothstep(0, 0.7, t),  k_b = smoothstep(0.3, 1, t)
  bloom  = 1/4, 1/8, 1/16 に縮めた水墨の絵を重み 0.45, 0.4, 0.32 で足し、元の明るさ m の所を (1 - m)^1.5 倍
           全体を clamp((0.92 - p99) / 0.35, 0.3, 1) 倍（p99 = 線のある画素の明るさの 99 パーセンタイル）
  動きを減らす設定では t = 1 の絵をいきなり描く
```

実装：`src/lib/citation-weave.ts (isPaper), src/lib/weave-works/common.ts (drawKnot, knotDot), src/lib/weave-works/style.ts (ageOf, InkBatch, composeFinish, bloomLayer), src/lib/weave-sketch.ts (startFinish)`

### 力の計算

文献は押し合い、一緒に引かれた文献どうしはばねで引き合う。多く引かれた文献ほど重く、同じ力を受けたときの速度の変わり方が小さい。墨流しは長方形の平面、星座は球面の上で計算し、違うグループの文献どうしは同じグループどうしより遠くまで強く押し合う。織物は枠のない平面で、すべての文献が押し合い、全体が中心か族の型の位置へ引かれる。シードで変わるのは置き場所の揺らぎ、係数の幅、墨流しと星座の電荷の揺らぎ、天球の視点、織物の族と気質と描く向きで、ばねの組と重みは変わらない。

#### 墨流しの平面

```text
単位    = 粒子の平均の間隔（長方形の面積を粒子の数 P にとる。幅 sqrt(P * aspect)、高さ sqrt(P / aspect)）
          P = 結び目の数 + 結び目を持たないノートの数,  aspect = 描画域の内側の箱の幅 / 高さ
m_i     = count_i                              # 質量（結び目のないノートの粒子は 1）
q_i     = sqrt(m_i) * exp(0.7 * z_i)           # 電荷。z_i = (U + U + U + U - 2) * sqrt(3)（シードつき）
押し合い（d < R の組だけ、d >= 0.08）：
  F_r   = k * q_i * q_j * (1/d - 1/R)
          同じグループ           k = 1,    R = 1.6
          違うグループ           k = 3.5,  R = R_x = 8 * U(0.94, 1.06)
          結び目のない粒子を含む  k = 1,    R = 3.2
ばね    F_a = k_a * w_ij * d,   k_a = 1 * U(0.85, 1.15)
縁の力  F_w = q_i * (wall(h_1) - wall(h_2))    # 軸ごと。h_1, h_2 = 両側の縁（0.5 内側）までの距離
          wall(h) = 0.6 * 3.5 * qbar * integral_{x > h} integral (1/r - 1/R_x) * (x / r) dy dx   # r < R_x、qbar = 電荷の平均
中心    F_c = -0.8 * m_i * (x_i - x_c) / (幅 / 2)（y も同じく、高さ / 2 で割る）
時間    F_t = kappa * m_i * (tau_i - x_i)      # 結び目だけ、横の軸（設定では左が古い）
          kappa = 0.004 * U(0.85, 1.15)
          tau_i = 0.5 + (r_i + 0.5) / P * (幅 - 1)   # r_i = 網に着いた順位
v_i <- (v_i + alpha * F_i / m_i) * 0.6,   |v_i| <= 0.6
x_i <- x_i + v_i。そのあと縁から 0.5 内側へ戻し、縁へ向かう速度を捨てる
alpha <- alpha - alpha * (1 - 0.001^(1/300))   # 300 tick で 1 から 0.001
ノート t は tick 3 * t に着く。新しい粒子の置き場所（g = U + U + U - 1.5）：
  結び目の縦 = 共引用の相手がいればその重心の縦 + 2.4 * g、いなければ U(0.5, 高さ - 0.5)
  結び目の横 = tau_i + 0.36 * g
  結び目のないノートの粒子 = 長方形の中の一様な乱数（時間のばねは受けない）
  その組の w_ij に 1 を足し、alpha <- max(alpha, 0.3)
止まる条件：すべてのノートが着き、alpha < 0.001
写し方：(x / 幅, y / 高さ) を描画域の内側の箱（左右 6%、上下 7% の余白を除く）へそのまま写す
描いている間：配置は動かして見せず、落ち着くまで先に回してから、ノートの着く時刻を数える
```

#### 織物の自由な平面

```text
m_i = count_i                    # 質量：その文献を引くノートの本数（結び目のないノートの粒子は 1）
q_i = sqrt(m_i)                  # 電荷：押し合う強さ
F_r = k_r * q_i * q_j / d        # 押し合い（すべての組、d >= 0.5）    k_r = 2.25 * a_r
F_a = k_a * w_ij * d             # ばね（共引用の組）                  k_a = 0.04 * a_a
      LinLog 型のとき F_a = k_a * w_ij * L * ln(1 + d / L),   L = 0.2 * R_ref
F_g = k_g * g_i * G              # 中心への引力（大きさ一定）          k_g = 4 * a_g
      強い重力のとき F_g = (2 * k_g / R_ref) * g_i * G * d
      g_i = 1（結び目）、3（結び目のないノートの粒子）
      引く先 c_i = 原点（円盤の族）、mu * 1.8 * R_ref * slot_i（ほかの族。記憶の重力）
      G = 1（円盤の族）、3（ほかの族）
R_ref = max(30, 0.29 * k_r * Q / k_g)             # 網の半径の目安（Q = 着いた粒子の電荷の合計）
d < R_i + R_j のとき             # 重なりの押し戻し（速度に直接足す）
  v_i += (x_i - x_j) * (R_i + R_j - d) / d * 0.5 * R_j^2 / (R_i^2 + R_j^2)
  R_i = 0.0055 * S * (1 + 0.39 * sqrt(max(0, m_i - 2)))    # S = いまの網の幅
v_i <- (v_i + alpha * F_i / m_i) * 0.6,   |v_i| <= 12      # 慣性つきの 1 tick
x_i <- x_i + v_i
alpha <- alpha * 0.001^(1/300)                     # 温度を下げる（300 tick で 1 から 0.001）
ノート t は tick 3 * t に着く。新しい結び目の置き場所：
  網に相手がいれば、相手の重心から半径 0.5 * max(2, 0.25 * D) の円盤の中（D = 網の重心からの平均距離）
  いなければ、型の位置 mu * 1.8 * R_ref * slot_i から半径 max(2, 0.08 * R_ref) の円盤の中
  円盤の族では、網の重心から半径 max(0.8 * R_ref, max(2, 0.25 * D)) の円盤の中
  その組の w_ij に 1 を足し、alpha <- max(alpha, 0.3)
止まる条件：すべてのノートが着き、alpha < 0.001
```

シードから引く値は次のとおりである。同じシードなら同じ値になる。

```text
族      = disc, spiral, ring, lobes, line, clusters を重み 1, 1, 1, 1, 0.8, 1.2 で 1 つ
mu      ~ U(0.75, 1)（disc は 0）
a_r ~ U(0.7, 1.5),   a_a ~ U(0.7, 1.4),   a_g = 2^U(-1, 1)
LinLog 型の引力：確率 0.3,   強い重力：確率 0.2
向き：theta_s ~ U(0, 2 * pi),   鏡映：確率 1/2
phi ~ U(0, 2 * pi)
族の型の位置 slot_i（単位は R_ref。r_i = 網に着いた順を 0 から 1 に直した順位）：
  line     = (3 * (r_i - 0.5), s * sin(2 * pi * r_i + phi)),   s ~ U(0, 0.45)
  ring     = 群ごとに大きさに比例した弧を半径 s の円周に並べ（群の順は乱数）、弧の中は着いた順,   s ~ U(1, 1.3)
  spiral   = ring の弧を、s 周のあいだに半径が 0.35 から 1.6 へ広がる渦の上に並べる,   s ~ U(1.2, 1.6)
  lobes    = 群を 2 つに分けて中心 (-s, 0) と (+s, 0) の房にし、房の中は群ごとに半径 0.45 の輪の上へずらす,   s ~ U(0.85, 1.15)
             分け方：片方の結び目が全体の 3 割から 7 割になる分け方のうち、分かれ目をまたぐ共引用の少ない 4 通りから 1 つ
  clusters = 半径 s の円盤の中に、群ごとに互いに離した点を 1 つ置く（大きい群から、best-candidate）,   s ~ U(1.1, 1.5)
```

#### 織物の描画域への写し方

回転、鏡映、拡大は距離の比を変えないので、近さの関係はそのまま残る。

```text
axis = 0.5 * atan2(2 * S_xy, S_xx - S_yy)   # 重心まわりの 2 次モーメントの主軸
l1 >= l2 = 2 次モーメントの固有値,  W, H = 描画域の幅と高さ
scale(phi) = min(W / sqrt(l1 * cos^2 phi + l2 * sin^2 phi), H / sqrt(l1 * sin^2 phi + l2 * cos^2 phi))
向き：
  scale(theta_s - axis) >= 0.75 * max_phi scale(phi) なら theta = theta_s
  そうでなければ、この条件を満たす向きのうち theta_s に最も近いもの（1° 刻みで探す）
  鏡映はシードのとおり
回したあと、両端 1% を除いた広がりを縦横比を保って収める
外れた点：x' = hi + m * tanh((x - hi) / m)  # 余白 m の中へなめらかに寄せる
描いている間は、毎フレーム前の写し方から 0.12 だけ寄せ、止まったらフレームごとに 0.04 ずつ上げて 1 にする
```

#### 星座の天球

```text
視点    視野の中心 e_z は球面上の一様分布、視線まわりの回転は U(0, 2 * pi)（シードつき）
立体射影 (X, Y) = 2 * (p_x, p_y) / (1 + p_z)   # p = 視点の基底で表した単位ベクトル。角距離 theta の点は中心から 2 * tan(theta / 2)
          長い辺の方向の全角 136°：半幅 a = 2 * tan(34°)、短い辺の方向の半幅 b = a / 縦横比
単位    s = 0.62 * sqrt(Omega / N)             # Omega = 見える長方形の立体角、N = 結び目の数
m_i     = count_i,   q_i = sqrt(m_i) * exp(0.8 * z_i)
押し合い（d = 弦の長さ / s、d < R の組だけ、d >= 0.08）：
  F_r   = c * 2 * q_i * q_j * (1/d - 1/R)
          同じグループ  c = 1,  R = 3.4
          違うグループ  c = 4,  R = 8
ばね    F_a = 0.3 * w_ij * d                   # 3 次元の差のベクトル（単位 s）
重力    向きは視野の中心へ（星の接平面の中で）
          |F_g| = m_i * (0.9 * sqrt((0.06 * X / a)^2 + (Y / b)^2) + (r > 0.88 ? 150 * (r - 0.88) : 0))
          r = sqrt((X / a)^2 + (Y / b)^2)       # 横長の描画域。縦長では 0.06 を Y の側に掛ける
v_i <- (v_i + alpha * F_i / m_i) * 0.6 を接平面へ落とし、|v_i| <= 0.5
p_i <- (p_i + s * v_i) / |p_i + s * v_i|      # 球面へ戻す
新しい星の置き場所：相手がいれば相手の重心（球面へ戻したもの）から各軸 U(-1, 1) * 1.4 * s
                    いなければ視野の楕円の内側（半径 0.75 まで）の一様な乱数
写し方：(0.5 + X / (2 * a), 0.5 + Y / (2 * b)) を描画域の内側の箱へ写す
温度、着く予定、止まる条件は平面と同じ
```

実装：`src/lib/weave-works/physics.ts (createPlane, wallTable, charmOf, createFree, layoutProfile, familySlots, Fitter, fitAngle, createSky, skyView, stereo), src/lib/weave-works/marbling.ts (marblingPlane, replaySim), src/lib/weave-works/common.ts (innerBox, mapUnit)`

文献に従う部分：押し合いの式は ForceAtlas2（Jacomy et al., 2014）の式 2 の形で、次数に 1 を足した値の積 (deg_i + 1)(deg_j + 1) の代わりに電荷の積 q_i q_j を置いた。墨流しと星座では、これを届く距離 R で打ち切った。ばねは式 6 で δ = 1 とした形に係数 k_a を掛けた。ForceAtlas2 の引力に係数はない。k_a を掛けることは座標の単位を取り替えることと同じで、1 tick の歩幅を、明示的な積分が安定する大きさに収めるために置いた。織物の中心への引力は式 4 の形から (deg + 1) の係数を外した。織物の LinLog 型の引力は式 3 の ln(1 + d) に長さの単位 L を入れた形で、d が L よりずっと小さいときは k_a w d に戻る。織物の強い重力は式 5 の形で、R_ref の距離で式 4 と同じ桁の大きさになる係数にした。墨流しの平面の中心への重力と天球の重力は、式 5 のように距離に比例する形で、(deg + 1) の代わりに質量を掛けた。速度の更新と温度の下げ方（velocityDecay 0.4、alphaDecay、alphaMin）は d3-force（D3, n.d.）の既定に合わせ、織物の重なりの押し戻しも d3-force の forceCollide と同じ考え方である。立体射影は Snyder（1987）を標準的な出典として挙げる。球面の上で力学配置を行う考え方は Kobourov & Wampler（2005）が要旨で示しているが、その計算は使っていない。

このサイトの設計：質量を慣性として使うこと（ForceAtlas2 は慣性を持たず、d3-force はすべての点の質量を 1 に固定する）、電荷を質量の平方根（墨流しと星座では、それに揺らぎを掛けた値）にすること、墨流しと星座で斥力の届く距離を切り、グループの内と外で届く距離と強さを分けること、平面の縁の力と時間のばね、天球の楕円の重力と柔らかい縁、織物の重なりの半径の形、初期配置の族と記憶の重力、係数の気質の範囲、LinLog 型と強い重力を確率で選ぶこと、描画域への写し方（シードの向きと fitAngle）、ノートを書いた順に網を育てて着くたびに温度を上げ直すことは、どの文献からも取っていない。電荷を √m にし、織物の中心への引力から質量を外したのは、加速度 F/m を自分の質量とともに小さくするためである。斥力に質量の積を掛けると、F/m で自分の質量が消え、重い文献も軽い文献と同じ加速度を受ける。いまの形では、加速度は、織物の斥力で k_r q_j / (d √m_i)、墨流しと星座の斥力で k q_j (1/d − 1/R) / √m_i に揺らぎを掛けた大きさ、織物の中心への引力で k_g g_i / m_i、ばねで k_a w_ij d / m_i になる。墨流しの平面の中心への重力、天球の重力、時間のばねは質量を掛けてあるので、加速度は質量に依らない。

次の実測は、族と気質を入れる前の織物の実装（係数を既定値 k_r = 2.25、k_a = 0.04、k_g = 4 に固定し、中心への引力をすべて網の中心へ向けた実装）で行った。いまの実装では測り直していない。実測（seed 48213）では、各力が 1 tick に与える加速度 α|F|/m の平均は、引用 2 本の結び目から 6 本以上の結び目へ、押し合いで 0.84 から 0.49、ばねで 0.67 から 0.41、中心への引力で 0.31 から 0.11 に下がった。ところが、1 tick あたりの移動量の平均は、重い文献ほど小さくはならなかった。質量と移動量の順位相関（Spearman）は +0.068（seed 48213）、+0.107（seed 7）、+0.049、+0.073、+0.130（seed 1、2、3）で、どれも 0 に近いか、わずかに正である（質量を斥力と重力の両方に掛けていた以前の実装では +0.10 から +0.16）。多く引かれた文献ほど共引用のばねの重みの合計 Σw もおおむね質量に比例して増えるので、質量あたりのばねの強さが下がらない。速度は毎 tick 4 割ずつ減るので、結び目は、動いていく釣り合いの位置についていく。そのため「重い文献ほど動かない」とは言えず、言えるのは、同じ力を受けたときの加速度が小さいことまでである。

ビルド時にも、分析の記録として一度だけ ForceAtlas2（graphology の実装）で座標を求め、元データに残す。設定は inferSettings が返す値（strong gravity あり、gravity 0.05、scalingRatio 10、slowDown 1 + ln N、Barnes–Hut なし）、反復は 500 回、初期位置は固定シードの乱数（mulberry32、0x5eed）である。作品はこの座標を使わない。

### 墨流しの式

ノートを書いた順に、ノートが引く文献の点の重心へ墨と水の滴を落とし、滴の写像で古い輪を外へ押し、流れ関数の流れで引き伸ばす。文献の点は動かさない。

```text
点 p_k    = 墨流しの平面の結び目の位置（px。描画域の内側の箱へ写したもの）。滴にも流れにも動かされない
n_t       = max(1, ノート t が引く結び目の数)
面積      a_1 = 1.7 * (内側の箱の面積) / ((1 + 0.8^2) * sum_t n_t)
墨の半径  r_t = sqrt(n_t * a_1 / pi),   水の半径 = 0.8 * r_t
中心      C_t = (1 / |K_t|) * sum_{k in K_t} p_k       # K_t = ノート t が引く結び目
          結び目のないノートは、そのノートの粒子の、落とす時点の位置（粒子も滴と流れで運ぶ）
出来事の順：ノート t（born の順）ごとに、墨の滴 (C_t, r_t) → 水の滴 (C_t, 0.8 * r_t)
          4 本ごとと最後のノートのあとに流れ（時間 1.5 * k / T。k = その区切りの本数、T = ノートの数）
滴の写像（中心 C、半径 r。すべての境界の点と、結び目のないノートの粒子にかける）：
  P' = C + (P - C) * sqrt(1 + r^2 / |P - C|^2)
  そのあと、中心 C、半径 r の円を新しい境界として足す
流れで運ぶ（中点法、時間 dt）：
  P_mid = P + (dt / 2) * v(P),   P' = P + dt * v(P_mid)
境界の点の間隔：写したあと 3 px を超えた区間には、写す前の区間の中点を写して足す（深さ 14 まで）
          描画域の外は遠いほど粗くし、上限を 24 倍まで広げる。0.8 px 未満に詰まった点は間引く
輪の濃さ = tone(ノートがいちばん多く引くグループ)（同数なら結び目の多いグループ、結び目がなければ 0.5）
淡さ    f_t = 0.3 + 0.7 * min(1, sqrt(n_t / 4))
塗り    墨の滴：中を消してから、不透明度 ライト 0.09 * tone * f_t、ダーク 0.06 * f_t で塗る
        水の滴：中を消すだけ
線      太さ max(0.5, 0.7 * u)。色はライトが墨、ダークが明るさ tone の光
        不透明度 ライト 0.36 * tone * f、ダーク 0.3 * f
        f = f_t（ライト）か f_t * c（ダーク）を、0.8 の冪の段に丸めた値（10 点ごとの区間で測る）
        c = (2 / n)^0.8（n > 2 のとき。ほかは 1）。n = 5 px の升目を通る輪の数を 3 × 3 の升目で足して 3 で割った数
            （1 本の線でおよそ 1）
線のにじみ = bleed(0.7 * age(born(t)))
点の半径 = max(0.55 * r_min, 0.48 * r(count))
描いている間：墨の滴、水の滴を、それぞれ 160 ms かけて面積 0 から広げる
        （同じ中心の滴は半径の二乗が足し合わされるので、途中の面積で写してよい）
        点は、その文献を最初に引くノートの墨の滴が落ち始めてから 400 ms で現れる
```

流れの場は次のとおりである。

```text
座標   xi  = ((x - b_x) * m_x + (y - b_y) * m_y) / S       # 流れの向き
       eta = (-(x - b_x) * m_y + (y - b_y) * m_x) / S      # 直交する向き
       (b_x, b_y) = 内側の箱の中心,  S = 描画域の短い辺,  (m_x, m_y) = (cos th, sin th)
       th = 0（横長）か pi / 2（縦長）に、確率 1/2 で pi を足す（シードつき）
流れ関数：
  psi = sum_{k=1..3} A_k * sin(2 * pi * f_k * eta + phi_k + c_k * sin(2 * pi * b_k * xi + chi_k))   # 帯の流れ
      + strain * xi * eta * S^2                                                             # 一様な歪み
      - (帯の流れの、内側の箱の上の平均の一様な流れ)
      + corner * a * b * s(u) * s(v) * (s(v)^2 - s(u)^2)                                   # 四隅へ寄せる流れ
      + 渦の和
  f = (0.9, 2.1, 4.3),   A_k = D_k * S^2 / (2 * pi * f_k),   D = (0.16, 0.09, 0.045)
  b = (0.45, 0.9, 1.6),   c = (0.6, 0.6, 0.7) * meander,   phi_k, chi_k ~ U(0, 2 * pi)
  u = (x - b_x) / a,  v = (y - b_y) / b,  a, b = 内側の箱の半幅と半高,  s(t) = t / sqrt(1 + t^2 / 1.5^2)
  渦：引く結び目の多い 4 本のノートの滴ごとに 1 つ
      中心 = C_t + 0.6 * R * m + side * 0.5 * R * m_perp（R = 墨と水の外の半径、side = ±1 はシードつき）
      速度 = G * exp(-d^2 / (2 * sigma^2)) / sigma^2 * (-dy, dx)（d < 4 * sigma）
      sigma = 0.07 * S,   G = side * 3.5 * vortex * sigma^2
速度   v = (dpsi/dy, -dpsi/dx)                    # 発散 0
       3 px の格子（描画域の外へ半分ずつ広げた範囲）に 1 回だけ計算し、双線形に補う
画面の形ごとの調子 (strain, meander, vortex, corner)：横長 (0.25, 1, 1, 0.5)、縦長 (0.45, 0.3, 0.3, 0.15)
流れの時間の合計 = 1.5（時間 1 あたり、帯ごとのずれは最大 D_k * S）
```

実装：`src/lib/weave-works/marbling.ts (createMarbler, marble, createMarbling)`

#### 線の作り方

輪は、境界の点を順に直線で結び、最初の点へ戻す閉じた折れ線で描く。

```text
輪 = (x_0, y_0) -> (x_1, y_1) -> ... -> (x_{n-1}, y_{n-1}) -> (x_0, y_0)
     10 点ごとの区間に分け、（グループ, にじみの段, 淡さの段）ごとに 1 本のパスにまとめて描く
描いている間：途中の出来事があるときは境界を 2 点に 1 点だけ写して描く
     写して 6 px を超え、写す前の 2 倍より伸びた区間には、写す前の中点を写して足す（深さ 6 まで）
```

実装：`src/lib/weave-works/marbling.ts (paint, closedPath)`

滴の写像は Jaffer（2010）の式である。同ページは、C を含まない近傍の面積が保たれることと、同じ中心に続けて落とした滴では面積が足し合わされることを述べている。数学的なマーブリングの方法全体は Lu et al.（2012）にまとめられているが、本サイトは同論文の本文を読んでいない。流れ関数 ψ から v = (∂ψ/∂y, −∂ψ/∂x) で作った速度場は、∂²ψ/∂x∂y − ∂²ψ/∂y∂x = 0 なので発散が 0 になり、流れは面積を保つ。流れ関数は Batchelor（1967/2000）を、中点法は Press et al.（1992）を標準的な出典として挙げる。流れの形（帯の流れ、歪み、四隅への流れ、渦の組み合わせ）、滴の中心と大きさの決め方、流れを滴のあいだに配ること、点を動かさないことは、このサイトの設計である。

### 織物の式

力の計算が決めた結び目を、1 本の糸が近い順に通る。結び目のあいだで糸は少したるみ、両端は短くほどける。糸はにじませない。

```text
通る順：結び目の重心から最も遠い結び目から始め、まだ通っていない最も近い結び目へ進む
        （動いている間は、経路が 1% 以上短くなるときだけ並べ替える）
制御点 P = [ T_s, A_1, M_12, A_2, M_23, ..., A_k, T_e ]      # A_j = 結び目の位置
たるみ M_j = (A_{j-1} + A_j) / 2 + s_j * n_j
       n_j = (-(y_j - y_{j-1}), x_j - x_{j-1}) / |A_j - A_{j-1}|   # 区間に垂直な単位ベクトル
       s_j = min(40 * u, 0.18 * |A_j - A_{j-1}|) * sigma_j,  sigma_j ~ U(-1, 1)
ほどけ T_s = A_1 + L * (cos(phi + delta), sin(phi + delta)),  phi = A_2 から A_1 への向き
       delta ~ U(-0.6, 0.6),  L ~ U(10 * u, 32 * u)           # T_e も同じ形
結び目が 0 か 1 の糸：5 点の閉じた輪  c + rho * r_j * (cos theta_j, sin theta_j)
       theta_j = start + pi + 2 * pi * j / 5,  r_0 = 1,  r_j ~ U(0.75, 1.25),  rho ~ U(6 * u, 13 * u)
       結び目 1 つ：c = A_1 + rho * (cos start, sin start)   # 点 0 が結び目に重なる
       結び目 0：c = そのノートの粒子の位置
粒（そのノートだけが引く文献）= 曲線の上の割合 f の点 + 法線方向へ (U + U + U - 1.5) * 7 * u
糸の不透明度 a = clamp(a_0 * f_len * f_dense, 0.03, 0.3)
       a_0 = clamp(18 / T, 0.1, 0.2) * (ライト 1.7、ダーク 2.1)       # T = ノートの数
       f_len = clamp((L_ref / L)^0.35, 0.6, 1.2),  L_ref = 0.32 * (W + H) / 2   # L = 糸の長さ
       f_dense = clamp((4 / m)^0.6, 0.3, 1.4)      # m = 糸が通る 18 px の升目を通る糸の本数の平均
       結び目が 0 か 1 の糸は 0.55 倍
糸の色 = 糸がいちばん多く通るグループの段階 tone（同数なら番号の小さいグループ、結び目がなければ 0.5）
       ライト：墨を不透明度 a * tone / 0.9 で、ダーク：明るさ tone の光を不透明度 a で
太さ = max(0.7, 0.9 * u),  両端の細さ taper = 0.14（両端とも同じ最小の太さまで細る）
筆圧 p(s) = 0.95 * (1 + press * (0.65 * sin(2 * pi * f_1 * s + phi_1) + 0.35 * sin(2 * pi * f_2 * s + phi_2)))
       f_1 ~ U(0.6, 1.6),  f_2 ~ U(2.5, 4.5),  press = ライト 0.32、ダーク 0.2
糸のにじみ = 0（にじませない。仕上げでも線は変わらず、ダークは bloom だけが重なる）
結び目の半径 = r(すでに通った糸の本数)
揺らぎの乱数 = prng(hash(slug) xor seed * 0x9e3779b1)
```

実装：`src/lib/weave-works/weave.ts`

#### 線の作り方

糸は制御点をすべて通る中心化 Catmull–Rom 曲線で、区間ごとに 3 次 Bézier に直して描く。

```text
t_0 = 0
t_{i+1} = t_i + |P_{i+1} - P_i|^(1/2)          # 節点の間隔を点の距離の平方根にする（alpha = 1/2）
P_1 から P_2 の区間を 3 次 Bézier (B_0, B_1, B_2, B_3) で表す：
  l_ab = |P_b - P_a|,   a_ab = sqrt(l_ab)
  B_0 = P_1,   B_3 = P_2
  B_1 = (P_1 * (2 * l_01 + 3 * a_01 * a_12 + l_12) - P_0 * l_12 + P_2 * l_01) / (3 * a_01 * (a_01 + a_12))
  B_2 = (P_2 * (2 * l_23 + 3 * a_23 * a_12 + l_12) + P_1 * l_23 - P_3 * l_12) / (3 * a_23 * (a_23 + a_12))
  C(s) = (1-s)^3 * B_0 + 3 * (1-s)^2 * s * B_1 + 3 * (1-s) * s^2 * B_2 + s^3 * B_3,   s in [0, 1]
端：開いた線は P_-1 = 2 * P_0 - P_1、P_n = 2 * P_{n-1} - P_{n-2} を足す。閉じた線は先頭へ戻る
```

実装：`src/lib/weave-works/common.ts (catmullRomBeziers)`

節点の間隔を |P_{i+1} − P_i|^α で決める Catmull–Rom 曲線の族のうち、α = 1/2 の中心化（centripetal）のものを使う。Yuksel et al.（2009）は、3 次の Catmull–Rom 曲線ではこの α = 1/2 だけが、区間の中にカスプも自己交差も作らないことを証明した。同じ著者の論文誌版が Yuksel et al.（2011）である。Bézier への変換は d3-shape の curveCatmullRom と同じ式で、同じ曲線を描く。Catmull–Rom 曲線そのものは Catmull & Rom（1974）を標準的な出典として挙げる。

### 星座の式

星は結び目で、線は、近くにあってよく一緒に引かれる 2 件の文献を、交わらないように少しずつ結んだものである。1 つの星座は星 10 個までで、線の濃さは一定、太さは一緒に引いたノートの数で少し太る。

```text
星 i の位置 = 天球の力の計算の位置を立体射影で写したもの,  半径 = r(count_i)（ライトは 1.18 倍）
候補   = w_ij >= 1 で、|x_i - x_j| <= 0.08 * S の組             # S = 描画域の短い辺
並び   = w の多い順、同じなら短い順
森     = 並びの順に、別々の星座をつなぐ組を足す（Kruskal 法、最大全域森）
         捨てる：すでに引いた線と交わる組（端点の共有は可）、つないだ星座の星が 10 を超える組
輪     = 同じ星座の中の組で w >= 3 のものを、交わらなければ星座ごとに 1 本まで足す
線の不透明度 = ライト 0.5、ダーク 0.42（中立のインク、一定）
太さ(w) = max(0.75, 0.85 * u) * (1 + 0.15 * min(3, w - 1)),  両端の細さ taper = 0.7
線のにじみ = bleed(0.3 * age(born(i と j を最初に一緒に引いたノート)))
小さく淡い星 = 1 本のノートにしか引かれない文献。そのノートの星の球面の上の重心 c のまわりに、接平面の正規分布
         標準偏差 = 0.55 * s * sqrt(n)   # s = 星 1 つあたりの見かけの間隔（接平面）、n = そのノートが引いた文献の数
         結び目のないノートは、視野の楕円の内側（半径 0.75）のシードと slug で決まる点のまわり
時刻：星は、それを最初に引くノートが着いたときに灯る。小さく淡い星は、そのノートが着いてから 600 ms で現れる
      線は、その 2 件を最初に一緒に引くノートが着いてから 220 ms 後に引き始める（描いている間も、そのフレームの位置で同じ規則を当てる）
```

実装：`src/lib/weave-works/constellation.ts`

#### 線の作り方

線は 2 つの星を結ぶ線分で、描き始めは端から伸ばす。

```text
x(s) = (1 - s) * x_i + s * x_j,   s in [0, pr]   # pr は 0 から 1 へ増える描画の進み
```

実装：`src/lib/weave-works/common.ts (segment)`

### 年輪の式

文献は、初めて引かれた時期の帯と、グループの扇形が交わる区画の中にだけ置かれる。区画の中の位置は、区画の中心への強い引力と、同じ区画の文献どうしの押し合いと、区画をまたぐ弱いばねで決まる。

```text
R_p = R_max * (0.5 * (p + 1) / P + 0.5 * sqrt(N_p / N))   # 時期 p の帯の外周（P = 時期の数）
      N_p = 時期 0..p に初めて引かれた結び目の数,  最初の帯の内周 = 0.22 * R_0
a_k ~ U(0, 2 * pi)（シードごと）                          # 割れ目の中心の向き
crack(r) = 25° * (0.78 + 0.22 * min(1, r / R_max))        # 半径 r での割れ目の開き
theta_c = (2 * pi - 25°) * max(4, size_c) / S             # グループ c の扇形の幅
      S = sum_c max(4, size_c) + max(12, 0.05 * N)        # 最後の項は結び目のないノートの扇形
      a_k + 25° / 2 から時計回りに groupOrder の順、扇形の間は 0.03
      最後に結び目のないノートの扇形（その手前の隙間は 0.06）
輪は割れ目の縁の手前 36 * u px で細く抜ける（抜けきった端の太さと濃さは 0.06 倍）、近くの刻みは 0.4 倍まで細る
目盛りの弧：半径 R_max + max(7, 8 * u)。割れ目の縁から時計回りに、色は群の尺度の 0 から 1
      始まり（論文が少ない側）に小さな点、終わり（多い側）に小さな矢じり。文字は置かない
時期の丸数字：割れ目の中心の向きに、帯 p の中ほどの半径（p = 0 では 0.6 * R_0）
      数字の外接円が割れ目の幅と帯の厚みに入り、前の数字と重ならないときだけ置く
区画 cell(i) = (グループの扇形) と (first(i) の帯) の交わり
以下は R_max = 1 の座標
F_g = k_g * d                  # 区画の中心への強い引力            k_g = 0.4
      中心 = 扇形の中央の角度、半径 sqrt((r_0^2 + r_1^2) / 2)
F_r = s_c * k_r * q_i * q_j / d   # 押し合い（同じ区画の組だけ）   k_r = 1
      s_c = k_g * rho_c^2 * n_c / (k_r * Q_c^2)
      Q_c = sum_{i in c} q_i,  n_c = 区画の結び目の数,  rho_c = sqrt(区画の面積 / pi)
F_a = k_a * w_ij * d           # ばね（区画をまたいで働く）         k_a = 0.002
v_i <- (v_i + alpha * F_i / m_i) * 0.6,   |v_i| <= 0.02,   d >= 0.002
各 tick の後：角度を扇形の両端 8% を除いた範囲へ、半径を帯の内側 10%、外側 12%（面積比）を除いた範囲へ戻す
重なりの押し戻しは使わない
ノートの刻み：自分の時期の外周の上。角度 = 最も多く通るグループの扇形にある、その結び目の角度の平均
線のにじみ = bleed(age(born(n))),  輪 p のにじみ = bleed(0.7 * age(start_p)),  刻みはにじまない
```

実装：`src/lib/weave-works/rings.ts, src/lib/weave-works/physics.ts`

#### 線の作り方

ノートの刻みから、そのノートが引く結び目へ線分を引く。

```text
x(s) = (1 - s) * x_note + s * x_knot,   s in [0, 1]
```

実装：`src/lib/weave-works/rings.ts`

中心への引力を距離に比例させたのは（ForceAtlas2 の式 5 の形から質量を外したもの）、区画を一様に埋めるためである。大きさ一定の引力と 1/d の押し合いの釣り合いでは、半径 r の内側の電荷が r に比例し、密度が中心で尖る。距離に比例する引力なら内側の電荷が r² に比例し、区画が一様に埋まる。倍率 s_c は、釣り合いで Σ_i x_i·F_i = 0（ビリアル）が成り立つことから決めた。k_g Σ r_i² = s_c k_r Σ_{i<j} q_i q_j で、区画を半径 ρ_c の一様な円板とみなすと Σ r_i² = n_c ρ_c² / 2、Σ_{i<j} q_i q_j ≈ Q_c² / 2 になる。帯と扇形をデータの値で固定する考え方は hive plot（Krzywinski et al., 2012）による。

### 束の式

文献を円周に並べ、2 件を結ぶ線を、グループと時期の道すじに沿って曲げて束ねる。

```text
角度：slot = (2 * pi - 0.05 * (G + 1)) / N,  グループの j 番目の結び目は theta = start_g + slot * (j + 0.5)
      グループは真上から時計回りに groupOrder の順
      グループの中は knotOrder の順（最初に引かれた時期、引くノートの多い順、媒介中心性の高い順、文献の鍵の順）
木：根（中心 O）-> グループ（半径 0.36R、弧の中央の角度）-> 時期（0.66R、その結び目の角度の平均）-> 結び目（R）
結び目 a, b の制御多角形 = 木の上の経路（最小共通祖先を通る）
  同じグループの同じ時期：[P_a, S_a, P_b]
  同じグループ：          [P_a, S_a, G_a, S_b, P_b]
  違うグループ：          [P_a, S_a, G_a, O, G_b, S_b, P_b]
直線への寄せ（beta = 0.85）：
  P'_i = beta * P_i + (1 - beta) * (P_0 + i / (N - 1) * (P_{N-1} - P_0))
線の濃さ(w) = dens * min(0.32, 0.045 + 0.04 * (w - 1)) * (tone_a + tone_b) / 2
            同じグループの同じ時期の組はさらに 0.5 倍,  dens = clamp(R / 320, 0.55, 1.15)
線の太さ(w) = min(1.3, 0.55 + 0.12 * (w - 1)) * max(0.9, 0.9 * u)
印の半径 = 0.5 * r(count)
線のにじみ = bleed(age(born(a と b を最初に一緒に引いたノート)))   # ノートを born の順に見る
```

実装：`src/lib/weave-works/bundle.ts`

#### 線の作り方

寄せた制御多角形を、3 次の一様 B-spline でなめらかにする。端点を 3 重にするので、線は結び目で始まり結び目で終わる。

```text
Q = [P'_0, P'_0, P'_0, P'_1, ..., P'_{N-1}, P'_{N-1}, P'_{N-1}]
区間 s（s = 0 .. |Q| - 4）、t in [0, 1)：
  C_s(t) = (1/6) * [t^3  t^2  t  1] * | -1   3  -3   1 | * [ Q_s   ]
                                      |  3  -6   3   0 |   [ Q_s+1 ]
                                      | -3   0   3   0 |   [ Q_s+2 ]
                                      |  1   4   1   0 |   [ Q_s+3 ]
区間ごとに k = max(4, round(R / 60)) 点を取り、折れ線で描く
```

実装：`src/lib/weave-works/bundle.ts (bspline, straighten)`

制御点を直線へ寄せる式と β = 0.85 は Holten（2006）の 3.2 節の式 (1) による。β = 1 なら木の経路どおりに曲がり、β = 0 なら直線になる。一様な 3 次 B-spline の基底は de Boor（1978）と Bartels et al.（1987）を標準的な出典として挙げる。グループの中に時期の段を挟んだのは、このサイトの判断である。

### 弧の式

ノートを書いた順に等間隔に並べ、同じ文献を引く 2 本を半円で結ぶ。書いた順が離れているほど弧は大きい。

```text
ノート i（noteOrder の順：書いた日、同じ日は slug）の位置 u_i = u_0 + i * (u_1 - u_0) / (n - 1)
弧 (a, b) は S_ab = refs_K(a) intersect refs_K(b) が空でないときに引く     # 書誌結合
  w = |S_ab|,   tone = S_ab を最も多く含むグループの濃さ
濃さ = min(0.6, 0.09 + 0.11 * (sqrt(w) - 1)) * (0.55 + 0.5 * tone)
太さ = max(0.5, u * (0.5 + 0.5 * (sqrt(w) - 1)))
ノートの刻み：基線から外へ長さ max(5, 6 * u)。文献を共有しないノートは 0.55 倍で薄く
弧のにじみ = bleed(age(max(born(a), born(b))))    # 新しいほうのノートを書いた日。刻みはにじまない
```

実装：`src/lib/weave-works/arcs.ts`

#### 線の作り方

弧は 2 本のノートの中点を中心とする半円で、描画域に入らないときだけ高さを一律に縮める。

```text
c = (u_a + u_b) / 2,   r = (u_b - u_a) / 2
x(theta) = c - r * cos(theta)
y(theta) = y_0 - s * r * sin(theta),   theta in [0, pi]     # y_0 = 基線
s = min(1, 使える高さ / max r)                               # s = 1 で真の半円
縦長（4:5）では x と y を入れ替え、基線を左に立てて弧を右へ描く
```

実装：`src/lib/weave-works/arcs.ts`

弧で結ぶ形は arc diagram（Wattenberg, 2002）から借り、結ぶ関係は書誌結合（Kessler, 1963）である。弧を真の半円にし、高さを書いた順の隔たりとして読めるようにしたのは、このサイトの判断である。

### 流れの式

ノートがあるグループの文献を通るたびに、書いた日を中心になだらかな山を足し、グループごとの山を積み重ねる。

```text
p_{n,c} = ノート n が引くグループ c の結び目の数
f_c(t)  = sum_n p_{n,c} * K(t - t_n)                # グループ c の層の厚さ（t_n = born(n)）
K(x)    = exp(-x^2 / (2 * h^2)) / (h * sqrt(2 * pi)),   h = 6 日   # 面積 1 のガウス核
          t は 1 日ごとの格子、最初の born - 15 日から最後の born + 15 日、核は 4h で打ち切る
層の並び（inside-out）：layerOrder の順（立ち上がりの日、区間の合計の多い順、グループの番号）に 1 層ずつ、
      上下のうち、それまでに積んだ区間の合計が小さい側（同じなら上）の外へ足す
基線（weighted wiggle）：
  g_0(t_j) = g_0(t_{j-1}) - sum_i (df_i / 2 + sum_{k<i} df_k) * f_i(t_j) / sum_i f_i(t_j)
  df_i = f_i(t_j) - f_i(t_{j-1})
境界   y_i(t) = g_0(t) + sum_{k<i} f_k(t),   i = 0 .. L
塗りの不透明度 = ライト 0.045 + 0.155 * (tone - 0.46) / (0.90 - 0.46)、ダーク 0.035 + 0.04 * pos（群の色の膜）
      描いている間はライト 0.55 倍、ダーク 0.6 倍。切り抜きも落ち影も付けない
境目と外周 = 墨の線（ライト：太さ max(0.45, 0.55 * u)、不透明度 0.24）
      ダーク：内側の境目を幅 max(0.8, 0.9 * u) の暗い溝に切り、光の継ぎ目（太さ max(0.4, 0.55 * u)、不透明度 0.26）を通す
      外周は流れ全体の厚みが 7 * u px、内側の境目は上の層の厚みが 2.5 * u px を下回る所で細って消える
ダークの仕上げだけ：層の中の割合 0.5 +- 0.5 * b / 4.35（b = 4, 3, 2, 1）の入れ子の帯を 4 枚、
      1 枚の不透明度 0.15 * (0.75 + 0.35 * pos) / 4、縁を 3 * u px ぼかして加算。中心線の芯は引かない
選んだノートの帯：層の中心線のまわりに半分の高さ p_{n,c} * K(t - t_n) * scale / 2
線のにじみ = bleed(age(その x の日))    # 境目と筋を bleed の段が変わる x で区切る。層の塗りはにじまない
```

実装：`src/lib/weave-works/river.ts`

#### 線の作り方

層の境界（1 日に 1 点）を、中心化 Catmull–Rom 曲線でなめらかにする。区間の値は、線形補間を 3 段重ねて求める。

```text
t_0 = 0
t_{i+1} = t_i + |P_{i+1} - P_i|^(1/2)          # 節点の間隔を点の距離の平方根にする（alpha = 1/2）
P_1 から P_2 の区間、t in [t_1, t_2]：
  A_1 = ((t_1 - t) * P_0 + (t - t_0) * P_1) / (t_1 - t_0)     # A_2, A_3 も同じ形
  B_1 = ((t_2 - t) * A_1 + (t - t_0) * A_2) / (t_2 - t_0)
  B_2 = ((t_3 - t) * A_2 + (t - t_1) * A_3) / (t_3 - t_1)
  C(t) = ((t_2 - t) * B_1 + (t - t_1) * B_2) / (t_2 - t_1)
曲線の上に max(2, 3 * u) px ごとに点を取る
端：開いた線は P_-1 = 2 * P_0 - P_1、P_n = 2 * P_{n-1} - P_{n-2} を足す。閉じた線は先頭へ戻る
層の中の筋：k = min(4, floor(最大の厚さ / (15 * u)) - 1) 本を、境界のあいだの割合 q / (k + 1) に置く
      太さ = min(0.45, max(0.16, 0.04 * g)) * u * min(1, g / 3)（g = その x での層の厚さ / (k + 1)）
      ライトは群の墨を不透明度 0.11 * tone、ダークは群の色の光を不透明度 0.03 + 0.06 * (1 - |2 * q / (k + 1) - 1|)
```

実装：`src/lib/weave-works/common.ts (spline), src/lib/weave-works/river.ts`

基線の式と inside-out の並べ方は Byron & Wattenberg（2008）による。基線の式は、層の傾きの二乗和を層の厚さで重みづけて小さくする条件から出て、差分の取り方は d3 の stackOffsetWiggle と同じである。時間に沿って帯の幅で量を表す形は ThemeRiver（Havre et al., 2002）の系譜にある。ガウス核による密度の推定は Silverman（1986）を標準的な出典として挙げる。3 段の線形補間で区間を求める形は、Yuksel et al.（2009）の図 3 が Barry と Goldman の算法として図解しているもので、原典の Barry & Goldman（1988）は標準的な出典として挙げる。

### 群制御の共通の式

群制御の作品は、ノートが着く時計と止まる時刻を共有する。

```text
ノート t が着く時刻 = tick 3t（ほかの動く作品と同じ時計）
1 tick = 生まれる場所の平面の配置を 1 tick、群制御を substeps 回進める
止まる = 最後のノートが着いてから tail tick 進めたとき
生まれる場所 = 墨流しと同じ平面の配置（群どうしの斥力を強めた係数）の、その文献の位置（ノートならその文献の重心）
静止画 = 乱数の種を 1 に固定し、1 回 12 ms ずつ最後まで進めてから完成形を描く。進み具合 = tick / (3T + tail)
```

実装：`src/lib/weave-works/swarm.ts (swarmSimulation, KnotPoints)`

### 粘菌の式

場 T（においの量）の上を、文献の場所に生まれた粒が這う。線は場の尾根で、太さは通った粒の多さ、濃さは使われた長さである。

```text
個体 = 引用 1 件につき 4 体（約 19,000 体）。格子 = 縦横比だけで決まる約 17 万マス
移動：向き h へ 1 マス進む。行き先が枠の外か、ほかの個体のいるマスなら動かず、向きを乱数で選び直す。動けたら T += 5
感覚：h と h ± 45° の 9 マス先で T を読む（F、FL、FR）
      F > FL かつ F > FR：そのまま、F < FL かつ F < FR：左右どちらかへ 45°（乱数）、FL < FR：右へ 45°、FR < FL：左へ 45°
場  ：T ← 0.9 * mean3x3(T)。餌（文献 i の場所）には毎 tick 10 * (i を引いたノートの数) を足す
記憶：M ← M + 0.012 * (T - M)（長く使われた道ほど M が育つ）。古い道の跡 = これまでの max T
線  ：少しならした量から広くぼかした量を引いた正の部分（尾根）だけを描く
にじみ = bleed(マスを這った個体を生んだノートの ageOf の平均)（水墨の版だけ）
時刻：1 tick に 2 回、最後のノートから 420 tick
```

実装：`src/lib/weave-works/physarum.ts`

### 群れの式

文献 1 件が 1 体になり、仲間（同じグループと共引用の相手）とだけ向きをそろえて寄り合う。線は動いた道の一部で、先頭が太い。

```text
仲間の重み w_ij = [同じグループ] + 0.35 * min(3, 共引用数)
向き d_i：反発の範囲（半径 1）に誰かいれば d_i = -sum r_ij / |r_ij|
          いなければ d_i = norm(sum_{整列の範囲} w_ij v_j) + norm(sum_{誘引の範囲} w_ij r_ij / |r_ij| + 家への引き)
          家への引き = そのグループの文献の平面の位置の重心へ、距離 3 から 16 で満ちる
更新：θ ← θ + clamp(角(d_i) - θ + N(0, 0.03), ±0.05)、x ← x + 0.3 * (cos θ, sin θ)。視野 270°
      整列の範囲 1〜7、誘引の範囲 7〜14、庭の幅 110 * sqrt(縦横比)
線  ：先頭から 44 + 9 * sqrt(引用数 - 2) px さかのぼった道。太さ 1.1 + 0.55 * sqrt(引用数 - 2)
にじみ = bleed(0.55 * ageOf(その文献を初めて引いた日))
時刻：1 tick に 2 回、最後のノートから 520 tick。最後の 260 tick で速さを 0 へ落とす
```

実装：`src/lib/weave-works/school.ts`

### 細胞の式

文献のすべてが粒になり、近くの粒の数だけで向きを変える。線は密度の等高線と、粒の短い動きの跡である。

```text
Δφ = α + β * N * sign(R - L)，p ← p + v * (cos φ, sin φ)
α = 180°、β = 17°、v = 0.67（Schmickl et al. 2016 の既定）。N、L、R は半径 r の中の粒の数（全部、左、右）
尺度 λ_i = 1.45（粒の数 P_g が中央値より多いグループの粒）、ほかは 1。半径 λr、速さ λv、β はそのまま
      L と R は同じ λ の粒だけで数える（尺度の違う粒も数えると、細胞がほどけて粒が散った）
空間 = 縁で反射する長方形（原論文はトーラス）、全部の粒を一斉に更新（原論文は粒ごと）、密度 0.13 粒 / 単位²
密度の場 D = sum (1 - d² / (2.2λ)²)²。等高線 D = 2.05 + 1.6k（k = 0..4）
時刻：1 tick に 3 回、最後のノートから 420 tick
```

実装：`src/lib/weave-works/cells.ts`

### 泡の式

文献 1 件が画面の一区画を受け持ち、区画の重心へ寄り合う。

```text
ρ(x) = (ε + sum_k c_k * N(x; a_k, σ) + sum_t d_t * N(x; b_t, 1.6σ))^2.2   # a_k = 文献 k の平面の位置、c_k = 引用数
                                                                      # b_t、d_t = ノート t の生まれる場所と粒の数
ε = 0.025 * 平均、σ = 0.02 * H
区画 V_i = 点 i のボロノイ領域（二等分線の半平面で切った厳密な凸多角形）
p_i ← p_i + 0.85 * (∫_{V_i} ρ x dx / ∫_{V_i} ρ dx - p_i)                 # Lloyd の反復を 1 tick に 1 回
境の線の濃さ = 両側のグループの濃さの平均。違うグループのあいだは太く濃い
にじみ = bleed(両側の文献を初めて引いた日の ageOf の平均)
時刻：最後のノートから 320 tick
```

実装：`src/lib/weave-works/foam.ts`

### 一筆の式

Swarmalators の輪を切り開いて帯に写す。

```text
dx_i/dt = (1/n) sum_{j != i} [ (x_j - x_i) / |x_j - x_i| * (1 + J cos(θ_j - θ_i)) - (x_j - x_i) / |x_j - x_i|² ]
dθ_i/dt = (1/n) sum_{j != i} K_ij sin(θ_j - θ_i) / |x_j - x_i|
J = 1、K_ij = 0.05 * w_ij（w = 共引用数）、dt = 0.1
θ_i(0) = 2π * 0.93 * rank_i / (N - 1)            # rank = 初めて引かれた順位
帯：横 = 輪の中心線の上の角度（切れ目で切り開き、左が最も古い）
    縦 = 中心線の半径の揺れ（波）と、中心線からのずれ（帯の太さ）。どちらも tanh で頭打ち（画面の高さの 0.26 と 0.17）
筋の太さ = その所にいる文献の密度。いない所で途切れる。濃さ = 古さと、その頃に初めて引かれた文献の数
時刻：1 tick に 2 回、最後のノートから 600 tick
```

実装：`src/lib/weave-works/stroke.ts`

### 枯山水の式

1 本のノートにしか引かれない文献が粒になり、向きをそろえて流れる。

```text
θ_k ← arg( sum_{|x_j - x_k| < 4} e^{iθ_j} + [縁の近く] * 2 * m_k * t_k ) + 0.15 * (ξ - 1/2)
                                     # m_k = 半径 4 の中の粒の数、t_k = いちばん近い点の集まりの縁の接線
x_k ← x_k + 0.3 * e^{iθ_k}，0.6 より近い対は半分ずつ押し離す。庭は周期的で、面積 16,000
点の集まり = グループの文献の点を、平面の配置での向きを保って縮め、場所をとる半径（0.45 + 0.3 * sqrt(max(0, count - 2))）の和 + 0.3 まで離す
輪の数 n_g = clamp(round(1 + sqrt(sum count_g) / 4), 2, 5)。輪 k = 点の集まりまでの距離が (k + 0.6) * d の等高線
流れの線 = 最後の 300 tick の向きの場の、等間隔の流線（Jobard & Lefer 1997）。間隔 d = max(3.6 px, 庭の 1.1)
輪のにじみ = bleed(0.3 * そのグループの文献の ageOf の平均)。流れの線はにじませない
時刻：ノートの数 * 3 + 480 tick（種は固定）
```

実装：`src/lib/weave-works/garden.ts`

### 珊瑚の式

文献のすべてが格子の上の点になり、隣と 2 つの物質を渡し合う。

```text
f = clamp(0.08u - 0.08v + C_g, 0, 0.23) - 0.03u，g = clamp(0.1u - 0.12, 0, 0.5) - 0.06v
u ← u + 0.0015 * (160 f + 4 * sum(u_j - u))，v ← v + 0.0015 * (160 g + 80 * sum(v_j - v))   # 隣 = 同じグループの 6 近傍
C_g = 0.015 + 0.045 * order_g / (グループの数 - 1)       # 論文の割合の順位（原論文は 0.03 で一定）
縁の点：u < 4 で、隣に u ≥ 4 も動く点も無ければ確率 0.0005 で動き、縁を 1 歩ずつたどる。u ≥ 4 の隣か 300 歩で止まる
点の半径 = h * (0.08 + 0.42 * sqrt(smoothstep(1.2, 5.6, u)))，濃さ = グループ
時刻：1 tick に 2 回、最後のノートから 700 tick（種は固定）
```

実装：`src/lib/weave-works/coral.ts`

### 根の式

ノートのトークンが輪の上を渡り歩き、出会うと合わさる。

```text
輪の位置 = ノートの書いた順（最新と最古が隣）。はじめは全ノートがトークンを 1 つ持つ
右へ渡す確率 = (1 + 0.6 s_r) / (2 + 0.6 (s_l + s_r))     # s = 隣のノートと共通して引いた文献の数
1 回り = 生きているトークンを乱数の順に 1 回ずつ動かす。同じ位置に着いたら 1 つにまとめる（運ぶノートを合わせる）
y = sqrt(t / (1.3 * t_few))      # t_few = トークンが 3 個に減った回り。その先は描画域の外
太さ = max(0.45, 0.8 u) * k^0.58（k = 運ぶノートの数）。合流の点の半径 = 0.55 * 太さ
文献の点 = 初めて引いたノートの道のりに沿って、引用数の多い順に並べる（半径 = 0.62 * r）
にじみ = bleed(運ぶノートの ageOf の平均)
```

実装：`src/lib/weave-works/roots.ts`

## 限界

- **DOI も URL もない文献は数えていない**：142 本のうち 5 本は、参照文献を 1 件も抽出できなかった（抽出できたのは 137 本）。書誌だけで挙げた文献は、どれだけ多く引かれていても結び目にならない。
- **URL の正規化には誤差がある**：更新され続けるページは、時点の違う内容を一つの鍵にまとめてしまう。反対に、同じ論文の arXiv 版と出版版は、別の文献として数えられる。
- **論文かどうかの判定は置き場で決まる**：論文として扱う置き場は arXiv、ACL Anthology、OpenReview の 3 つだけである。NeurIPS の論文集のページのように、ほかの置き場にある DOI のない論文はウェブページとして数えられ、その群の論文の割合を下げる。図の形も同じ分け方なので、こうした文献は実務の輪として描かれる。
- **主題名は書き手の読みである**：群の分割は計算で決まるが、主題名と説明は書き手が中身を読んで付けた。代表文献による対応づけは、群が組み替わっても同じ名前を同じ中身に当てるための仕組みで、名前の妥当さを保証するものではない。タグから作った機械の名前も、群の中身とずれることがある（「AI とデザインの実務、教育」の機械の名前は design-education / chi だが、スロップを扱う note も通っている）。
- **書いた日は log の初出日である**：log は実際に書いた日より遅れて記録されることがある。frontmatter の `updated` が log の初出日より前になっている note が 4 本あり（[デザイン教育のAI適応 — カリキュラム改革の現在地と構造的課題](https://jamjet-iqbal.com/notes/design-education-ai-adaptation/) など、`updated` が 07-09 か 07-10 で、log の初出が 07-12）、少なくともこの 4 本では記録が書いた日より遅れている。
- **時期の区切りは別の分析から借りている**：6 つの時期は、log の初出日で関心の移り変わりを読んだ分析の区切りで、引用のデータから求めたものではない。区切りを動かすと、時期ごとの区間と初出の結び目の数も変わる。
- **新しい時期ほど結び目ができにくい**：結び目になるには 2 本目の note に引かれる必要があるので、書かれてからの日数が短い時期の文献ほど結び目として数えられにくい。時期 4 から時期 6 の初出の結び目が少ないことには、この打ち切りの効果が含まれている。
- **対の note は結び目を水増しする**：同じ文献群を土台に続けて書いた 2 本の note は、それだけで多数の結び目を作る。結び目の数は、独立に同じ文献へ行き着いた回数とは一致しない。
- **公開部分だけのネットワークである**：draft の 33 本を除いているので、draft の note を介してだけ共有されている文献は見えない。トップページの「関心の推移」は draft を含めて note を数え、ウォッチを除いているので、時期ごとの note の数は本ノートの数と一致しない。
- **孤立した結び目も群として数えている**：「スキルの公的標準」は結び目 1 件だけの群で、11 という群の数にはこれも含まれる。
- **分割と中心性は一つの設定での結果である**：Louvain 法の乱数のシードを変えた比較はしていない。媒介中心性は重みを使わずに計算し、最大値で正規化した値である。
- **動く作品の配置は閲覧のたびに変わる**：ページの墨流し、織物、星座、年輪の配置は、閲覧のたびに乱数のシードを変えて生成し直す。本ノートで座標に触れる記述（「スキルの公的標準」の x = 0.95 など）は、ビルド時の参照配置についての記録である。質量を慣性として加速度を F/m とする設計は本サイトの判断である。族と気質を入れる前の織物の実装の実測では、重い結び目ほど動きが小さいという関係は見られなかった（5 つのシードで順位相関 +0.05 から +0.13）。いまの実装では測り直していない。この設計が配置の読みやすさをどれだけ変えるかは、文献でも本ノートでも確かめていない。
- **墨流しと星座の群の読みやすさは、違う群の斥力を強めて作ったものである**：5 つのシード（7、11、23、101、202）の平均で、シルエットは織物の 0.377 に対し、墨流しで 0.623、星座で 0.464 だった。共引用の重みと距離の順位相関は、織物の −0.448 に対し、墨流しで −0.468、星座で −0.426 で、星座では近さから共引用を読む精度がわずかに下がった。群は共引用から求めたものなので、群が読みやすいことは、共引用とは別の根拠を足したことにはならない。測ったのは 5 つのシードと、墨流しは 1085 × 676 px、織物と星座は縦横比 1.638 の描画域だけである。
- **墨流しの横の位置は時期を表さない**：墨流しの平面は、文献が網に着いた順を横の軸にごく弱いばねで入れるが、落ち着いた配置では横の位置と着いた順の順位相関はほぼ 0（−0.20 から +0.34）で、横の位置から時期は読めない。墨流しの時間は輪の重なり、伸び、にじみで表し、時期は年輪と流れで読む。
- **墨流しの輪の形は、データの意味を持たない流れにも依る**：輪の伸び方は、滴の大きさと落ちた順だけでなく、帯の流れ、歪み、四隅への流れ、渦という、本サイトが決めた流れの形にも依る。輪の曲がり方や渦の位置から、文献の関係は読めない。点も輪と一緒に運ぶ案を退けた根拠のシルエット 0.06 は、開発中の比較の値で、本ノートの表と同じ条件で測り直してはいない。滴の写像の式は Jaffer の解説ページで確かめたもので、Lu et al.（2012）の本文とは照らし合わせていない。
- **群制御の作品の形の多くは規則の係数で決まる**：粘菌の網目の大きさ、群れの渦の半径、細胞の大きさ、珊瑚の模様の間隔は、データではなく規則の係数（感じる距離、旋回の角度、拡散の強さなど）でほぼ決まる。データが決めるのは、個体の数、生まれる順と場所、関係の重みである。原論文と違えた所（周期の空間を閉じた長方形にしたこと、粒ごとの更新を一斉の更新にしたこと、珊瑚の格子と係数の一部）は、各ファイルの冒頭に書いた。Vicsek et al.（1995）、Reynolds（1987）、Lloyd（1982）、Du et al.（1999）、Slavkov et al.（2018）、Israeli & Jalfon（1990）、Jobard & Lefer（1997）は書誌を Crossref で確かめ、規則は調査の整理と、読めた本文の範囲で確かめた。
- **群制御の作品は止める時刻を決めている**：個体は止まらずに動き続けるので、最後のノートが着いてから決まった時間で止めた絵を完成とする。止める時刻を変えれば、渦の位置や網の形は変わる。
- **特徴の文は数の関係だけを述べる**：5 行の条件が確かめるのは、区間、共引用、媒介中心性、書いた日の差という数の関係である。それを書き手の考え方の癖として読むのは本ノートの解釈で、実際にどう読み、どう考えたかを測ってはいない。条件の閾値（95%、70%、10 件、3 日など）は書き手が決めた値で、閾値を動かせば当てはまる群や組は変わる。

## 参照文献

- Barry, P. J., & Goldman, R. N. (1988). A recursive evaluation algorithm for a class of Catmull-Rom splines. In *Proceedings of the 15th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '88)* (pp. 199–204). ACM. https://doi.org/10.1145/54852.378511
- Bartels, R. H., Beatty, J. C., & Barsky, B. A. (1987). *An introduction to splines for use in computer graphics and geometric modeling*. Morgan Kaufmann. ISBN 0-934613-27-3
- Batchelor, G. K. (2000). *An introduction to fluid dynamics*. Cambridge University Press. https://doi.org/10.1017/CBO9780511800955 (Original work published 1967)
- Battiston, F., Cencetti, G., Iacopini, I., Latora, V., Lucas, M., Patania, A., Young, J.-G., & Petri, G. (2020). Networks beyond pairwise interactions: Structure and dynamics. *Physics Reports*, 874, 1–92. https://doi.org/10.1016/j.physrep.2020.05.004
- Blondel, V. D., Guillaume, J.-L., Lambiotte, R., & Lefebvre, E. (2008). Fast unfolding of communities in large networks. *Journal of Statistical Mechanics: Theory and Experiment*, 2008(10), P10008. https://doi.org/10.1088/1742-5468/2008/10/P10008
- Börner, K., Chen, C., & Boyack, K. W. (2003). Visualizing knowledge domains. *Annual Review of Information Science and Technology*, 37(1), 179–255. https://doi.org/10.1002/aris.1440370106
- Brandes, U. (2001). A faster algorithm for betweenness centrality. *Journal of Mathematical Sociology*, 25(2), 163–177. https://doi.org/10.1080/0022250X.2001.9990249
- Byron, L., & Wattenberg, M. (2008). Stacked graphs: Geometry & aesthetics. *IEEE Transactions on Visualization and Computer Graphics*, 14(6), 1245–1252. https://doi.org/10.1109/TVCG.2008.166
- Catmull, E., & Rom, R. (1974). A class of local interpolating splines. In R. E. Barnhill & R. F. Riesenfeld (Eds.), *Computer aided geometric design* (pp. 317–326). Academic Press. https://doi.org/10.1016/B978-0-12-079050-0.50020-5
- Chen, C. (2006). CiteSpace II: Detecting and visualizing emerging trends and transient patterns in scientific literature. *Journal of the American Society for Information Science and Technology*, 57(3), 359–377. https://doi.org/10.1002/asi.20317
- Chu, N. S.-H., & Tai, C.-L. (2005). MoXi: Real-time ink dispersion in absorbent paper. *ACM Transactions on Graphics*, 24(3), 504–511. https://doi.org/10.1145/1073204.1073221
- Couzin, I. D., Krause, J., James, R., Ruxton, G. D., & Franks, N. R. (2002). Collective memory and spatial sorting in animal groups. *Journal of Theoretical Biology*, 218(1), 1–11. https://doi.org/10.1006/jtbi.2002.3065
- Curtis, C. J., Anderson, S. E., Seims, J. E., Fleischer, K. W., & Salesin, D. H. (1997). Computer-generated watercolor. In *Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '97)* (pp. 421–430). ACM. https://doi.org/10.1145/258734.258896
- D3. (n.d.). *d3-force* [Software documentation]. https://d3js.org/d3-force
- de Boor, C. (1978). *A practical guide to splines*. Springer. ISBN 978-0-387-90356-9
- Du, Q., Faber, V., & Gunzburger, M. (1999). Centroidal Voronoi tessellations: Applications and algorithms. *SIAM Review*, 41(4), 637–676. https://doi.org/10.1137/S0036144599352836
- Eades, P. (1984). A heuristic for graph drawing. *Congressus Numerantium*, 42, 149–160. https://www.cs.ubc.ca/~will/536E/papers/Eades1984.pdf
- Freeman, L. C. (1977). A set of measures of centrality based on betweenness. *Sociometry*, 40(1), 35–41. https://doi.org/10.2307/3033543
- Fruchterman, T. M. J., & Reingold, E. M. (1991). Graph drawing by force-directed placement. *Software: Practice and Experience*, 21(11), 1129–1164. https://doi.org/10.1002/spe.4380211102
- Gansner, E. R., Koren, Y., & North, S. (2005). Graph drawing by stress majorization. In *Graph Drawing 2004* (Lecture Notes in Computer Science, Vol. 3383, pp. 239–250). Springer. https://doi.org/10.1007/978-3-540-31843-9_25
- Guo, Q., & Kunii, T. L. (1991). Modeling the diffuse paintings of "sumie." In T. L. Kunii (Ed.), *Modeling in computer graphics* (pp. 329–338). Springer. https://doi.org/10.1007/978-4-431-68147-2_21
- Havre, S., Hetzler, E., Whitney, P., & Nowell, L. (2002). ThemeRiver: Visualizing thematic changes in large document collections. *IEEE Transactions on Visualization and Computer Graphics*, 8(1), 9–20. https://doi.org/10.1109/2945.981848
- Holten, D. (2006). Hierarchical edge bundles: Visualization of adjacency relations in hierarchical data. *IEEE Transactions on Visualization and Computer Graphics*, 12(5), 741–748. https://doi.org/10.1109/TVCG.2006.147
- Holten, D., & van Wijk, J. J. (2009). Force-directed edge bundling for graph visualization. *Computer Graphics Forum*, 28(3), 983–990. https://doi.org/10.1111/j.1467-8659.2009.01450.x
- Israeli, A., & Jalfon, M. (1990). Token management schemes and random walks yield self-stabilizing mutual exclusion. In *Proceedings of the Ninth Annual ACM Symposium on Principles of Distributed Computing (PODC ’90)* (pp. 119–131). ACM. https://doi.org/10.1145/93385.93409
- Jacomy, M., Venturini, T., Heymann, S., & Bastian, M. (2014). ForceAtlas2, a continuous graph layout algorithm for handy network visualization designed for the Gephi software. *PLoS ONE*, 9(6), e98679. https://doi.org/10.1371/journal.pone.0098679
- Jaffer, A. (2010). *Dropping paint*. https://people.csail.mit.edu/jaffer/Marbling/Dropping-Paint （著作権表示は 2006, 2010 年。2026-09-24 閲覧）
- Jobard, B., & Lefer, W. (1997). Creating evenly-spaced streamlines of arbitrary density. In W. Lefer & M. Grave (Eds.), *Visualization in Scientific Computing ’97* (pp. 43–55). Springer. https://doi.org/10.1007/978-3-7091-6876-9_5
- Jones, J. (2010). Characteristics of pattern formation and evolution in approximations of Physarum transport networks. *Artificial Life*, 16(2), 127–153. https://doi.org/10.1162/artl.2010.16.2.16202
- Kessler, M. M. (1963). Bibliographic coupling between scientific papers. *American Documentation*, 14(1), 10–25. https://doi.org/10.1002/asi.5090140103
- Kobourov, S. G., & Wampler, K. (2005). Non-Euclidean spring embedders. *IEEE Transactions on Visualization and Computer Graphics*, 11(6), 757–767. https://doi.org/10.1109/TVCG.2005.103
- Kosara, R. (2007). Visualization criticism: The missing link between information visualization and art. In *Proceedings of the 11th International Conference Information Visualization (IV '07)* (pp. 631–636). IEEE. https://doi.org/10.1109/IV.2007.130
- Krzywinski, M., Birol, I., Jones, S. J. M., & Marra, M. A. (2012). Hive plots: Rational approach to visualizing networks. *Briefings in Bioinformatics*, 13(5), 627–644. https://doi.org/10.1093/bib/bbr069
- Lima, M. (2011). *Visual complexity: Mapping patterns of information*. Princeton Architectural Press. ISBN 978-1-56898-936-5
- Lloyd, S. (1982). Least squares quantization in PCM. *IEEE Transactions on Information Theory*, 28(2), 129–137. https://doi.org/10.1109/TIT.1982.1056489
- Lombardi, M. (n.d.). *Narrative structures* [Drawings]. Whitney Museum of American Art. https://whitney.org/artists/7340
- Lu, S., Jaffer, A., Jin, X., Zhao, H., & Mao, X. (2012). Mathematical marbling. *IEEE Computer Graphics and Applications*, 32(6), 26–35. https://doi.org/10.1109/MCG.2011.51
- Lupi, G., & Posavec, S. (2016). *Dear Data*. Princeton Architectural Press. ISBN 978-1-61689-532-7
- Newman, M. E. J., & Girvan, M. (2004). Finding and evaluating community structure in networks. *Physical Review E*, 69(2), 026113. https://doi.org/10.1103/PhysRevE.69.026113
- O’Keeffe, K. P., Hong, H., & Strogatz, S. H. (2017). Oscillators that sync and swarm. *Nature Communications*, 8, 1504. https://doi.org/10.1038/s41467-017-01190-3
- Posavec, S. (n.d.). *Writing without words*. https://www.stefanieposavec.com/archive/writing-without-words
- Press, W. H., Teukolsky, S. A., Vetterling, W. T., & Flannery, B. P. (1992). *Numerical recipes in C* (2nd ed.). Cambridge University Press. ISBN 0-521-43108-5
- Reynolds, C. W. (1987). Flocks, herds and schools: A distributed behavioral model. *Computer Graphics (Proceedings of SIGGRAPH ’87)*, 21(4), 25–34. https://doi.org/10.1145/37401.37406
- Schmickl, T., Stefanec, M., & Crailsheim, K. (2016). How a life-like system emerges from a simplistic particle motion law. *Scientific Reports*, 6, 37969. https://doi.org/10.1038/srep37969
- Secord, A. (2002). Weighted Voronoi stippling. In *Proceedings of the 2nd International Symposium on Non-Photorealistic Animation and Rendering (NPAR ’02)* (pp. 37–43). ACM. https://doi.org/10.1145/508530.508537
- Silverman, B. W. (1986). *Density estimation for statistics and data analysis*. Chapman & Hall. ISBN 0-412-24620-1
- Slavkov, I., Carrillo-Zapata, D., Carranza, N., Diego, X., Jansson, F., Kaandorp, J., Hauert, S., & Sharpe, J. (2018). Morphogenesis in robot swarms. *Science Robotics*, 3(25), eaau9178. https://doi.org/10.1126/scirobotics.aau9178
- Small, H. (1973). Co-citation in the scientific literature: A new measure of the relationship between two documents. *Journal of the American Society for Information Science*, 24(4), 265–269. https://doi.org/10.1002/asi.4630240406
- Snyder, J. P. (1987). *Map projections: A working manual* (U.S. Geological Survey Professional Paper 1395). U.S. Geological Survey. https://doi.org/10.3133/pp1395
- Venturini, T., Jacomy, M., & Jensen, P. (2021). What do we see when we look at networks: Visual network analysis, relational ambiguity, and force-directed layouts. *Big Data & Society*, 8(1). https://doi.org/10.1177/20539517211018488
- Vicsek, T., Czirók, A., Ben-Jacob, E., Cohen, I., & Shochet, O. (1995). Novel type of phase transition in a system of self-driven particles. *Physical Review Letters*, 75(6), 1226–1229. https://doi.org/10.1103/PhysRevLett.75.1226
- Viégas, F. B., & Wattenberg, M. (2007). Artistic data visualization: Beyond visual analytics. In *Online Communities and Social Computing (HCI International 2007)* (Lecture Notes in Computer Science, pp. 182–191). Springer. https://doi.org/10.1007/978-3-540-73257-0_21
- Viégas, F., & Wattenberg, M. (2012). *Wind map* [Interactive artwork]. http://hint.fm/wind/
- Wattenberg, M. (2002). Arc diagrams: Visualizing structure in strings. In *IEEE Symposium on Information Visualization (InfoVis 2002)* (pp. 110–116). IEEE. https://doi.org/10.1109/INFVIS.2002.1173155
- Yuksel, C., Schaefer, S., & Keyser, J. (2009). On the parameterization of Catmull-Rom curves. In *2009 SIAM/ACM Joint Conference on Geometric and Physical Modeling* (pp. 47–53). ACM. https://doi.org/10.1145/1629255.1629262
- Yuksel, C., Schaefer, S., & Keyser, J. (2011). Parameterization and applications of Catmull–Rom curves. *Computer-Aided Design*, 43(7), 747–755. https://doi.org/10.1016/j.cad.2010.08.008

## 関連ノート

- [データビジュアライゼーションとデータアートは何が同じで、何が違うのか](https://jamjet-iqbal.com/notes/data-viz-vs-data-art-literature/)：分析の図と作品としての図の区別を扱う。本ノートの作品の図は、その両方の読まれ方を持つ。
- [レビュー論文の執筆材料](https://jamjet-iqbal.com/notes/review-paper-writing-material/)：7 群をまたぐ唯一の note。複数の調査の近接文献を一か所に集めた結果、群どうしの橋になっている。
- [AIスロップ：質の低さではなく、検証の外部化として読む](https://jamjet-iqbal.com/notes/ai-slop-design-creativity/)：5 群をまたぎ、均質化の文献を引く note の一つ。時期 1 に初めて出た CHI 系の研究を、時期 4 に引き直した note の一つでもある。
- [ネットワークをデータアートとして描く方法の文献](https://jamjet-iqbal.com/notes/network-data-art-methods-literature/)：作品に使った配置、束ね、時間、流れの方法と先行例を、確かめた深さつきで並べた文献ノート。
