3、光源模型:点光源、面光源、体光源、IES文件解析、Ray文件格式、光源光谱数据

光源模型,说白了就是我们在计算机里怎么描述「光从哪来、怎么走」。我刚开始做仿真时,总觉得随便选个光源类型就行,结果有一次项目验收时,甲方拿着实测数据一条条对,我才发现——光源模型选错了,后面全白干。

这一章,咱们把五种常见的光源模型和两种关键文件格式掰开揉碎讲清楚。

3.1 点光源:最基础的理想模型

点光源是最简单的模型。它假设光从一个点向所有方向均匀发射。你想想看,就像一颗灯泡悬浮在空中,没有灯罩、没有遮挡。

核心参数:

  • 位置 (x, y, z)
  • 光通量 (lm) 或 发光强度 (cd)
  • 衰减方式:平方反比、线性、常数

我在项目中遇到过一个问题:用点光源模拟LED射灯,结果照度分布完全对不上。后来才发现,射灯有配光曲线,点光源的均匀辐射假设根本不适用。

适用场景: 路灯(远距离近似)、环境光模拟、早期方案验证。

不适用场景: 有配光要求的灯具、近距离照明、需要精确光分布的场合。

3.2 面光源:从「点」到「面」的飞跃

面光源把发光体看作一个平面。每个小面元都在发光,方向、强度可以各不相同。这比点光源真实多了。

我记得第一次用面光源模拟办公室的平板灯,效果惊艳——墙面的渐变、桌面的阴影,都跟实测照片几乎一样。但代价是计算量翻了好几倍。

对比项 点光源 面光源
几何维度 0维(点) 2维(面)
发光方向 全向均匀 可定义配光
阴影质量 硬边阴影 软阴影(半影区)
计算开销 低 中~高

注意: 面光源的网格密度直接影响精度。网格太粗,会出现「块状」阴影;网格太细,内存会爆。我一般建议每平方米至少 100 个采样点起步。

3.3 体光源:模拟真实发光体

体光源更进一步——它把光源看作一个有体积的实体。比如荧光灯管、霓虹灯、LED灯丝。光从整个体积内部发出,经过自吸收、散射后才到达表面。

说实话,体光源在常规照明设计中用得不多。但在汽车尾灯、装饰照明、影视灯光这些领域,它是不可替代的。

我曾经帮一个车灯厂做仿真,他们用面光源模拟LED灯带,结果侧面看过去亮度不对。换成体光源后,灯带的「立体感」一下就出来了。

3.4 IES文件解析:灯具的「身份证」

IES文件是照明行业的通用格式。它记录了灯具在各个角度上的发光强度数据。说白了,就是灯具的「配光曲线」的数字版。

我见过太多新手直接拿IES文件往软件里一拖,看都不看参数。结果仿真出来的数据跟实测差30%以上。

IES文件核心字段:

  • TILT=NONE:灯具安装角度(无倾斜)
  • 1 1 1:光源数量、灯具数量、垂直角度数
  • 1.0 1.0 0.0:光通量、宽度、长度
  • 0.0 0.0 0.0:配光类型、单位类型、尺寸单位
  • 角度数据块:垂直角度、水平角度、对应光强值
// IES文件示例(简化)
IESNA:LM-63-2002
[TEST] LAB123
TILT=NONE
1 1 1
1.0 1.0 0.0
0.0 0.0 0.0
5 5
0 15 30 45 60  // 垂直角度
0 90 180 270 360  // 水平角度
1000 950 800 600 300  // 光强值 (cd)
950 900 750 550 250
800 750 600 400 200
600 550 400 250 100
300 250 200 100 50

避坑指南: 我曾经遇到一个IES文件,角度数据只有0°到90°,但灯具实际发光角度是120°。仿真结果在边缘区域完全失真。所以拿到IES文件后,第一件事就是检查角度范围是否完整。

3.5 Ray文件格式:光线追踪的「子弹」

Ray文件存储的是每条光线的起点、方向、能量、波长等信息。它就像子弹——每条光线都是一颗「光子子弹」,从光源射出,在场景中反弹、折射、最终到达接收面。

Ray文件通常由光源生成器产生,然后喂给光线追踪引擎。我常用的流程是:先用IES文件生成光源模型,再导出为Ray文件,最后用Ray文件做精确仿真。

字段 说明 示例
起点 光线发射位置 (x,y,z) 0.0 0.0 0.0
方向 单位向量 (dx,dy,dz) 0.0 0.0 1.0
能量 光通量或辐射通量 0.001
波长 纳米 (nm) 550

性能警告: 一个高精度仿真可能需要数百万甚至上亿条光线。Ray文件的大小会非常恐怖。我建议:

  • 先用少量光线(10万条)做快速预览
  • 确认没问题后再用大量光线(1000万条以上)做最终渲染
  • 使用二进制格式的Ray文件,比文本格式小5~10倍

3.6 光源光谱数据:颜色的「基因」

光谱数据决定了光源的颜色。它记录了每个波长上的相对能量分布。白炽灯是连续光谱,LED是离散光谱,荧光灯是线状光谱——这些差异在仿真中必须体现。

我记得有一次做博物馆照明仿真,甲方要求色温3000K、显色指数Ra>95。我用默认的「标准白炽灯」光谱,结果仿真出来的画作颜色偏黄。后来换成实际灯具的光谱数据,才匹配上。

光谱数据的关键指标:

  • 色温 (CCT):光源的冷暖感觉
  • 显色指数 (CRI/Ra):颜色还原能力
  • 光谱功率分布 (SPD):各波长能量分布
  • 主波长/峰值波长:光谱的「重心」
// 光谱数据示例(简化)
// 波长(nm)  相对能量
380         0.02
400         0.05
450         0.15
500         0.30
550         0.45
600         0.60
650         0.75
700         0.85
750         0.90
780         0.95

3.7 知识体系总览

下面这张图把本章的核心逻辑串起来了。你一看就明白:光源模型、文件格式、光谱数据,这三者是怎么配合的。

光源模型知识体系总览 光源模型知识体系总览 几何模型 文件格式 光谱数据 点光源 面光源 体光源 IES 文件(配光曲线) Ray 文件(光线数据) 光谱功率分布 (SPD) 色温 / 显色指数 三者关系 1. 几何模型决定「光从哪来」 2. 文件格式描述「光怎么分布」 3. 光谱数据定义「光是什么颜色」 三者缺一不可,共同构成完整的光源模型

嗯,这一章的内容就到这里。光源模型是照明仿真的地基——地基没打牢,上面盖的楼再漂亮也没用。下次你拿到一个新灯具,不妨先问问自己:它该用哪种模型?IES文件对不对?光谱数据准不准?