Diederich–Fornæss Worm Domain の VR 可視化
Codex 引継ぎ用設計メモ
原資料の日付:2026年9月
このHTML閲覧版は、実装時に渡されたTeX原本から2026年9月10日に作成しました。見出し・リスト・数式をブラウザー向けに表示し直しています。本文の計画・優先順位は原資料の時点のものです。現在の実装状況は紹介ページをご覧ください。
HTML reading edition of the supplied Japanese implementation brief, prepared on 10 September 2026. The original TeX is available above. Plans in the document retain their original status.
この文書の位置づけ
本メモは、Diederich–Fornæss の worm domain を 3D VR で可視化するための Codex 引継ぎ資料である。
これは、別途進めている
-
Nemirovski 型 Levi-flat、
-
Diederich–Ohsawa 型 Levi-flat
の可視化とは数学的内容としては別プロジェクトである。 一方で、同じ VR 環境の中で観察することを想定しているため、
-
色の意味、
-
navigator の置き方、
-
視点移動、
-
controller 操作、
-
“数学パラメータを動かすと主表示が即時に連動する”という思想
は可能な限り共通化する。
この worm 可視化の第一目的は、
ことである。
特に、
が断面円板の中心を回転させ、 bounded worm ではさらに
が断面半径を変化させて cap を作ることを、 3D geometry と実関数の graph を同時に見ながら理解できる表示を目指す。
主要文献
元論文
worm domain の歴史的・数学的出発点として、以下を記録する。
Klas Diederich and John Erik Fornæss,
Pseudoconvex domains: an example with nontrivial Nebenhülle,
Mathematische Annalen 225 (1977), no.~3, 275–292.
DOI: https://doi.org/10.1007/BF01425243.
これは smooth bounded pseudoconvex domain でありながら nontrivial Nebenhülle を持つ古典的な worm domain の元論文である。
今回の実装で直接参照する現代的記述
今回の数式実装では、次のプレプリントの記法を主に参照する。
Fani Xerakia,
Automorphisms of the Worm Domain,
arXiv:2511.10614 (2025).
https://arxiv.org/abs/2511.10614
PDF: https://arxiv.org/pdf/2511.10614.
このプレプリントの Definition~1 には bounded Diederich–Fornæss worm が
という形で書かれている。
また、その後の simplified model として
という unbounded / “capless” worm が導入されている。
今回の VR 実装は、
という順番を基本方針とする。
なぜ 3D に落とせるか
回転対称性
定義式は \(z\) について \(\arg z\) を見ず、
だけに依存する。
したがって \(z\)-rotation
は domain を保つ。
そこで
という \(4\) 実次元の表示をそのまま描く代わりに、 この \(S^{1}\) 対称性を落として
で表示する。
同値に、各 rotation orbit の代表として
を選んでいると考えてもよい。
重要な意味付け.
この 3D object は \(\mathbb{C}^{2}\) 全体の Euclidean geometry を 忠実に \(\mathbb{R}^{3}\) に埋め込んだものではない。 しかし worm の defining inequality が依存する全変数
を保持しているため、 \(z\)-rotation symmetry による quotient / canonical representative model として、今回見たい worm の幾何を直接表している。
共通する断面幾何
\(s=\log|z|^{2}\) を固定すると、 \(w\)-plane での断面は円板になる。
bounded worm
よって、断面円板の中心は
であり、存在する範囲 \(\eta(s)<1\) では半径は
注意: 定義式は距離の二乗に対する不等式なので、 半径は \(1-\eta(s)\) ではなく
である。
capless / unbounded worm
したがって
この場合、中心線は
という helix であり、その各 \(s\)-slice に半径 \(1\) の円板を置く。
したがって reduced 3D model は直観的には
である。
“軸に触れながら回る”という見え方
capless model では
なので、すべての \(s\) に対して
が boundary 上にある。
3D reduced coordinates では
が boundary 上の distinguished axis になる。
つまり各 \(w\)-disc は
なので、原点 \(w=0\) にちょうど接し、 その接点を保ちながら中心が \(w\)-plane 内を回転する。
これが VR で
として見せたい直観である。
full \(\mathbb{C}^{2}\) では Xerakia が
と書く exceptional locus があり、 \(z\)-rotation を quotient した 3D model では上の axis として見える。
Phase W1:最初に実装する capless worm
今回の最優先モデル
まず
の reduced 3D model を実装する。
これは実装上
と parameterize できる。
boundary は
すなわち boundary mesh の基本 parameterization は
\(s\) は unbounded なので、VR では有限 window
だけ表示し、この window を移動できるようにする。
W1 で必ず表示するもの
-
worm boundary の半透明 surface、
-
必要なら interior を理解するための薄い volume / selected discs、
-
center helix
\[ \Gamma(s)=(s,\cos s,\sin s), \] -
distinguished axis
\[ (s,0,0), \] -
現在選択している \(s=s_{0}\) の cross-section disc、
-
その disc の center \(e^{is_{0}}\)、
-
radius \(R=1\)。
boundary surface だけでは内部が分かりにくい場合は、 selected \(s\) における disc を強調表示することを優先する。
Phase W2:bounded worm と cap
W1 が軽快かつ分かりやすく動いた後、 bounded worm
を追加する。
\(\eta\) の条件
Xerakia の Definition~1 に合わせ、 \(\eta:\mathbb{R}\to\mathbb{R}\) は smooth で
-
\(\eta\ge0\)、even、convex、
-
\[ \eta^{-1}(0)=[-\mu,\mu], \]
-
十分大きな \(|s|\) では \(\eta(s)>1\)、
-
\(\eta(s)=1\) の点では \(\eta'(s)\neq0\)
を満たすものとする。
\(\eta(s)<1\) の範囲だけ cross-section が存在し、
となる。
\(\eta(s)=1\) で
となり、3D reduced model の両端が閉じる。 これが cap の可視化になる。
実装用の explicit \(\eta\) 候補
元論文・Xerakia の条件を満たす関数は一意ではない。 VR では、条件を満たし、graph が理解しやすい具体例を一つ固定してよい。
例えば
とし、
と置く。
すると
なので \(F\) は smooth convex で、\(t=0\) まで flat に接続する。
chosen transition length \(L>0\) に対し
とすれば、
となり、その外側では \(\eta>1\) になる。
これはVR 用の一つの explicit profileであり、 歴史的元論文でこの特定の式を採用している、という意味ではない。 必要なら後から別の admissible \(\eta\) に差し替えられるようにする。
bounded worm の distinguished locus
中央区間
では
したがって
が boundary 上にあり、 full worm での weakly pseudoconvex exceptional annulus は、 reduced 3D model では
という axis segment に見える。
Phase W2 ではこの segment を必ず強調表示し、 caps や strongly pseudoconvex part と視覚的に区別する。
連動表示:3D geometry と数式を同時に理解する
このプロジェクトでは 3D worm 単体を表示するだけでなく、 定義式の各項が何をしているかを連動表示する。
View A:main 3D worm
空間に worm boundary / selected cross-sections を描く。
常時または toggle で
-
center helix、
-
distinguished axis / axis segment、
-
current \(s\)-slice
を表示する。
View B:実関数 graph
Phase W2 では横に
または、より幾何学的に直接的な
の graph を表示する。
できれば UI で
を toggle できる。
graph 上に現在値 \(s=s_{0}\) を marker で示し、 同時に
を表示する。
View C:current \(w\)-plane section
現在の \(s=s_{0}\) に対し
という円板を 2D diagram として表示する。
最低限、
-
\(w=0\)、
-
center \(e^{is_{0}}\)、
-
boundary circle、
-
radius \(R(s_{0})\)
を示す。
これにより
の対応を一目で追えるようにする。
ユーザー操作の基本方針
Levi-flat 可視化と操作感を揃える。
推奨基本操作
-
一方の stick:視点移動 / locomotion、
-
他方の stick:現在選択中の数学パラメータを連続変更、
-
少数の button:変更対象や表示 mode を切り替える。
複雑な chord 操作や、多数の mode を覚えさせる設計は避ける。
主要パラメータ
W1 では主に
を動かす。
W2 では追加で
または equivalent な \(\eta\) profile parameter を変更可能にしてもよい。
ただし初期版では
を固定し、 \(s_{0}\) の移動だけでも十分である。 UI の単純さを優先する。
近接観察
worm boundary、 distinguished axis / exceptional segment、 cap、 current cross-section に近づき、 自由に回り込んで観察できること。
特に
近傍で boundary がどのように接するかを見たいので、 near clipping plane や camera collision が観察を妨げないようにする。
色・表示文法の共通化
具体的な色番号は Codex / 実装側で決めてよいが、 既存 Levi-flat VR と意味を揃える。
例えば
-
主 object boundary:共通の neutral / translucent material、
-
現在選択中の slice / curve:既存 project と同じ “active selection” 色、
-
distinguished / exceptional locus:既存 project の “special mathematical locus” 色、
-
graph の current marker:active slice と同色
とする。
色だけで情報を区別せず、 line thickness、marker、label 等も併用する。
数学的に誤解させないための注意
3D model は symmetry reduction
model を “worm domain itself in \(\mathbb{R}^{3}\)” と無条件に呼ばず、 必要に応じて
または
と表示する。
radius の二乗
必ず
から
とする。
unbounded model と original bounded worm の区別
\(W^{\mathrm{un}}\) は今回の可視化導入に非常に適するが、 Diederich–Fornæss の original bounded worm そのものではない。
UI / documentation では
-
“Capless / unbounded simplified worm”、
-
“Bounded Diederich–Fornæss worm”
を明確に区別する。
Codex に委任する実装判断
以下は Codex が性能・操作性を見て判断してよい。
-
boundary mesh の sampling density、
-
\(s\) window の長さ、
-
center helix / axis の line rendering 方法、
-
volume を半透明で塗るか、boundary + selected discs のみにするか、
-
View B / View C を world-space panel にするか HUD にするか、
-
graph labels の密度、
-
W1 / W2 を別 scene にするか toggle にするか、
-
LOD / culling / GPU mesh の使用、
-
controller の左右割り当て。
ただし以下は保持する。
-
current \(s\) と 3D slice と graph marker が常に連動する。
-
center \(e^{is}\) の回転が明瞭に見える。
-
capless model では \(w=0\) axis に接しながら回ることが見える。
-
bounded model では \(R(s)\) の変化と cap formation が対応して見える。
-
weakly pseudoconvex exceptional segment を見失わない。
-
視点移動と数学パラメータ操作を複雑にしない。
-
既存 Levi-flat 可視化と UI / 色の意味を可能な限り統一する。
今回の実装スコープ
優先順位は以下。
必須:Phase W1
の capless 3D reduced worm。
-
boundary、
-
center helix、
-
\(w=0\) axis、
-
current \(s\)-disc、
-
\(s\) controller、
-
current \(w\)-section diagram
を実装する。
次段階:Phase W2
の bounded worm。
-
explicit admissible \(\eta\)、
-
\(\eta\) / \(R\) graph、
-
cap、
-
exceptional axis segment
を追加する。
Future work
今回の初期実装では必須としない。
-
original 1977 construction の全細部を UI 上で再現すること。
-
\(\eta\) の複数 profile を比較する機能。
-
Levi form の値や Levi eigenvalue を surface 上に overlay すること。
-
strongly pseudoconvex / weakly pseudoconvex locus の quantitative visualization。
-
Stein neighborhood basis / Nebenhülle の幾何を別 object として可視化すること。
-
Bergman projection / Condition R / \(\bar\partial\)-Neumann phenomena の可視化。
-
full \(4\) real dimensional \(\mathbb{C}^{2}\) data の別表現。
-
Nemirovski / Diederich–Ohsawa Levi-flat models と同時表示して比較すること。
これらは、まず “worm の定義式そのものが目で理解できる” Phase W1–W2 が 成功した後の発展課題とする。
最低限の実装チェック項目
-
W1 で center が
\[ e^{is} \]に従って正しく一周するか。
-
各 \(s\)-slice の半径が W1 では常に \(1\) か。
-
W1 で \(w=0\) が全 \(s\) について boundary 上にあるか。
-
current \(s\) を動かすと 3D slice、2D section、graph marker が同期するか。
-
W2 では
\[ R(s)=\sqrt{1-\eta(s)} \]が正しく使われているか。
-
\(|s|\le\mu\) で \(R(s)=1\) になっているか。
-
\(\eta(s)=1\) で cross-section が半径 \(0\) に閉じるか。
-
W2 で exceptional locus が reduced model の axis segment として見えるか。
-
worm に近づいても clipping / transparency のために形が読めなくならないか。
-
UI が Levi-flat project と同程度の操作複雑度に収まっているか。
一行での設計要約
まずは
の capless worm で “軸に接しながら中心がくるくる回る” 幾何を見せ、 次に \(\eta\) の graph と連動させて bounded worm の cap formation を見せる。