A题 车灯线光源的最优设计
A题 车灯线光源的最优设计
摘 要
车灯线光源的设计具有很强的实际应用意义。该问题属于单目标规划中的非线性规划问题。本文通过已知条件求出了灯光焦点,以及任一条反射光线的空间解析表达式和对应屏上的坐标位置表达式。然后建立光子跟踪模型进行求解。光子跟踪模型的原理是把光线粒子化,及时跟踪光子的运行方向,最后以单位面积打到屏上的光子数来衡量光照度大小,进而反映光强度在屏上的分布规律。这是一种离散型处理方法,其本质是计算机模拟。这个模型中基于不同原理又提出了好几种算法:等间距光子跟踪算法,改进的等间距跟踪算法,等效立体角跟踪算法和随机方向跟踪算法。每一种算法的原理都不一样,层层递增,一步比一步深入,并分别作图进行比较。另外还结合边界条件讨论了线光源长度的临界值以及B、C两点光强随线光源长度变化的规律。在进一步讨论中,我们分析了光线直射到屏上时的情况,对二次反射的影响也做了分析,进而证明了问题的合理性。 本文我们得出的结论是:
满足功率最小时的灯丝长度为4.337mm,第二问的答案见下图,图的大概形状是一个心形。
关键词:光子跟踪模型 计算机模拟
一、问题重述与分析:
2
1、问题重述
车灯线光源的设计是一个非常实际的问题。已知车灯的形状为一旋转抛物面,其开口半径36毫米,深度21.6毫米。经过车灯的焦点,在与对称轴相垂直的水平方向,对称地放置一定长度的均匀分布的线光源。要求在某一设计规范标准下确定使光源功率最小的线光源长度(规范化要求略,见原题);并对得到的线光源长度,在有标尺的坐标系中画出测试屏上反射光的亮区和讨论该设计规范的合理性。
2、问题分析
显然在线光源单位长度光通量一定的情况时,要使光源功率最小,线光源的长度也应该较小。但线光源的长度太小了,有可能出现C点的光强度小于额定值;线光源的长度过大,虽然能同时满足B、C两点光强度的要求,但线光源的功率也增大了。我们的目的就是在B、C两点光强度满足题目要求的情况下,求出最小的线光源长度。
另外还要特别注意对“光强度”这一概念的理解,我们认为它和物理学上的“发光强度”是一致的。按光度学中的定义,发光强度是某一方向上单位立体角内所辐射的光通量大小。一般不是用肉眼可以观察到的,主要的测量仪器是前照灯检测仪(参看中国汽车检测网—前照灯检测)。其构件一般是采用具有把吸收的光能变成电流的光电池元件,按照前照灯主光轴照射光电池产生电流的比例,来测量前照灯的发光强度。由于本题中的光源不是点光源,直接求光强度比较困难,我们通过对光照度的测量来近似反映B、C两点光强度的大小。光照度是单位面积上所接受的光通量的大小,用来衡量被照明表面明暗程度的物理量。
二、 模型假设:
1、基本假设
(1) 光线通过车灯的前玻璃时能量无损失。
(2) 光线在抛物面进行一次反射时,能量考虑成无损失。 (3) 不考虑二次反射。
(4) 不考虑光的干涉和衍射现象。
(5) 截取线光源上很小的一段dl,可以看成是在空间呈均匀辐射的
点光源。于是线光源可以看成是无穷多个点光源的叠加。
(6) 不考虑线光源对反射光能量的阻挡和吸收,即是说线光源不考
虑厚度,反射光线可以毫无影响地穿过线光源区域。
2、 符号说明
h----------------车灯的深度,h=21.6mm
f---------------车灯的焦距 l----------------线光源的长度
Q---------------单位长度上线光源的光通量,一个点光源的光通
3
量可以近似记为Qdl
F
------------- 一个点光源的光通量大小F=Qdl ----------- 一个点光源的发光强度 ,
I
I
三、 模型建立及求解:
定理1:灯泡的焦距f=15mm
证明:我们以光轴的正方向为x轴,竖直 方向为z轴,水平方向(AC方向)为y轴,抛物面的顶点为原点建立空间直角坐标系。如图是抛物面在z=0时的函数图象,设函 数为y?2px 则焦距f=
2p ,由抛物线的定义MF?MN,得 221.6?2p?(21.6?p2p)??21.6 22 解得p=30,所以f=15mm。 #
因此曲面方程:
y?60x2,
x?[0,21.6]
作出的图象见右图。
该模型是一个单目标非线性规划问题
4
Min P(l)
?
其中K是某一要求的额定光强度,
EC?kEB?2kE ,EBC分别表示线光源在B,C两点的光强度
我们的目的就是求出满足P最小的
l
光子跟踪模型:
本题中线光源可以看成是许多个点光源的叠加,只有焦点处的那个点光源通过抛物面后的反射光线是平行光束。其它点光源的反射光线都不是平行光束,因此射到屏上的总光线分布比较复杂,难以求出解析表达式。但并不是无规律所寻,
ll给定了空间的一个点光源G(15,y1,0) ,(其中y?[?,] ),再给定抛物面
122T:y?z?60x (0?x?21.6)上的一任点P(x0,y0,z0),则反射光线就可
22以根据y1,x0,y0,z0这四个参数唯一确定了。下面我们就根据光的微观粒子性结
合反射光线的曲线分布建立光子跟踪模型。
这一模型的主要思想是把光能粒子化,及时纪录每一个“光子”的运动轨迹,判断最终到达屏上的具体位置。最后把每个小面积区域内的“光子”总数进行叠加,就得到了屏上光通量的分布图,进而求出光照度和光强度的分布。例如对于
ll点光源G(15,y1,0) ,(y?[?,] ),设其光通量为F,单位时间内辐射出的
122“光子”数为M(为提高精度,M可以取得大一些,如1000,000个),则每个光子所带能量为F/M(一秒钟内),且这些“光子”围绕G点在空间是均匀发射的。一部分“光子”通过灯泡外玻璃壳直接射出(这一部分能量非常小,我们在模型的进一步讨论中将继续讨论),绝大多数的“光子”通过抛物面反射一次后射出,还有可能出现“光子”在抛物面反射两次,在反射第二次时,我们设想该“光子”就被牢牢的地粘在了抛物面上(这种情况概率也很小,模型改进中将继续讨论)。
l通过把线光源选取一定步长dl做为一个点光源,可以得到N个点光源(N=[]),
dl我们把这N个点光源在屏上某一小区域内的光子数进行求和,就可以求得该小区域内的光照度值
5
ll我们先分析一下任一个点光源G(15,y1,0) ,(y?[?,])在抛物面上任
122一点P(x0,y0,z0)的反射曲线. 为了直观的理解我们在平面上做出了大致反射光线图,实际上这些点图并不是在一个平面上的(见图2)。G是点光源,P是反射点,E是G点关于过P点切平面的镜面对称点,PN是反射方向。
由空间解析几何的知识,我们不难得出E点坐标:
x21523600x060y02120y0y14z0260z36004y0221800y0
y2y1 3600y14y0z024z024z4y1z120x0y04y033600
z221800z0120x0z04y02 4y02z04y0y1z0
进而由反射光线PN和屏面方程x=25015可以求出反射光线打在屏上的坐标K(x3,y3,z3),由
Mathematica计算结果见下表。公式较长,但我们在用计算机进行模拟时需要用
6
36004y024z02 到
y325015y0y121800y0y0z015y0x0y02y11800y0y0z0215x02120x0y04y034y1z0236003600y144y024z02,x01522120x0y04y034y1z023600y144y0236004z023600x060y02360023600x0120y0y160z024z02120y0y14z0260z024y0260y02x036004y023600x060y023600120y0y160z024z024y0225015z3z015x0221800z0120x0z04y02z04y0y1z04z0336004y024z0223600x060y02120y0y160z0236004y024z02z0x015x03600x060y023600120y0y160z024z024y02z021800z0120x0z04y02z0360060y024y024y0y14z02,z04z0315x0x32501523600x0120y0y160z024z0236004y02
数据采样:
下面我们就给出具体做法,首先要进行数据采样,即是说给定一个点光源G,
7
让它遍历抛物面上的所有点。我们遍历的参数是θ和r (r?[0,36],θ∈[0,360degree])。 其中r是抛物面上的一点到x轴的垂直距离,垂心为xr
??r?x??60????θ是以xr为圆心,r为半径上的圆转过的角度。则抛物面方程化为?y?rcos??
?z?rsin????????(如图3)
2
当我们的θ,r定了时,抛物面上一点也定了。θ,r分别变动很小的
时,光线将在抛物面上扫出一个小面积dS1, 这个面积非常小,我们d可以近似的认为是一个小平面,光线照射就可以看成是镜面反射。我们设想有一
个虚拟光源G’, G’ 是G关于dS1的镜面对称点.则从G点反射出的光线完全可以等效看成是从G’点直射出的光。设G’点通过dS1射到屏上的面积为dS2,由光度学的知识可以得到dS2上的光照度
EdFdS2Ic 其中dF是点光源G在dS1面上的光通量,d是G’到dS2的距离,是从G’射出光线与x轴的夹角。给定点光源G,给定θ,r和 置和照度就唯一确定了。
8
时,光线在屏上的位d
下面我们就建立算法来实现遍历过程。
1、 等间距光子跟踪算法
step 1 选定点光源步长dl,确定点光源个数N=[l],每个点光源1秒内通过的光dl子数为设为M=100000,
step 2 将吸收屏均匀分割成面积为ds许多小正方形,记下位置和编号 step 3 选定
,d分别确定θ和r的遍历次数,
N1,
N22,每
次遍历对应的dS1通过的光子数记为相同
step 4 for(I=1;I<=N;I++)
for(j=1;j<=N1;j++) for(k=1;k<=N2;k++)
{ 计算打到屏上的光子位置,累加每个小正方形上光子数, } step 5 是否完毕,返回
根据上述算法我们利用所得离散数据作出了光线在屏上分布的形状图,
上图是线光源长度等于6mm时做出的图,由图可以看出反射光线在屏上的形状是心型。其它长度作出图的形状也大致呈心型,只有处在焦点处的那个点光源在屏上的光照度是大致呈圆形分布的(即是说线光源非常短,浓缩到一点
9
的极端情况,l≈0mm)(见图6)。这和实际情况也是比较符合的,而且可以看出光照度的分布规律是中间大(非常大),周围小 。
但算法1有严重的理论不足之处,它只能反映反射光线在屏上的形状,而不能很好的反映在屏上的照度变化情况。出现这一情况的原因是在进行步长遍历时,把每一次对应的dS1上通过的光子数考虑是一样的了,实际上是不相同的。另外由于光屏离的很远(相对于抛物面的大小来说),在抛物面上的dS1很小,但发散到屏上时的光斑dS2可能比较大,如果还把它看成一个质点来处理也是不合理的。光子从点光源向空间各个方向是均匀发射的,我们应该以通过等光子数的小单元进行遍历。这在以点光源为中心的球坐标上可以等角度遍历,但反映到以
进行遍历时,通过相同光子数对应d应该是变步d长的,为了便于操作,我们仍然实行等步长遍历,只是对于每一步的光照度我们定义了一个权,这个权值的大小和θ,r是有关系的,而且由于第二个原
10