公司动态
Ray Optics 光学仿真:浏览器中快速搭建 2D 几何光学场景的免费工具
Ray Optics 光学仿真浏览器中快速搭建 2D 几何光学场景的免费工具【免费下载链接】ray-opticsA web app for creating and simulating 2D geometric optical scenes, with a gallery of (interactive) demos.项目地址: https://gitcode.com/gh_mirrors/ra/ray-optics讲透镜成像时最直观的办法是当场拖几块玻璃、画一条光线让学生亲眼看到像落在哪。Ray Optics 光学仿真就是为此而做的 2D 几何光学仿真工具它跑在浏览器里你摆上光源、透镜和反射镜光路、聚焦位置与虚像位置会立刻画出来改一个参数就重新演一遍。球面透镜与曲面镜组合下的光线折射与反射即项目封面示例项目定位浏览器里的一间 2D 光学实验室 Ray Optics 是一个 Apache-2.0 许可的开源 Web 应用当前版本 5.5.0前端用 Vue 3 加 Webpack 打包场景数据全部写成 JSON几何与物理量支持公式求值。它只解决一件事——不装任何光学软件在页面上画出光路并验证它对不对。画廊预置了 77 个可交互演示从单条光线到开普勒望远镜界面提供 25 种语言。核心能力Ray Optics 光学仿真覆盖的四类光路从光源到像点一条光线的完整旅程输入是三类光源单条光线、平行/发散光束、点光源加镜面、玻璃、棱镜、分束器等元件过程是逐段求交光线碰镜面反射、过界面折射、被分束器一分为二输出是一整幅光路图。它还能直接标出实像、虚像和虚物画出站在某个观察点能看到的像打开光线延长线即可验证虚像的汇聚位置——这正是传统课件最难讲清的部分。白光拆开与合成颜色、色散与光栅给光线带上颜色再让它穿过玻璃、分色镜或衍射光栅颜色会混合、被滤色片截留、或因折射率随波长变化而被拆开。你看到的输出是彩虹、RGB 分光这类通常只出现在动画里的画面。不同波长光线在界面上的分离用于演示色散用公式定义任意曲面与梯度折射率输入一段数学表达式就能定义任意形状的镜面、玻璃界面或折射率随位置变化的 GRIN 材料过程是引擎对公式逐点求值后做数值积分输出是标准元件库给不了的自定义系统光路。画廊里的光纤、GRIN 平板都走这条路。把元件组合打包成可调参数模块输入是把若干元件加控制点写成一个模块——BeamExpander 用两个理想透镜加 3 个控制点定义扩束镜焦距由控制点坐标的公式算出过程是把模块当单个对象放进场景、拖动控制点输出是一类可复用、可传参的光学子系统。内置模块示例有 11 个写模块时还能参考 ai-tools/ 目录里 Ray Optics Coder 聊天机器人的提示词与知识文件。最快上手4 条命令跑通本地 Ray Optics 光学仿真 前提只有一个Node.js 18 以上。git clone https://gitcode.com/gh_mirrors/ra/ray-optics cd ray-optics npm install --no-optional npm run start完成后访问 http://localhost:8080/simulator/ 即可开始拖拽。不碰代码也有零构建路径下载预构建的发布包用 Simple Web Server 指向它同样在 http://localhost:8080/ 打开完整站点步骤见 run-locally/README.md。非开发者路线预构建包加 Simple Web Server 即可本地运行深入用法密度、检测器与脚本集成光线密度与性能怎么调场景 JSON 里的 rayModeDensity 字段就是光线密度密度越高光斑越实心但求交次数同步上涨。多棱镜、长光程、GRIN 材料这类场景卡顿时的第一反应应是调低密度工具栏的光线密度条可以直接拖。提高光线密度后聚焦光斑呈现连续分布用检测器读出能量分布并导出 CSV在光路末端放一个 Detector它会按 binSize 把入射光分箱给出总功率与辐照度分布打开辐照度图能画出光斑形状数据可导出为 CSV 进你自己的分析流程。场景整体也能导出为 SVG 矢量图直接放进报告或论文。场景 JSON 接入 Python 与 Julia 工作流每个场景就是一份 version 5 的 JSON元件坐标、折射率、模块公式都在里面改场景等于改数据。integrations/ 提供 runner.js 与 Python、Julia 示例把场景 JSON 从标准输入喂给命令行仿真器拿回检测器读数或渲染图的 base64批量仿真不必再打开浏览器。适合谁用又画不了什么适合四类人物理教师画廊的 77 个场景可直接当教具、课程演示、光学系统草图验证、以及要把仿真嵌进数据流程的科研人员。边界同样清楚它模拟的是 2D 几何光学没有偏振也没有波动光学——衍射、干涉这类波效应不在几何光线的射程内3D 光追与 WebGPU 引擎的排期见 ROADMAP.md。工程上还有两个限制完整构建含画廊图片生成约需半小时只跑 npm run start 时导入模块窗口和部分站内链接不可用因为那些页面还没构建。画廊场景示例反射与折射共同制造的黑猫变白一句话定位它把画光路图这件事从静态课件搬进了可交互、可导出、可被脚本调用的状态而成本只是打开一个浏览器。下一步两个动作把仓库克隆到本地clone 地址见上节命令跑完 4 条命令拖一个透镜试试或者从 77 个画廊场景里挑一个改一个参数看光线怎么动。【免费下载链接】ray-opticsA web app for creating and simulating 2D geometric optical scenes, with a gallery of (interactive) demos.项目地址: https://gitcode.com/gh_mirrors/ra/ray-optics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考