室内照明案例分享2—室内场景模拟

  • 19 July 2022
  • 2 replies
  • 110 views

Userlevel 3
Badge +1

本文介绍室内照明(天花板顶灯),在室内人眼所看到的情况的模拟示例。

上一篇文章中,我们创建了照亮房间的照明部分。

我们将从创建家具开始。

 

家具制作

使用Part Desginer功能创建房间家具。

下面是沙发的示例。 同样,创建(带电视支架)电视、窗帘、桌子和椅子。

各自创建膜层数据。

反射率可以自由设置。

下面是用于沙发的示例。

同样,创建多个膜层。

这里创建的膜层,分配如下。

 

Sofa       沙发和椅子的座位部分。

WOOD :桌子、椅子和电视支架。

Curtain :窗帘。

各波长对应的反射率如下图所示。

Sofa

WOOD

Curtain

对物体表面进行分组

分析选项卡的物体编辑器中打开物体。

将使用同一膜层的表面转换为同一面组。

通过为每个面组设置膜层属性,可以省去为每个表面设置的麻烦。

通过如上的设置,椅子的面0使用WOOD膜层,Lambertian 散射

 

模拟人眼在室内所见

人眼所见的模拟方法如下:

  • 使用镜头。
  • 使用RayRotator。

 

但是,如果使用透镜,由于景深较浅的缘故,整个房间因为离焦无法反射成清晰像。要实现模拟是困难的。 另外,使用 RayRotator 时,需要将光源放在相机内部,无法显示安装在室内的光源照亮室内的亮度情况。

 

因此,像针孔照相机那样景深深,光源可以放置在相机外部的方式进行模拟。

下图是非序列元件编辑器中的信息。

Object1:光源。    

Object2:通过(颜色)探测器探测图像。    

Object3:针孔相机的外壳。   

Object 4:0.2mm×0.2mm 物体。使用重点采样,因此十分重要。  

Object 5- 10 :房间四周的墙壁。

Object 12-16:设置的家具。

 

相机部分的设定如下所示。

物体2是探测器物体。

物体 4 设置为非常小的矩形。

 

然后,在重点采样中,光线指向该物体后汇集,并记录在探测器中。

 

只有通过物体4光线才能到物体3(物体3是相机外壳),为设置光线不直接进入探测器,物体3属性为吸收。

 

该方法与针孔相机原理相同,它就像在探测器上投射室内图像一样。

从物体 3 到探测器的距离会影响透视。 越短,透视就越突出。

在此示例中设置为 50mm,在此情况下,透视感自然。

物体4作为散射表面,设置重点采样。

这样,被照射的物体上散射的所有光线都可以指向物体 4

然而,这种情况下,墙壁和地板上反射的光不能再次照亮房间。

因此,我们将散射在墙壁和天花板上的光线分成两条。

两条中的一条定向到物体 4,剩下的一条不指定方向

这样的光线成为散射光,再次照亮房间。

在系统选项中将非序列设置进行更改。理由如下:

 

  • 到达探测器的光的能量很小,因此调整最小相对光强度。
  • 散射在房间的墙壁、物体上的光线很多,需要加以限制。

 

将光线的最大相交限制为 15 当来自光源的光与物体相交超过 15 次时,光线追迹将中断。

 

 

光源墙面墙面墙面墙面墙面墙面墙面墙面墙面墙面墙面墙面物体4→探测器

墙壁最多反射13 次。

 

由于墙面的反射率设置为 65%,因此强度比约为 (0.65) ^ 13 = 0.3%

也就是说,在该模拟中,对于到达探测器的光线,强度小于 0.3% 的那些光线将被忽略。

设置现已完成。

下图显示了来自光源的一根光线在房间内的传播。可以看到,其中一根被split到相机上,另一根在房间里散射。

光线数为 1 亿条,用于光线跟踪。

运行追迹的电脑规格

CPU11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz   2.50 GHz

RAM32.0 GB 光线追迹要2小时。

 

测试2 (OpticStudio 22.2)

CPU: 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz   2.50 GHz

RAM: 64.0 GB  光线追迹11.878 min

由于阈值的设置导致能量损失几乎不存在,我认为模拟还算准确。

检查探测器后,可以看到房间如何被天花板顶灯照亮。

电视和沙发下面有阴影,墙壁和地板的中心很亮。

我认为这与查看照度分布时是一样的。

 

此外,室内和家具定义了光谱反射率。 因此,也反映光源光谱的准确颜色表示。

 


2 replies

Userlevel 3
Badge +1

原文及附件链接:

 

Julia,

这篇文章提到的Ray Rotator好像没有在non sequential component editor出现。

Reply