Lighttools光学仿真:矩形阵列与条形光源联合照明设计 📅 发布时间:2026/9/15 20:40:47 👁 浏览次数: 1. 项目概述前阵子一直在折腾Lighttools 8.4.0的光学仿真起因是想验证一个实际照明方案在一个矩形工作台面上同时用条形光源做主照明再用矩形阵列光源做局部补光最后看合成后的照度分布是否均匀。这个项目说复杂不复杂但把两种光源放在同一个模型中做联合仿真还是有不少细节需要注意的。我前前后后花了两个晚上总算把整个流程跑通也踩了好几个坑今天就把完整的学习体会写出来给正准备上手Lighttools的朋友做一个参考。这篇博文适合两类人看一类是刚开始学Lighttools、对光源建模还没什么概念的初学者另一类是已经会用单颗光源做仿真、但对阵列光源和条形光源的组合建模还不太熟悉的朋友。文章不会停留在概念层面我会把实际操作过程、参数设置逻辑、仿真分析的思路以及我踩过的坑都完整写出来。2. 模型搭建前的核心思路与方案选型2.1 为什么选择Lighttools 8.4.0做光学仿真可选的工具不少Zemax、TracePro、Lighttools都是常用软件。这次我选Lighttools 8.4.0主要是看中它在照明系统设计上的优势Lighttools对光源建模的灵活度高尤其是阵列光源这类重复性结构操作起来非常顺手同时它的照度图、亮度图等分析工具比较成熟能直接输出工程上需要的数据。Lighttools 8.4.0的界面布局和主流三维建模软件类似包含了系统树、视图窗口、属性面板等模块。如果是第一次打开软件的人建议先花点时间熟悉它的导航结构特别是“光源”相关的工具条位置因为这次项目里所有关键操作都集中在这里。8.4.0这个版本稳定性还可以我实际跑了几十万条光线也没有出现崩溃的情况。2.2 矩形阵列光源和条形光源在项目中扮演的角色这个项目里两种光源的分工是不同的。矩形阵列光源在Lighttools里指的并不是一颗灯而是多个相同的光源单元按行列规则排布的一个整体。它的特点是可以快速生成“面阵”效果常用于模拟LED点阵、均匀面光源阵列等场景。在这个项目中矩形阵列光源用来模拟局部区域的多点补光铺在台面的两侧位置。条形光源则是一条呈线状发光的光源它的特点是发光面细长能在较短距离内形成一条连续的光带。条形光源在项目中模拟的任务是主照明安装在台面上方居中的位置用来提供基础亮度。之所以要把两种光源放在同一个系统里仿真是因为实际方案中它们会同时工作条形光源保证整体亮度阵列光源补充两侧暗区。如果分开单独仿真就没办法评估这种互补关系所以必须放在同一个模型中联合追迹。2.3 方案选型时的几个考量在动手建模之前我给自己定了几条选型原则第一条光源类型统一用“表面发光体”来定义不直接用外部光源文件。原因是这次模拟的是理想化情况重点考察两种光源的光照叠加效果不需要太纠结具体的光源光谱和角度分布。用软件自带的发光体模型可以有效减少变量方便分析问题。第二条接收面用一个矩形平面模拟放在台面位置按实际尺寸建模。接收面的属性设置为“照度计”用来采集照度分布数据。照度计的网格分辨率我选得比较高这样可以获得更细腻的照度云图。第三条追迹光线数量先设置成一个适中的数值比如20万条先把整体趋势跑出来如果均匀度数据不够平滑再逐步提高光线数量。3. 关键概念解析与参数设置3.1 矩形阵列光源的参数逻辑在Lighttools 8.4.0中创建矩形阵列光源时有一个地方很容易理解偏就是“阵列”和“光强”的关系。矩形阵列光源本质上是一个光源单元在x和y方向上重复排列每个单元都可以独立设置发光强度和发光角度阵列本身不提供额外的光强增益它只是改变了光的空间分布。我在这次项目中设置的矩形阵列光源具体参数大致是这样光源单元类型朗伯型表面发光体光源单元尺寸长20毫米、宽20毫米阵列行数3行阵列列数3列阵列间距x方向30毫米、y方向30毫米总出射光通量600流明发光方向沿本地坐标系的z轴正方向这里有个参数选择上的考量朗伯型发光体是最理想化的漫射光源它在各个方向上的亮度相同适合做基础仿真分析。阵列间距选择30毫米是为了让单元与单元之间有一定的间隔避免光源单元靠得太近导致照度叠加过于集中同时这个间距又不太大保证整个阵列能覆盖足够的区域。3.2 条形光源的参数逻辑条形光源在Lighttools里的建模方式和矩形阵列光源差异很大。条形光源的关键参数是发光面的长度、宽度以及发光角度分布。这次项目里的条形光源参数光源类型朗伯型表面发光体发光面长度300毫米发光面宽度20毫米总出射光通量900流明发光方向朝向接收面条形光源的发光面包裹在光源几何模型中建模时要注意它的“发光面”只能设置在朝下的那一面否则光线会朝四面八方乱射导致仿真结果完全偏离预期。这一点在Lighttools中通常靠设置光源的“后向散射”和“前向发射”属性来控制。3.3 接收面与光学属性的设置接收面在Lighttools中通常被简化为一个几乎没有厚度的矩形表面并设置成照度计属性。接收面参数宽度600毫米高度400毫米网格分辨率100x100距离光源高度300毫米这个接收面用来模拟工作台平面照度计的网格分辨率越高输出的云图细节越多但计算时间也会增加。100x100的分辨率在两颗光源联合仿真中算是一个平衡点既能看清宏观的分布趋势又不会让计算时间拖得太久。3.4 参数选择背后的原理补充这里补充一点理论基础。朗伯型发光体遵守朗伯余弦定律即辐射亮度在所有方向上恒定辐射强度按照余弦规律分布。在照明设计中朗伯型光源是最常见的一种理想模型很多漫射板、扩散板的光学特性都趋近于朗伯型所以用这个模型做初期的方案验证是完全够用的。矩形阵列光源和条形光源同时工作时台面上某一点的照度值等于两颗光源单独贡献之和这遵循光线的独立传播原理。也就是说在仿真中即使两颗光源的光线混在一起Lighttools也能将它们分别追踪最后叠加得到合成照度图。这个特点意味着我们可以分别关掉其中一颗光源单独查看各自的贡献再对比合成效果定位不均匀的问题源。4. 实操过程从建模到追迹的完整记录4.1 新建模型并设置系统单位打开Lighttools 8.4.0之后我做的第一件事是新建一个空白系统然后在“系统选项”里把单位设置为毫米。这一步千万别偷懒如果没有一开始就设置好单位后面建模时所有尺寸都得换算非常容易出错。单位设置好之后建议立刻把模型保存为一个带版本号的名称比如“光效验证_矩形阵列加条形_v01.lts”。Lighttools虽然崩溃不频繁但光学仿真计算量一大还是可能出现卡死的情况及时保存能救你一命。4.2 创建条形光源条形光源的建模我放在了第一步。在Lighttools的工具条中找到“光源”菜单选择“新光源”然后在光源类型中选择“表面发光体”。接下来按照前面提到的参数在属性面板中设置发光面长度、宽度和总光通量。这里说一个实操中很容易遇到的问题光源的发光面方向。默认情况下新建的表面发光体可能是朝上发光的如果你没有调整方向光线会全部打到天花板上接收面上什么都收不到。我的解决办法是先把光源旋转到合适的角度确保发光面朝下再用一个小尺寸的临时接收面试跑一次追迹确认光线的方向正确后再做后续操作。4.3 创建矩形阵列光源创建矩形阵列光源的步骤稍复杂一些。首先创建一个单颗LED光源单元设置好它的光通量和发光类型接着在光源属性面板中找到“阵列”选项把阵列类型设置为“矩形阵列”然后依次输入行数、列数、行间距和列间距。我最初在创建阵列光源时犯了一个错误我先画了一个大的矩形面想通过“面光源”的方式直接得到一个3x3阵列效果结果发现这个光源只是一个均匀发光的大面并不是我想要的点阵效果。后来我重新建了一个小的光源单元再用阵列功能去复制很快就得到了正确的点阵排列。这里要特别提一个细节矩形阵列的坐标原点。阵列光源的排列通常以当前光源单元的坐标位置为基准默认情况下阵列是以该单元为中心向两侧展开的。如果你希望阵列的整体中心对齐到某个位置需要先调整好光源单元在世界坐标系中的位置再来设置阵列参数。4.4 创建接收面并设置属性接收面我使用了一个标准的矩形块厚度设置得很薄相当于一个平面。将这个块的顶部表面设置为“照度计”属性后Lighttools就会在追迹过程中采集这个面上的照度数据。接收面的位置也非常关键。在这个项目中接收面被放置在光源下方300毫米处这个高度是基于实际工作场景估算的条形光源和阵列光源距离台面的距离都差不多在这个范围这样两种光源在接收面上的照度分量才具有可比性。4.5 运行光线追迹光线追迹是整个仿真流程的临门一脚。在Lighttools中点击“追迹光线”按钮后会弹出追迹参数设置窗口这里需要设置的关键参数有两个光线数量和随机数种子。光线数量决定了仿真结果的平滑度。光线少了照度云图会出现明显的颗粒感数据不稳定光线多了计算时间成倍增加。我这次先用10万条试跑了一次发现云图边缘有明显噪点于是把数量提高到20万条效果好了很多计算时间也在可接受范围内。随机数种子这个参数经常被忽略但它的作用其实很大。当你在做对比实验时如果每次追迹的随机数种子都不同那两次结果之间的差异就包含了随机误差。固定随机数种子可以确保每次追迹的光线发射位置一致这样对比两颗光源各自的效果时结果更加可信。4.6 追迹后的第一眼看什么追迹完成后Lighttools会自动打开照度图分析窗口。这里我建议先不要着急看具体数值先看整体云图的颜色分布形状判断照度分布是否符合预期条形光源主照明区域是不是在台面正中形成了一条高照度带阵列光源补光区域有没有在两侧形成亮斑两者叠加后有没有明显的暗区或者过亮区看完云图后再打开网格数据面板查看每个网格点的具体照度值。这个数据面板把整个接收面分成数千个小网格每个网格都有一个照度数值是后面计算均匀度的重要依据。5. 仿真结果分析与数据解读5.1 合成照度分布的核心趋势通过合成照度图我看到台面中心区域有一条明显的高亮带这是条形光源的直接贡献区高亮带两侧则分布着四个亮度稍低但相对均匀的区域这是阵列光源铺出来的效果。整体上看中心区域的照度最高边缘部分次之四角位置照度明显下降。这个结果完全符合预期但也暴露了一个问题条形光源和阵列光源之间还存在一条肉眼可见的分界带也就是条形光源的边缘和阵列光源边缘之间的区域这里的照度明显低于两侧。这说明补光方案还有优化空间要么增加阵列光源的行列数要么把阵列光源的位置向中心靠拢一点。5.2 均匀度计算与评价在照明设计中照度均匀度通常用最小照度与平均照度的比值来评价。数值越接近1说明照度分布越均匀视觉感受越好。我从Lighttools的网格数据中导出各个网格的照度值通过统计计算得到最大照度约为1520勒克斯最小照度约为430勒克斯平均照度约为890勒克斯以此计算均匀度为430除以890结果约为0.48。这个数值在一般工作照明中是达标的但对某些要求较高的视觉检测场景来说还远远不够。如果想让均匀度提升到0.7以上就需要重新调整光源布局例如增加边缘补光的强度、调整光源的倾角、或者加装扩散板来柔化光斑边界。5.3 单光源单独追迹的对比价值我在仿真中还做了一步额外的验证分别关闭条形光源和阵列光源单独追迹每一颗光源的照度分布再和合成结果对比。这一步非常有用能清晰看清两颗光源各自的贡献和局限。单独追迹条形光源时照度云图呈长条状在垂直于条形方向的边缘处衰减非常快大约在距离中心线150毫米的位置照度就降到了中心值的30%左右。单独追迹阵列光源时照度云图呈现明显的9个光斑每个光斑中心亮四周暗光斑之间的区域照度较低。这个对比结果说明这个方案里条形光源决定了整体照度的基调而阵列光源决定了局部均匀性的上限。如果后续优化可以考虑把阵列光源的光斑间距缩小、增加单元数量这样可以缩小光斑之间的暗区。6. 常见问题与规避方法6.1 光线方向反向导致接收面数据为零这个问题我一开始就遇到了。新建条形光源后追迹完成时接收面数据完全为0当时还以为是接收面属性没设置好查了半天才发现是光源发光面朝向不对。Lighttools默认的光源法线方向是朝上的而我的接收面在光源下方光线全打上天花板了。解决方法是在光源属性中将“发射方向”反转或者在三维视图中将光源旋转180度。建议每次建立新光源后先在视图窗口中用带箭头的辐射指示图标确认光线方向再往下做。6.2 阵列光源总光通量与单元光通量的关系在设置矩形阵列光源时Lighttools有两种光通量设置方式一种是设置每个单元的光通量另一种是设置整个阵列的总光通量。如果你设置的是总光通量软件会自动把它平均分配到每个光源单元上所以阵列单元数越多单个单元的亮度就越低。这次项目里我选择的是“总光通量600流明”3x3阵列下每个单元约为66.7流明。如果你希望每个单元保持一定亮度就要用“单元光通量”的方式设置。两种方式的物理意义不同应用场景也不同做方案对比时一定要注意统一。6.3 网格分辨率与计算时间的平衡接收面的网格分辨率越高云图细节越丰富但追迹时间和内存占用也会同步上升。如果用100x100的分辨率还不满意可以提高到200x200但此时建议把光线数量也同步提高否则高分辨率网格会出现大量空白网格或者数据跳变。我这次先用的是50x50的低分辨率做快速预览确认光源位置和方向都正确之后再切成100x100做正式追迹。这种“先粗后细”的做法能有效节省调试时间。6.4 “照度均匀但亮度不均”的迷惑现象在查看照度图时我发现一个有意思的现象照度云图看起来很均匀但接收面的亮度分布却并不均匀。这是因为照度表示的是单位面积上接收到的光通量而亮度还和接收面的材质反射特性有关。如果接收面被设置了非理想的漫反射属性即使照度完全一致从不同方向观察到的亮度也可能不同。所以在做光学仿真时先明确自己要分析的是照度还是亮度。这两个概念在不同场景下各有用途不能搞混。7. 实操心得与后续优化方向7.1 对参数化建模的一点体会通过这个项目我最大的收获是意识到光源参数化建模的价值。在Lighttools里只需要修改阵列光源的行列数或者条形光源的尺寸重新追迹一遍就能快速验证新的光效方案完全不用重新画模型。这个特性在方案迭代阶段特别有用可以大幅度缩短优化周期。我建议在正式做仿真前先把所有关键参数记录在一个表格里包括尺寸、光通量、间距、高度、网格分辨率等。这样每次修改参数之后只需要对照表格检查变更项就不会因为参数漏改导致结果对不上。7.2 后续优化方向这个项目目前只是一个基础验证后续可以考虑的方向还有不少给条形光源加一层扩散板观察照度均匀度能否提升把矩形阵列光源改成圆形阵列或者蜂窝阵列对比哪种排列方式在相同光通量下均匀度更高给接收面增加一个反射属性模拟带桌面反射的真实工作环境将两颗光源的色温分别设置为不同的值观察混合光斑的颜色均匀性。光学仿真是一件需要耐心打磨的事情每一次参数调整带来的变化都可能让你更深入地理解光线的行为。希望这篇学习体会能给你带来一些参考价值少走一些我走过的弯路。