圖像及渲染
Sounio 目前在此庫快照中擁有兩個真實的圖像家族:終端機原生科學顯示在 examples/graphics/ 以及軟件光栅化圖像輸出在 examples/render/。
這些光栅化預覽是從檢查的 JIT 物件的標準輸出生成的,然後提交為網站的 SVG 資產。
此頁面現在展示了五個真實的光栅化預覽,而非兩個孤立的樣本。
真實光栅輸出
這個例子是一個真實的巴里心光栅化器。公共頁面的圖像是由編譯器輸出生成的,而非手繪模擬。
Source: examples/render/triangle_basic.sio
bin/souc run examples/render/triangle_basic.sio > triangle_basic.ppm 这个例子演示了旋转立方体、按深度着色边缘,并直接从Sounio代码输出可移植的PPM帧。
Source: examples/render/cube_wireframe.sio
bin/souc run examples/render/cube_wireframe.sio > cube_wireframe.ppm This preview turns type-directed uncertainty into a real epistemic field: value runs across x, epsilon runs across y, and brightness falls as uncertainty rises.
Source: examples/render/uncertainty_field.sio
bin/souc run examples/render/uncertainty_field.sio > uncertainty_field.ppm 此渲染直接將前門風格的圖像編碼為像素,包括do(X)-風格的干預顏色和明確的潛在調節者。
Source: examples/render/causal_dag.sio
bin/souc run examples/render/causal_dag.sio > causal_dag.ppm This scene rotates a tetrahedron with quaternion math, projects both poses into screen space, and overlays correspondence lines between original and rotated vertices.
Source: examples/render/quaternion_rotation.sio
bin/souc run examples/render/quaternion_rotation.sio > quaternion_rotation.ppm 為什麼要使用這個圖形堆棧?
- 真實編譯器輸出:上圖的矢量化部分來自已檢查的
souc run輸出,而非螢幕截圖 - 可攜輸出格式:終端演示使用 Unicode/ANSI;矢量化演示輸出純文本的 PPM
- 無視窗依賴:目前範例並無需要 X11、OpenGL 或 GUI 工具庫
- SSH 友好:終端和文件基準渲染均可在遠端系統上運行
終端畫廊
八次元乘法表
瑰寶—一個全彩色的8D代數視覺化,其中Fano平面結構通過顏色模式立即可見。
╔══════════════════════════════════════════════════════════════════════════╗ ║ OCTONION MULTIPLICATION TABLE - Color Edition ║ ╚══════════════════════════════════════════════════════════════════════════╝ × │ 1 i j k l il jl kl ────┼──────────────────────────────────────────────── 1 │ 1 i j k l il jl kl i │ i -1 k -j il -l -kl jl j │ j -k -1 i jl kl -l -il k │ k j -i -1 kl -jl il -l l │ l -il -jl -kl -1 i j k il │ il l -kl jl -i -1 -k j jl │ jl kl l -il -j k -1 -i kl │ kl -jl il l -k -j i -1 (接上節) 圖例:1=實數 ijk=四元數 liljlkl=八元數 負=負數
fMRI腦部激活熱圖
32×32腦切片,使用Unicode區塊字元進行梯度強度視覺化。
╔═══════════════════════════════════════════════════╗ ║ fMRI BRAIN ACTIVATION - Slice z=32 ║ ╚═══════════════════════════════════════════════════╝
Anterior ░░░░░░░░░░░░░░░░░░░ ░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░ ░░░░▒▒████████▒▒░░░░ ░░░▒▒██████████████▒▒░░░ ░░░▒▒███████████████████▒▒░░░ L ░░▒▒███████░░░░███████▒▒░░ R ░░▒▒███████░░░░░░███████▒▒░░ ░░▒▒████████░░████████▒▒░░ ░░░▒▒███████████████▒▒░░░ ░░░░▒▒▒███████▒▒▒░░░░ ░░░░░░▒▒▒▒▒▒▒▒░░░░░░░░ ░░░░░░░░░░░░░░░░░░░ Posterior
強度:░=0.0 ▒=0.3 █=0.6 █=1.0 區域:視覺 動力 前額葉`} />
3D Wireframe Cube
旋轉立方體,採用等距投影及軸指標。
╔═══════════════════════════════════════════════════╗ ║ 3D WIREFRAME CUBE - Frame 42 ║ ╚═══════════════════════════════════════════════════╝
Y │ ┌───────────┐ ╱│ ╱│ ╱ │ ╱ │ ╱ │ ╱ │ ┌───────────┐ │ │ │ │ │ │ └───────│───┘ │ ╱ │ ╱ │ ╱ │ ╱ │╱ │╱ └───────────┘──────X ╱ Z
投射: 等距 (30°) 坐标轴: X=红色 Y=绿色 Z=蓝色`} />
粒子系统动画
基于物理的粒子喷泉,包含重力及阻力。
╔═══════════════════════════════════════════════════╗ ║ 粒子喷泉 - 第120帧 ║ ╚═══════════════════════════════════════════════════╝
★ ★ ★ · · · ★ ★ · · · ○ · · ○ · · ○ ○ ○ ○ · │ · · │ · · │ · ════════════════════█════════════════════
粒子:847个活跃 物理:重力=0.1,阻力=0.99,风=0.02 寿命:★=新 ·=中 ·=旧`} />
流体力学 (纳维-斯托克斯方程)
基于Jos Stam的“稳定流体”算法进行烟雾模拟。
╔═══════════════════════════════════════════════════╗ ║ 流体力学 - 烟升 ║ ╚═══════════════════════════════════════════════════╝ ░░░░░░ ░░░░▒▒░░░░ ░░▒▒▓▓▒▒░░░░ ░░░▒▒██▓▓▒▒░░░░ ░░░░▒▒▓▓██▓▓▒▒░░░░ ░░▒▒▓▓███▓▓▒▒░░ ░░▒▒███▒▒░░ ▒▒███▒▒ ▓▓██▓▓ ████ ████ ▓▓▓▓ ░██░ ▀▀ ═══════════════════════════════════════════ 算法:稳定流體(Stam 1999) 網格:64×64,黏性係數=0.0001
分叉圖
Logistic映射顯示倍周期分叉至混沌。
╔═══════════════════════════════════════════════════╗ ║ 物流映射分叉 - 周期倍增 ║ ╚═══════════════════════════════════════════════════╝ x↑ 1│ ░░░░░░░░░░░░ │ ░░▒▒▒▒▒▒▒▒░░ │ ░░▒▒████████▒▒ │ ▒▒▒▒████████▒▒░ │ ▒▒▒▒ ████████ │ ▒▒▒▒ ████████ │ ▒▒▒▒ █ █ │ ░░░ █ █ │ ░░░░ │ ░░░░ │ ░░░░ 0│░░░░░ └──────────────────────────────────────────────→r 2.5 3.0 3.5 4.0 x_{n+1} = r × x_n × (1 - x_n) 显示:固定点 → 周期-2 → 周期-4 → 混沌
/>
力导向图布局
使用 Fruchterman-Reingold 算法进行社交网络可视化。
╔═══════════════════════════════════════════════════╗ ║ 力指圖 - 社交網絡 ║ ╚═══════════════════════════════════════════════════╝ (接上節) (Bob)─────────(Eve) │╲ ╱│ │ ╲ ╱ │ │ ╲ ╱ │ │ ╲ ╱ │ │ ╲ ╱ │ │ ╲ ╱ │ │ ╲ ╱ │ (Alice)───(Carol) │ ╱ ╲ │ │ ╱ ╲ │ │ ╱ ╲ │ │ ╱ ╲ │ │ ╱ ╲ │ │ ╱ ╲ │ │╱ ╲│ (Dave)─────────(Frank) 節點:6 邊緣:12 演算法:弗克特曼-林高爾 溫度:0.05 (已收斂)
卡尔曼過濾不確定性
按顏色編碼的連續貝葉斯信念更新。
╔═══════════════════════════════════════════════════╗ ║ KALMAN FILTER - Sensor Fusion ║ ╚═══════════════════════════════════════════════════╝ Uncertainty Reduction Through Sensor Fusion: (接上節) 先前 (σ=10.0m): █████████████████████████████████████ 高 GPS後 (σ=4.5m): ███████████████ 中 IMU後 (σ=0.5m): ██ 低 LiDAR後 (σ=0.1m): ▏ 非常低 準確度增長(1/σ²): prior: ▏ +GPS: █ +IMU: ████████ +Lidar: ████████████████████████████████ 總不確定性降低:99% 精確度提升:10,405×
╔═══════════════════════════════════════════════════╗ ║ CMIP6 氣候預測 - SSP2-4.5 ║ ╚═══════════════════════════════════════════════════╝ 全球平均溫度變化 (2100 對比 1850-1900): GFDL-ESM4: █████████████████│ 1.8°C ± 0.2 HadGEM3: █████████████████████│ 2.1°C ± 0.3 MIROC6: ███████████████████│ 1.9°C ± 0.25 IPSL-CM6A: ███████████████████████│ 2.3°C ± 0.4 MPI-ESM: ████████████████████│ 2.0°C ± 0.1 ├─────────────────────────────────┤ 0 1.5°C 3.0°C 合計平均值: ████████████████████│ 2.02°C ± 0.18 ⚠️ 巴黎1.5°C目標:12%機會保持在以下 ⚠️ 巴黎2.0°C目標:47%機會保持在以下
執行範例
SOUC_BIN=bin/souc
# 光栅渲染 (PPM 輸出至標準輸出)
"$SOUC_BIN" run examples/render/triangle_basic.sio > triangle_basic.ppm
"$SOUC_BIN" run examples/render/cube_wireframe.sio > cube_wireframe.ppm
# 科學視覺化
"$SOUC_BIN" run examples/visual/06_octonion_color_table.sio
"$SOUC_BIN" run examples/visual/10_kalman_filter_color.sio
"$SOUC_BIN" run examples/visual/12_animated_diffusion.sio
(接自上一節)
圖形庫範例
“$SOUC_BIN” run examples/graphics/demos/phase3_showcase.sio # 3D “$SOUC_BIN” run examples/graphics/demos/phase5_showcase.sio # 動畫 “$SOUC_BIN” run examples/graphics/demos/phase7_showcase.sio # 網絡
從精確編譯器輸出更新網站圖像預覽
npm —prefix website run generate:render-assets
## 圖書館結構
# 圖書館結構
## 目錄
- [主頁](#main-page)
- [書籍分類](#book-categories)
- [借閱服務](#borrowing-services)
- [學習資源](#learning-resources)
- [電子資源](#e-resources)
- [活動與講座](#events-and-lectures)
- [聯絡我們](#contact-us)
## 主頁
[主頁](#)
## 書籍分類
- [文學與藝術](#literature-and-arts)
- [科學與技術](#science-and-technology)
- [社會科學](#social-sciences)
- [商業與經濟](#business-and-economics)
- [工程與技術](#engineering-and-technology)
- [語言與文化](#language-and-culture)
- [自然與環境](#natural-and-environment)
## 借閱服務
[借閱服務](#)
## 學習資源
[學習資源](#)
## 電子資源
[電子資源](#)
## 活動與講座
[活動與講座](#)
## 聯絡我們
[聯絡我們](#)
| 阶段 | 模組 | 功能 |
|-------|---------|--------------|
| **第1階段** | `canvas`, `colors`, `drawing`, `text` | 核心基本元素, ANSI 色彩, 形狀 |
| **第2階段** | `axes`, `scatter`, `line_plot`, `bar_chart`, `histogram`, `heatmap` | 2D 繪圖 |
| **第3階段** | `projection`, `wireframe`, `scatter3d` | 3D 視覺化 |
| **第4階段** | `input`, `interactive_plot` | 拉距, 移動, 滑鼠/鍵盤 |
| **第5階段** | `animation`, `particle_system`, `fluid_sim` | 動畫, 物理 |
| **第6階段** | `phase_diagram`, `bifurcation`, `poincare`, `streamlines` | 科學圖表 |
| **第7階段** | `graph`, `force_directed`, `tree_layout`, `graph_render` | 網絡視覺化 |
---
# 继续翻译
---
## 開始使用
```bash
# 運行其中一個階段展示
bin/souc run examples/graphics/demos/phase1_showcase.sio