3Dグラフビューア 取扱説明書(v2.0)
1. 概要・起動方法
本アプリケーションは、3次元空間上に様々な数式(実数関数・複素数関数・4D関数)をリアルタイムに描写・操作できる3Dグラフビューアです。v2.0 では、第3のモード「4D」(w = f(x, y, z, t))を追加しました。
- 起動手順(exe版):
3DGraphViewer フォルダ内の 3DGraphViewer.exe をダブルクリックします。
- 初回起動時の注意: 「Windows によって PC が保護されました」と表示された場合は、「詳細情報」→「実行」を選択してください。
- Web版:
3DGraphViewer.html を Google Chrome や Microsoft Edge 等のブラウザで開くことで同様に利用できます。
- WebGL2 が使えない環境: GPU での描画(WebGL2)が使えない環境でも、CPU で描画して動作します(簡易描画・ソフトウェア描画。動作は遅くなります)。
2. 画面構成と各部名称
【図1】3Dグラフビューア メイン操作画面(実数モード)
| 番号 | 名称 | 内容 |
| ① | ヘッダー | モード切り替え(実数|複素|4D)、設定読込・設定保存、PNG保存、動画保存のボタン。 |
| ② | 式の入力欄 | グラフにする式を入力します。 |
| ③ | 例・関数ボタン | 左は例(サンプル数式)、右は関数・記号のボタンです。押すと入力欄に入ります。 |
| ④ | 数式表示 | 入力した式を、整った数式で表示します。 |
| ⑤ | 左パネル | 範囲・時間 t・解像度(4Dモードでは等値面も)を設定します。 |
| ⑥ | 3D表示 | グラフを表示します。マウスで回転・拡縮・移動できます。 |
| ⑦ | 右パネル | 視点・表示(4Dモードでは断面も)を設定します。 |
| ⑧ | 再生バー | 時間 t の再生・一時停止・位置の指定をします。 |
2.1 複素数モード・4Dモードの画面
モードを切り替えると、式の形と、パネルの項目が変わります。
【図2】複素数モード(f(z) = (z²−1)/(z²+1))。高さ = |f|、色 = 位相
【図3】4Dモード(w = sin(√(x²+y²+z²) − t))。左パネルに w の範囲と等値面の欄が出ます
3. 基本操作(マウス・キーボード・タッチ)
| 操作種別 |
入力方法 |
動作説明 |
| マウス操作 |
左ドラッグ |
グラフの視点回転 |
| ホイール操作 |
x・y 範囲の拡大・縮小(枠は固定のまま目盛りが変化) |
| 右ドラッグ |
x・y 範囲の平行移動 |
| Shift + ホイール / Shift + 右ドラッグ |
z 範囲の操作(※zの範囲が「手動」設定時のみ有効) |
| キーボード |
Space |
時間 t の再生 / 一時停止 |
| F11 |
全画面表示の切り替え |
| タッチ操作 |
1本指ドラッグ / 2本指つまみ / 2本指移動 |
回転 / 範囲の拡縮 / 範囲の平行移動 |
4. 式の入力とモード設定
4.1 モード切り替え
画面最上部タイトルの右側にあるボタンで切替を行います。
- 実数モード: z = f(x, y, t) の形式で入力します。
- 複素数モード: 複素数 z = re + i*im に対する関数 f(z) を入力します。高さ = |f(z)|、色 = arg f(z)(位相)を表現します。
- 4Dモード(v2.0): w = f(x, y, z, t) の形式で入力します。3次元空間の各点の値 w を、色を変えた半透明の等値面(w が同じ値の面)で表現します。詳しくは「4.3 4Dモード」を参照してください。
4.2 式の入力ヘッダー
- 式の入力欄:
sin(sqrt(x^2+y^2)-t)*exp(-(x^2+y^2)/20) のように入力します。入力から0.3秒後に自動反映されます。
- 例(プリセットボタン):
波紋, 鞍面, ガウス山, sinc などのボタンを押すことでサンプル数式を一括入力できます。
- 関数ボタン:
sin(), cos(), tan(), exp(), ln(), gamma(), ∫, ∑ などのボタンを押すと、カーソル位置に入力されます。文字列を選択した状態で押すと括弧で包まれます。
- 数式表示: 入力した計算式が LaTeX 形式で整形されて右上にリアルタイム表示されます。
4.3 4Dモード(w = f(x, y, z, t))
空間の3変数 x・y・z と時間 t の関数 w を、「w が同じ値の面(等値面)」を重ねた半透明の3D表示にします。箱の3辺が x・y・z の範囲で、色は w の値です(画面は【図3】を参照)。
- 式の例:
sin(sqrt(x^2+y^2+z^2)-t)(t とともに広がる同心球の殻)。例ボタン 球面波, 定在波, 干渉, 動く球, トーラス, 波束 で、サンプル数式を一括入力できます。
- 範囲: x・y・z の範囲を指定します(既定は x, y: −5〜5、z: −3.75〜3.75。z に「自動」はありません)。w の範囲は「自動」(t の全期間を通した範囲。極端な外れ値は除く)または「手動」で指定します。w の範囲は、色と等値面のレベルの範囲になります。
- t の再生: t を含む式は、再生ボタンや Space で動かせます。
- 操作: 回転・投影(透視/直交)・視点のプリセットは、実数モードと同じです。
| 設定項目 | 場所 | 内容 |
| 体積の分割 |
左パネル「解像度」 |
32〜256(32刻み)。x・y・z 各に n 点で、点数は n の3乗です。細かいほど滑らかですが、重くなります。 |
| 操作中の品質 |
左パネル「解像度」 |
「操作中は品質を自動で下げる」。回転や再生のあいだ、描画の細かさを自動で下げ、停止後に最高品質で描き直します(既定はオン)。 |
| 等値面 |
左パネル「等値面」 |
等値面の枚数: 0〜64(0 で等間隔の面を出しません)。w の範囲を等間隔に分けて面を置きます。
不透明度(1枚あたり): 面が重なるほど濃くなります。
任意の値の面(w =): 「0, 0.5」のようにコンマ区切りで、決まった値の面を最大8枚まで足せます(不透明度は別のスライダー)。
|
| 断面 |
右パネル「断面」 |
断面表示 / 断面非表示: 体積を z = a の面で切り、z が a より大きい側を取り除いて、切り口の w を色で見せます。同時に、切り口の上に「高さ = w」の3Dグラフが浮かび上がります。
切る位置 z = a: スライダーで切る高さを動かせます。
等高線: 切り口に、等値面と同じ値の等高線を出し入れします。
|
【図4】4Dモードの断面表示(z = 0 で切った切り口と、高さ = w の3Dグラフ)
- 動作環境による違い(自動): GPU が浮動小数の書き込みに対応していない場合は、CPU で値を計算します。ソフトウェア描画・簡易描画では CPU で描くため、体積の分割は 64 から始まり、動作は遅くなります。
- 重さの目安: 体積の分割が 128 のとき点数は約 210 万、256 で約 1680 万です。動きが滑らかでないときは、分割を下げてください。
5. サイドパネル設定項目の詳細
5.1 左パネル(範囲・時間・解像度・等値面)
- 範囲 (x, y, z): x, y の範囲数値を直接指定可能。z 範囲は「自動」と「手動」を切替可能です(複素数モードでは、「自動」にカーソルを置くと自動範囲の説明が出ます)。4Dモードでは z は範囲の指定のみで、あわせて w の範囲(自動/手動)を指定します。
- 時間 t: 変数 t の範囲、再生速度の変更、ループ再生のオン/オフを設定します。画面最下部スライダーでも制御可能です。
- 解像度: 実数・複素数モードでは「格子分割」(x・y 各 32〜1024、32刻み。例:
256 × 256)を調整します。4Dモードでは「体積の分割」(32〜256)を調整します。
- 操作中の描画: 実数・複素数モードの「操作中は粗く描画する」(停止後に高解像度で描き直します)、4Dモードの「操作中は品質を自動で下げる」を切り替えられます。
- 等値面(4Dモードのみ): 等値面の枚数・不透明度・任意の値の面を設定します(詳しくは「4.3 4Dモード」)。
- CPU/GPU の計算方法: v2.0 から、どのモードも自動で選びます(切替ボタンはありません)。
- 格子分割が 256 以下は CPU(高精度。64ビット計算)で計算します。
- 256 を超えると、使える環境では GPU(WebGL2、32ビット計算)で計算し、アニメーションや範囲操作が滑らかになります。
- 4Dモードの体積は、GPU が使えれば GPU、使えなければ CPU で計算します。
5.2 右パネル(視点・断面・表示・カラー・大きさ)
- 視点:
初期, 上, x側, y側 のワンタッチ切り替え、および方位角・仰角のスライダー調整。
- 投影:
透視(遠近感あり)/ 直交(平行投影)の切り替え。
- 断面(4Dモードのみ): 断面表示のオン/オフ、切る位置 z = a、等高線の出し入れ(詳しくは「4.3 4Dモード」)。
- 描画モード:
面 / 格子 / 面+格子 の切り替え(実数・複素数モード)。
- カラーマップ:
虹 (青→赤) などのグラデーション設定(実数モードは z、4Dモードは w で着色)。複素数モードの色は位相で固定です。
- 表示オプション:
面の透明度: 0%(不透明)〜90%(シースルー表示)
陰影をつける / 軸と目盛り / 底面・背面グリッド / 情報表示 / 原点を通る軸線 のトグル切替
背景色: 黒・灰・白・標準カラーの選択
- 大きさ・高さ: グラフ全体の倍率および z 軸方向の高さ比率(標準 7.5)の変更。
6. ファイルの保存・出力
- PNG保存: 画面右上ボタンより、倍率(×1 / ×2 / ×4)を選択して高解像度画像を保存できます。
- 動画保存: MP4 または WebM 形式での動画書き出しが可能です(実数・複素数・4Dのすべてのモード)。ダイアログで次を設定します。
解像度: 720p / 1080p / 4K、フレームレート: 24 / 30 / 60 fps、長さ: 0.5〜120 秒、画質: 標準 / 高 / 最高
動き: t を進める / 視点を回す / 両方(t を含まない式では「視点を回す」のみ)
格子分割(実数・複素数): 画面と同じ / 512 / 1024
体積の分割・等値面の枚数(4D): 動画だけ、画面とは別に指定できます。体積の分割は 画面と同じ / 32 / 64 / 128 / 256、等値面の枚数は 0〜64。画面が重くて操作がカクつく環境でも、動画では細かく滑らかに書き出せます(フレームを1枚ずつ描画するため、コマ落ちしません)。
- 設定読込 / 設定保存: 現在の数式・視点・範囲などの設定情報を JSON ファイルとして保存・再読み込みができます。