OpticStudio如何模拟一颗闪耀的钻石

概述

这篇文章介绍了如何使用OpticStudio强大的非序列分析功能,模拟一颗钻石的光学特性。本文使用白光光源结合OpticStudio分析真实色彩的能力,展示了钻石的直观视觉效果。本文运用了一个非常巧妙的方法提高了光线追迹效率。在附件中提供的宏可以生成一个多边形物体(Polygon object)文件,该文件为本文所模拟的钻石模型。

本文附件请从以下链接下载:

http://customers.zemax.com/support/knowledgebase/Knowledgebase-Attachments/How-to-Simulate-the-Sparkle-of-a-Diamond/Round_brilliant.aspx

介绍

钻石的视觉表现包含多种不同的光学效应:反射、折射、散射和全反射。

下图为OpticStudio颜色探测器(Color Detector)对钻石的成像结果:

后文中提供了生成GIF动画素材的宏,有关GIF动画制作的详细信息请参考这篇文章:

http://customers.zemax.com/os/resources/learn/knowledgebase/how-do-i-create-presentation-quality-graphics-and

光源设置

这里我们使用椭圆光源(Source ellipse)生成一束略微发散的光束。为了有效模拟白光的光谱,这里我们不在系统设置中定义波长,而是在光源物体属性的光源选项卡中,选择光源颜色为”D65 White”。这将在光源上加载0.3μm到0.78μm之间的93个波长:

建模钻石

钻石最著名的形状叫做“Round brilliant-cut”,它是由Marcel Tolkowsky于1919年创造的。这种形状使钻石由一块石头变为闪耀的宝石,它由57个表面组成,在OpticStudio中我们可以用多边形物体对其进行建模。当多边形物体拥有较多的面时,比如这个例子,我们可以使用宏来更方便快捷的生成多边形物体文件。本文使用的宏请从前文链接下载,运行宏后钻石文件会在创建在Zemax根目录下Object\Polygon Object文件夹中。

在上图3D布局图中橘色线条为多边形物体。在非序列编辑器钻石物体之后插入环形体(Annular Volume),并设置环形体与钻石的外缘角重叠。在非序列模式下物体空间位置重叠部分的属性,由编辑器中序号靠后的物体决定。因此物体属性为空气的环形体会对钻石进行“边缘修剪”,将钻石的边缘变为完美的圆形。

光线收集系统

由于光线在钻石中发生许多方向的折射、反射以及散射,因此单独一个探测器只能接收到很小一部分入射进钻石的能量。为了使探测器收集到更多的光线,我们使用光线旋转器(Ray Rotator)来增加光线追迹的效率。

OpticStudio中的光线旋转器本来是用于太阳能收集系统中模拟太阳在一天中的移动。然而我们只需要稍加改动,就可以将其变成一个回射面(retro-reflector),以此来帮助我们收集所有钻石散射出去的光线,并使用一个探测器即可完成所有光线的收集。

首先,光线旋转器材料设为MIRROR,并将Z方向的旋转角设为180度。这样光线射倒旋转器后会反转方向,由于光路可逆,所有反射的光会经原路返回到光源处。因此,当光线从光源发射,且物体(钻石)被光线旋转器环绕时,光线的传播顺序如下:光源->物体->光线旋转器->物体->光源。

如果将探测器放置在光源之后,则所有从光源发出的光线都将会回到光源并被探测器接收。这种建模方法可以极大的提高光线追迹的效率。

一个材料属性为吸收的锥形管(ABSORBER)用来阻止光线不经过物体直接到达探测器。由于钻石为高折射率材料且光源为白光光源,钻石散射的光线经由探测器接收会得到五彩斑斓的表面,因此为了实际模拟这种彩色光斑,颜色探测器设置中的显示为应选择真彩(True Color)。

完整系统

钻石模拟的布局图如下所示:
红色部分为“相机”
钻石向周围散射光线
绿色物体为光线旋转器
黑色物体为材料为吸收的圆环,它用来提高钻石的成像效果
光源光谱为D65 White(太阳光)

模拟一共使用了4千万根分析光线,对于这样非常复杂的光路来说,8核处理器的电脑追迹完所有光线只需要5分钟。

通过追迹一系列不同角度的钻石图像,最终生成如文章开始所示GIF动画。使钻石旋转并生成一系列图像可以由宏来完成,其代码如下所示:

当然我们也可以改变光线旋转器的位置得到不一样的展示效果:

总结

这篇文章讲述了:
使用宏和多边形物体建模”Round Brilliant-cut”形状的钻石
建模包含97个波长的D65光源
使用光线旋转器回收被散射的光线以提高收集效率
使用颜色探测器的真彩选项展示我们实际看到的钻石的光斑
使用宏导出不同系统结构的分析图