放置物体(Object Placement)
非序列模式元件编辑器(NSC Editor)支持规范放置物体。 在非序列模式元件组件中放置物体的规约和限制至关重要。物体可以放置在三维空间的任何位置,并且可以相对于任何其它物体位置进行放置,还可以将整个物体放置在其它物体内部,或与其它物体相邻。
有关不同物体类型的更多信息,请参阅非序列模式物体(Non-Sequential Objects)、非序列模式光源(Non-Sequentail Sources)和非序列模式探测器(Non-Sequential Detectors)部分。
坐标系
每个物体的位置由6个参数定义:x、y、z坐标,以及物体关于x轴、y轴和z轴的旋转。OpticStudio首先在x、y、z轴上偏心(由于偏心正交,因此前后次序对其没有影响),然后OpticStudio沿局部x轴旋转(这样使y轴和z轴旋转至新的方向),然后沿新的y轴旋转(这样使x轴和z轴发生旋转),最后沿新的z轴旋转。这与顺序标记为0的坐标断点面规约一致。从物体局部坐标向全局坐标的转换可以用下面的方程式来表示:,
其中下标g表示全局坐标,o为偏移量,l为物体局部坐标。矩阵R为旋转矩阵,它联系着局部与全局坐标的定位。这些方程式可以简洁的表示为G = O + RL,其中G为全局坐标矢量,O为偏移矢量,R为旋转矩阵,L为局部坐标矢量。有关旋转矩阵的更多信息,请参阅"全局坐标参考面(Global Coordinate Reference Surface)",也可以逆转旋转顺序,请参阅"物体属性(Object Properties)"的"类型部分(Type section)"下的"使用全局XYZ旋转顺序(Use Global XYZ Rotation Order)"。
参考物体
通常,一个物体的位置和旋转以另一个物体作为参考是非常有用的。尤其当物体放置在某个物体组中,然后偏心或倾斜整个物体组时非常有用。
坐标所参考的物体称为"参考物体(reference object)"。默认的参考物体是物体0,即非序列模式组件表面的顶点。如果指定参考物体为编号大于零的正数,则物体的坐标以指定物体的位置和旋转作为参考。这是"绝对(absolute)"参考物体。
如果参考物体的编号是负数,则参考物体将通过当前物体编号加到负的参考物体编号上确定。这是"相对(relative)"参考物体。例如,如果物体8的参考物体是-3,则参考物体为5,因为8 - 3 = 5。相对参考物体在复制和粘贴物体组时非常有用。如果组中的所有物体都是相对于组内第一个物体的相对参考,这是最容易的。
当使用参考物体时,旋转和偏移矩阵将变成:
G' = O' + R'G
G' = O' + R'[O + RL]
G' = [O' + R'O] + [R'R]L
系统支持任意数量的坐标参考嵌套,所以物体9可以放在物体5的坐标系中,且物体5放在物体3的坐标系中。唯一的限制是在物体列表中,参考物体必须位于参考它的物体的前面。要修改参考物体,不需要手动重新计算物体的坐标和角度,请参阅"修改参考物体(Modify Reference Objects)"。
放置在内部、相邻、叠加
在"将光源放置在物体内部(Placing sources inside objects)"部分介绍了将光源放置在其它物体内部,以及使用"内部(Inside Of)"列的绝对值和相对值。
通过将某个物体放置到另一个物体内部、与其相邻或与其重叠,从而形成更复杂的物体。这种复杂物体的光线追迹属性取决于各个物体的位置和类型,以及他们之间是否接触或重叠。此处所说的接触是指在三维空间中一个物体的边界表面上的一个或多个点在三维空间的位置与另一个物体边界表面上的点相同。镜面物体可以随意放置,甚至可以与其它物体部分接触或完全置于其它物体内部,而不受任何限制。光线通常经过镜面反射后,再返回到光线先前所经过的任何介质。
用镜头单位表示的胶合距离
当两个非序列模式物体接触时,例如一个透镜与一个棱镜的某个表面接触,数值舍入误差将会使光线追迹算法探测到两个物体之间有微小距离。当物体在三维空间中旋转并且由于在电子表格编辑器中输入了有限数位的数值使得彼此靠的很近时,此种情况也会发生。
胶合距离是物体之间可视为相互接触的距离。重要的是如果物体间距与胶合距离太接近,物体就不会被视为分开。如果有意要将两个物体接触,则物体之间的最大间隔必须比胶合距离小很多倍。如果有意要将物体分开,则物体之间的间隔要比胶合距离大很多倍。物体之间的间隔接近于胶合距离时,会产生不一致的光线追迹或者几何错误。这需要通过调整物体间隔或者胶合距离来避免。
胶合距离也决定了光线追迹的最小传播长度。如果光线与物体的交点与前一个交点的距离小于胶合距离,则忽略这一交点。
胶合距离也用于与一般曲面相关的光线追迹的公差。OpticStudio将会进行迭代,直到光线与表面截距解的误差小于胶合距离的五分之一。
大部分情况下,不需要对胶合距离进行调整。胶合距离不得小于1.0E-10且不能大于1.0E-03。
嵌套物体限制
最大嵌套物体数限制可以通过用户自定义。此选项定义了物体之间相互内置的上限数。例如,如果可嵌套物体最大数为3,则表示物体3可以放置于物体2内部,且物体2同时置于物体1内部。可存在任意数量的物体组,每组嵌套3层物体。这个上限适用于任何物体集合中的总嵌套,但是在非序列模式组中可能有任意多组这样的集合。嵌套物体的最大数在"系统选项(System Explorer)"的"非序列模式部分(Non-Sequential section)"中设置。尽管最小设置为4,但是不要将嵌套物体设置的比系统模拟所需数量大,会占用很多内存。
嵌套物体
由于OpticStudio必须记录光线所经过材料的折射率,所以折射材料的物体就更为复杂。简单的规则是:如果光线在空间内同一点入射多个物体,非序列模式元件编辑器列表中的最后一个物体决定该点所在的表面或材料属性。
如果光线在空间内同一点入射多个物体,非序列模式元件编辑器列表中的最后一个物体决定该点所在的表面或材料属性。
例如,如果一个衍射光栅透镜定义为物体1,而另一个由玻璃或空气制成具有相同厚度或半径的非衍射光栅透镜的物体2,置于物体1中;则入射物体1和物体2所在区域的光线就会表现为只入射物体2。
这就允许定义带有"孔(holes)"的物体或其它复合型物体。物体之间可以有一个或者多个的相交面、嵌套或者不嵌套、或部分重叠,以创建各种复合实体形状。

嵌套面
上面所定义的嵌套规则适用于折射或反射材料组成的实体。当有多个表面在空间中同一点存在时,一些特定的面也会产生"嵌套(nested)"。表面嵌套的规则与实体嵌套规则相似,但是表面不能折射。
实体嵌套的规则同样适用于实体表面嵌套:如果光线在空间中同一点入射多个物体,则非序列模式元件编辑器列表的最后一个物体将决定该点所在表面或材料的属性。
如果光线在空间中同一点入射多个物体,则非序列模式元件编辑器列表的最后一个物体将决定该点所在表面或材料的属性。
对于表面而言,当在光线交点处有多个表面时,需要考虑以下规则:
- 列表中的最后一个表面决定表面的属性。
- 如果列表中最后一个表面为镜面,则光线将反射。
- 如果列表中最后一个表面为吸收面,则光线将被吸收。
- 如果列表中最后一个表面既不是镜面也不是吸收面,则光线将忽略该表面。
- 表面物体不能与立体物体具有共同的边界,除非该表面物体是反射型或吸收型,或者除非立体物体位于表面物体后面。在这种情况下,立体物体定义了共同边界的属性。
- 仅标准表面物体可以有共同的边界,在将来的版本中,可能会加入支持其它表面类型的表面物体嵌套功能。
下一部分: