Skip to content

Repository files navigation

MelianX Logo

MelianX

波动光学演示系统"见"所未见

version react tauri wasm license


MelianX 是一个交互式波动光学可视化演示系统,支持 Web 浏览器与跨平台桌面应用双端运行。通过 WASM 加速计算,实时渲染干涉、衍射、偏振等光学现象。

特性

  • 丰富的光学实验 — 内置多种经典光学实验(杨氏双缝、单缝衍射、光栅衍射、菲涅尔圆孔衍射等)
  • WASM 加速渲染 — C 语言编写的计算核心,通过 Emscripten 编译为 WebAssembly,实现高性能实时渲染
  • 自定义实验 — 支持通过 JSON 配置文件定义自定义光学实验
  • 双端运行 — Web 版直接浏览器访问,桌面版基于 Tauri v2 打包(~10MB)
  • 交互式操作 — 拖拽光学元件、实时调节参数、所见即所得
  • 偏振支持 — 完整的偏振光学模拟

技术栈

技术 说明
前端框架 React 18 + TypeScript 组件化 UI
UI 组件库 Ant Design 5 设置面板、交互控件
构建工具 Vite 5 开发服务器 + 生产构建
计算引擎 WebAssembly (C / Emscripten) tinyexpr 表达式引擎 + CIE 色彩匹配
桌面框架 Tauri v2 Rust 后端 + 系统 WebView
文档站 Docusaurus 3 静态文档网站

快速开始

Web 开发

# 安装依赖
npm install

# 启动开发服务器(端口 1420)
npm run dev

桌面应用开发

# 前置:安装 Rust 和 Tauri 系统依赖
# 参见 https://v2.tauri.app/start/prerequisites/

npm run dev:tauri

WASM 编译

# 前置:安装 Emscripten SDK (emcc)
npm run build:wasm

构建

# Web 版
npm run build          # 产物输出到 dist/

# 桌面版(生成可执行文件)
npm run build:tauri

# WASM 模块
npm run build:wasm     # 输出到 src/wasm/gen1.wasm.js

# 文档站
npm run build:docs     # 输出到 docs/build/

项目结构

MelianX/
├── src/                      # React 前端(Web + Desktop 共享)
│   ├── wasm/                 # WASM 加载器 + 屏幕渲染 Hook
│   ├── screens/              # 4 种 WASM 加速屏幕组件
│   ├── lab/                  # 光具座场景
│   ├── experiment/           # 实验配置(JSON + 逻辑)
│   ├── color/                # 波长→光强辅助
│   ├── setting/              # 设置面板组件
│   ├── measures/             # 测量工具
│   └── lib/platform.ts       # 平台抽象层
├── src-tauri/                # Tauri Rust 后端
├── wasm/                     # C 源码 + 构建脚本
├── docs/                     # Docusaurus 文档站
├── scripts/                  # 构建脚本
└── deploy/                   # 部署脚本(不进 git)

屏幕类型

屏幕 维度 用途
ScreenFixedCircle 1D 固定圆屏(杨氏双缝、单缝、光栅)
ScreenBoard 1D 矩形屏(无裁剪)
ScreenFixedCirclePolar 2D 固定圆屏偏振
ScreenBoardPolar 2D 矩形屏偏振

文档

完整文档请访问 MelianX 文档站,包含使用指南、自定义实验教程和开发者文档。

关于 X 重构

MelianX(v3.0.0)是对旧版 Melian 的全面重构,由 GLM-5.2Qwen3.7-Plus 两个 AI 模型深度辅助完成。旧版是基于 Electron 的桌面优先应用,新版改为 Web 优先 + Tauri 轻量桌面架构,计算引擎从纯 JavaScript 统一迁移到 WASM(C/Emscripten)。

详见 X 重构解释

作者

王宇轩 (Elwina Vardal)

许可证

Copyright © 2023-2026 王宇轩 (Elwina Vardal). Licensed under the MIT License.

About

波动光学演示系统——全新升级

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages