Files
BL/README_light_path.md
nicomacbookpro 529384a8e6 修改
2025-08-28 15:10:09 +08:00

279 lines
5.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 光学系统光路可视化
本项目提供了多种方式来可视化光学系统的光路数据,使用 Blender 生成高质量的 3D 光路模型。
## 文件说明
### 数据文件
- `miao_light_path_tsingtao.json` - 光路数据文件,包含多条光路的 3D 坐标点
### 可视化脚本
#### 基础版本
- `light_path_blender.py` - 基础版 Blender 光路可视化脚本
- `run_light_path.py` - 运行基础版脚本的启动器
#### 增强版本
- `light_path_advanced.py` - 增强版 Blender 光路可视化脚本
- `run_light_path_advanced.py` - 运行增强版脚本的启动器
#### 其他工具
- `linemodel.py` - 使用 matplotlib 的 2D/3D 光路可视化脚本
## 功能特点
### 基础版本功能
- ✅ 3D 光路曲线可视化
- ✅ 不同颜色区分光路
- ✅ 发光材质效果
- ✅ 自动相机调整
- ✅ 导出 GLB 和 Blend 文件
- ✅ 渲染高质量图像
### 增强版本功能
- ✅ 所有基础版本功能
- ✅ 光路起点和终点标记(绿色/红色球体)
- ✅ 光路密度体积可视化
- ✅ 更高质量的光照和材质
- ✅ 更精确的相机控制
- ✅ 更丰富的渲染选项
## 使用方法
### 方法 1使用运行脚本推荐
#### 基础版本
```bash
python run_light_path.py
```
#### 增强版本
```bash
python run_light_path_advanced.py
```
### 方法 2直接在 Blender 中运行
1. 打开 Blender
2. 切换到 Scripting 工作区
3. 打开 `light_path_blender.py``light_path_advanced.py`
4. 点击运行脚本
### 方法 3命令行运行
```bash
blender --background --python light_path_blender.py
# 或
blender --background --python light_path_advanced.py
```
## 输出文件
### 基础版本输出
- `light_path_model.blend` - Blender 工程文件
- `light_path_model.glb` - Web 友好格式(可在浏览器中查看)
- `light_path_render.png` - 渲染图像
### 增强版本输出
- `light_path_advanced.blend` - Blender 工程文件
- `light_path_advanced.glb` - Web 友好格式
- `light_path_render.png` - 高质量渲染图像
## 系统要求
### 必需软件
- **Blender 3.0+** - 3D 建模和渲染软件
- 下载地址https://www.blender.org/download/
- **Python 3.7+** - 编程语言环境
### 推荐配置
- **操作系统**: Windows 10+, macOS 10.15+, Ubuntu 18.04+
- **内存**: 8GB+ RAM
- **显卡**: 支持 OpenGL 3.3+的显卡
- **存储**: 至少 2GB 可用空间
## 安装步骤
1. **安装 Blender**
```bash
# macOS (使用Homebrew)
brew install --cask blender
# Ubuntu/Debian
sudo apt update
sudo apt install blender
# Windows
# 从官网下载安装包
```
2. **验证安装**
```bash
blender --version
```
3. **运行脚本**
```bash
python run_light_path.py
```
## 故障排除
### 常见问题
#### 1. 找不到 Blender
```
❌ 错误未找到Blender安装
```
**解决方案**
- 确保 Blender 已正确安装
- 将 Blender 添加到系统 PATH
- 手动指定 Blender 路径
#### 2. 找不到数据文件
```
❌ 错误:未找到光路数据文件 miao_light_path_tsingtao.json
```
**解决方案**
- 确保数据文件在当前目录
- 检查文件名是否正确
#### 3. 渲染失败
```
❌ 渲染失败
```
**解决方案**
- 检查显卡驱动是否最新
- 降低渲染分辨率
- 使用 Eevee 渲染引擎替代 Cycles
#### 4. 内存不足
```
❌ 内存不足错误
```
**解决方案**
- 关闭其他应用程序
- 减少光路数量(修改脚本)
- 增加系统虚拟内存
### 性能优化
#### 提高渲染速度
1. 使用 Eevee 渲染引擎
2. 降低采样数量
3. 减少光路数量
4. 使用 GPU 渲染
#### 减少内存使用
1. 分批处理光路
2. 简化几何体
3. 优化材质设置
## 自定义配置
### 修改光路颜色
在脚本中修改 `base_colors` 列表:
```python
base_colors = [
(1.0, 0.2, 0.2, 1.0), # 红色
(0.2, 1.0, 0.2, 1.0), # 绿色
# 添加更多颜色...
]
```
### 调整光路粗细
修改 `thickness` 参数:
```python
obj = create_light_path_curve(path, f"light_path_{i}", thickness=0.05)
```
### 更改渲染质量
修改采样数量:
```python
scene.cycles.samples = 256 # 更高的采样数 = 更好的质量
```
## 技术细节
### 数据格式
光路数据采用 JSON 格式,结构如下:
```json
[
[
[x1, y1, z1],
[x2, y2, z2],
...
],
[
[x1, y1, z1],
[x2, y2, z2],
...
]
]
```
### 渲染引擎
- **Cycles**: 基于物理的渲染引擎,提供最真实的光照效果
- **Eevee**: 实时渲染引擎,速度更快但质量稍低
### 导出格式
- **GLB**: 二进制 GLTF 格式,适合 Web 展示
- **Blend**: Blender 原生格式,包含完整项目信息
## 许可证
本项目采用 MIT 许可证,详见 LICENSE 文件。
## 贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目!
## 联系方式
如有问题或建议,请通过以下方式联系:
- 提交 GitHub Issue
- 发送邮件至项目维护者
---
**注意**: 确保在运行脚本前备份重要文件,脚本会生成新的文件并可能覆盖同名文件。