美文网首页
zemax 定义多边形物体 POB

zemax 定义多边形物体 POB

作者: Kerwin_H | 来源:发表于2019-04-19 16:35 被阅读0次

    zemax学习笔记:

    多边形物体是用户定义吻体,它由 3 维空间的三角形集合组成。该物体是通过一个简单的文本文件定义的,扩展名为 POB(对于多边形物体)。如果需要的话,多边形上的每个表面或每一组表面都可以有相同的面序号。

    形成封闭空间的多边形物体必须不包括任何内部面。每一个面必须位于物体的外部,来定义体的外部和内部的边界。要得到一个拥有胶合边界的物体,例如分光镜,使用两个或多个独立的多边形物体然后将它们关联放置。

    文件格式可以通过一个文字编辑器来创建并编辑。该文件包括一系列的数据行。每行由一个字母或符号开头,后面跟着数据。系统所支持的符号以及它们的意义如下所示:

    注释符号 :! ( The comment symbol: ! )

    符号“!”用于定义一个注释行:

    语法:

    !注释语句

    例:

    ! A dove prism

    可以用 C 命令定义的面的名称:

    面名称符号 :C ( The face name symbol: C )

    语法:

    C 面序号 “任意名称”

    例:

    C 0 “All faces”

    面名称用于在物体对话框中的显示物体各个面的名称。注意名称必须处于引号之内。该命令是可选的。

    连接顶点的线,如果不需要画出来(如位于在同一平面之间的两相邻三角形之间的线),就可以标志为不可见。为了将两个顶点标记为不可见,可以在符号“I”后面加上这两个顶点的序号。任何与被标志的顶点相连接的线将不会画出。

    不可见符号 :I ( The invisible symbol: I )

    这只会影响 3D 视图,并且严格而言,该功能对画多边形物体起一个修饰作用。

    语法 :

    I V1 V2 (其中 Vl,V2 为顶点坐标)

    例:

    I 7 9

    注意,顶点序号必须为整数。并且在数值之间用空格隔开。命令“I”必须在任何参考不可见顶点的三角形或矩形之前。

    通过在符号“V”后面加上顶点序号以及顶点的 x,y 和 Z 坐标来定义顶点。

    顶点符号: V ( The vertex symbol: V )

    语法:

    V 序号 x y z

    例:

    V 1 -1.0 -1.0 0.0

    注意,顶点序号必须是一个整数,并且 x,y 和 2 坐标是浮点数。这些数之间用空格隔开。

    通过连接三个顶点来定义三角形。

    三角形符号: T ( The triangle symbol: T )

    语法:

    T 顶点 l 顶点 2 顶点 3 isreflective 面

    顶点序号必须是整数,且顶点必须是文件中先前定义的顶点。如果三角形是形成一个封闭体的物体的一部分,顶点就要排序使得顶点1和顶点2之间的矢量与顶点1和顶点3之间的矢量乘积,指向体的“出口(out)”。

    标志“isreflective”为-1表示表面吸收,1表示表面反射,0表示表面折射。注意,使用该标志可以在同一个多边形物体中使三角形反射,而其它的三角形为折射或吸收。但是,isreflective标志在布尔运算产生的多边形物体中不需要考虑。

    用于面的值定义三角形属于哪个面。如果忽略面序号标志,则默认为 0。

    例如:

    T l 2 3 0 2

    这定义了连接顶点 1、2 和 3 属于面 2 的三角形。

    矩形通过 4 个顶点连接来定义,除此之外,它与三角形很相似。在系统内部,ZEMAX 可以将矩形转换成 2 个三角形:

    矩形符号: R ( The rectangle symbol: R )

    语法:

    R 顶点 1 顶点 2 顶点 3 顶点 4 isreflective face

    顶点序号必须为整数,顶点必须是以前文件中定义过的顶点。顶点的次序不能任意,它们必须以顺时针方向或逆时针方向排列,而不能按照“蝶型连接”的序列。并不是所有的四顶点多边形都能形成一个简单的矩形,对于更复杂的形状,需要用到多重三角形命令。如果矩形是形成一个封闭体的物体的一部分,顶点就要排序使得顶点1和顶点2之间的矢量与顶点1和顶点3之间的矢量乘积,指向体的“出口(out)”。

    “isreflective”标志为-1表示表面为吸收,1表示为表面反射,0表示为表面折射。使用这个标志,可以在相同的多边形物体或面中,使矩形是反射的,而其它的矩形是折射或吸收。但是,isreflective标志在布尔运算产生的多边形物体中不需要考虑。

    用于面的值定义三角形属于哪个面。如果忽略面序号标志,则默认为0。

    例:

    R 1 2 3 4 1 0

    该例定义了一个由顶点 1、2、3 和 4 连接而成的反射矩形,属于面 0。

    多边形物体中的最大三角形( Maximum triangles in the polygon object )

    对于一个多边物体中所包含的三角形数目,没有固定的上限。根本的限制取决于计算机所能得到的真实或虚拟的 RAM。每一个三角形大约占内存中的 100 个字符。但是,ZEMAX 同时需要维持大量的透镜数据的拷贝,所以一个好的经验方法是对于每一个三角形,ZEMAX 需要占用 RAM 中的 500 个字节。一个包含 2000 个三角形的物体将需要 RAM 中的 1Mb 空间。还有一个更为实际的限制是计算机的速度;如果三角形数目变的很大,ZEMAX 的速度将会明显减慢。

    POB 文件示例( Example POB file )

    以下有一个完整的 POB 文件文件定义了一个曲折射材料组成的立方体。该文件被包含进例子CUBE.POB 中。立体的所有 8 个面属于面 0。

    POB 文件示例( Example POB file )

    ! A cube

    ! front face vertices

    V 1 -1 -1 0

    V 2 1 -1 0

    V 3 1 1 0

    V 4 -1 1 0

    ! back face vertices

    V 5 -1 -1 2

    V 6 1 -1 2

    V 7 1 1 2

    V 8 -1 1 2

    ! Front

    R 1 2 3 4 0 0

    ! Back

    R 5 6 7 8 0 0

    ! Top

    R 4 3 7 8 0 0

    ! Bottom

    R 1 2 6 5 0 0

    ! Left side

    R 1 4 8 5 0 0

    ! Right side

    R 2 3 7 6 0 0

    8 个“V”命令定义了立体 8 个顶角的顶点坐标。6 个“R”命令定义了立体的 6 个面。注意,面的宽度为 2 个单位,后表面顶点的 Z 坐标定义为 2 个单位,所以该立体是一个理想的立方体。立体的所有坐标均相对于物体的参考点,此时该点位于前表面的中心。为了将参考点置于立体的中心,此时对顶点定义作如下改变:

    V 1 -1 -1 -1

    V 2 1 -1 -1

    V 3 1 1 -1

    V 4 -1 1 -1

    V 5 -1 -1 1

    V 6 1 -1 1

    V 7 1 1 1

    V 8 -1 1 1

    示例2:

    ! A 45-45-90 prism with no mirror side

    ! FSI Dec 18, 1998

    C 1 "Splitter surface"

    ! front face vertices

    V 1 -1 -1 0

    V 2  1 -1 0

    V 3  1  1 0

    V 4 -1  1 0

    ! back face vertices

    V 5 -1  1 2

    V 6  1  1 2

    ! Front face rectangle

    R 1 2 3 4 0 0

    ! Top face rectangle

    R 4 3 6 5 0 0

    ! Bottom rectangle

    R 1 2 6 5 0 1

    ! left side triangle

    T 1 4 5 0 0

    ! right side triangle

    T 3 2 6 0 0

    相关文章

      网友评论

          本文标题:zemax 定义多边形物体 POB

          本文链接:https://www.haomeiwen.com/subject/rkccgqtx.html