# PhySim-LLM **Repository Path**: hnnuxuan/phy-sim-llm ## Basic Information - **Project Name**: PhySim-LLM - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-08 - **Last Updated**: 2025-12-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 大学物理仿真平台 - UI线框与交互记录 ## 项目简介 本项目是一个基于LLM的大学物理仿真平台,专注于光学干涉实验的教学演示。通过可视化界面展示光的波动性质,特别是双缝干涉现象,使学生能够直观理解物理原理。 ## 功能模块说明 ### 主要特性 - 实时光学干涉模拟 - 可调节参数(波长、缝宽、缝间距) - 强度分布图实时绘制 - 彩色光谱映射 - 原理图解展示 ## 界面设计规范 ### Spark 4.0 Ultra交互规范 - 波长(λ): 380-750nm (可见光范围) - 缝宽(a): 1000-10000nm - 缝间距(d): 1000-10000nm - 屏幕距离(L): 1000-10000nm - 主要元素ID: - wavelength, slitWidth, slitSeparation (滑块输入) - interferenceCanvas (干涉图绘制区域) - intensityPlot (强度分布图) ## 开发迭代记录 ### Round 0: 项目概要 - 制作8张UI线框图,涵盖主界面、参数控制区、干涉效果图和强度分布图等核心组件 ### Round 1: 核心算法实现 - interference() 函数:根据给定参数计算屏幕上的光强分布 - drawInterferencePattern() 函数:在canvas上绘制干涉条纹图案 - drawIntensityPlot() 函数:绘制强度分布曲线I(x)
图1 干涉效果图
观察到首页设计如图1所示,在顶部放置三个滑块分别控制波长、缝宽和缝间距,中部为干涉图绘制区域,底部为强度分布图。 ### Round 2: 参数联动机制 - input事件绑定params状态,任一滑块值改变都会触发重绘 - resetToDefaults() 函数:恢复默认参数设置图2 默认参数配置效果图
### Round 3: 强度分布鼠标悬停提示 - handleIntensityMouseover(evt) 函数:监听鼠标在强度分布图上的位置(0..W-1),并在同一位置的百分比显示在#intensity-tooltip上,mouseleave时隐藏。 - 动态变化提示:随着鼠标移动动态更新提示内容。图3 强度分布悬停提示效果图
观察到图3展示了预期的悬停效果,当鼠标移至强度分布图上时,会显示对应位置的强度百分比指示。 ### Round 4: 双缝干涉+衍射叠加强度计算 - drawIntensityPlot(): 叠加强度计算公式I(x) ### Round 5: 强度分布悬停提示增强 - handleIntensityMouseover(evt): 在x位置(0..W-1)显示同一位置的I(x)百分比显示在#intensity-tooltip上,mouseleave时隐藏。 - 动态变化提示:随鼠标移动动态更新提示内容。图4 强度分布悬停提示效果图
观察到图4显示了预想的悬停效果,当鼠标移至强度分布图上时,会显示对应位置的强度百分比指示: ### Round 6: 原理图解弹窗设计 - 点击"?"按钮可打开原理图解弹窗,如图5所示。图5 原理解释效果图
观察到首页设计如图5,页面显示了关于原理图解的内容及指针: ### Round 7: 收尾工作 - 色彩映射:wavelengthToHSL将380-750 nm映射到色相环,再通过hslToRgb实现颜色实时渲染 - 约束与边界处理:确保slitWidth与slitSeparation参数变化时统一刷新画面避免绘图错误图6 光学平台完整效果图
观察到当前页面设计如图6,全功能平台已可投入使用,如图1所示预览,效果良好。