RAYTRACEX
调用OpticStudio光线追迹程序,通过当前系统追迹来自任何起始面的特殊光线。
语法:
RAYTRACEX x, y, z, l, m, n, surf, wavelength
详述:
表达式x、y、z、l、m和n定义起始面在局部坐标中的输入光线位置和方向余弦。surf表达式必须为0到表面编号减一之间的整数(包含首尾值)。wavelength表达式是可选的,默认为主波长。但如果提供wavelength表达式,则其结果必须是介于1和所定义最大波长数量之间的一个整数。
如果物面的厚度无限大,并且surf参数值设为0,则假定输入坐标与第一个表面相关,而不是与物面相关;虽然光线仍在物方空间介质中定义。否则,OpticStudio将使用指定坐标,而不进行更改。
一旦开始追迹光线,则可使用ZPL函数RAYX、RAYY、RAYZ、RAYL、RAYM和RAYN确定光线交点坐标和方向余弦(在全局坐标中,使用RAGX、RAGY、RAGZ、RAGL、RAGM和RAGN获取结果数据)。需注意,只有在指定"surf"编号之后的表面数据才有效。
如果在光线追迹期间产生错误,函数RAYE(表示光线错误)将返回一个非0值。如果RAYE返回负值,则表明在表面上发生了全内反射,此表面编号由返回值的绝对值决定。如果RAYE返回大于0的值,则表明返回光线错过的表面编号。
检查光线错误的函数RAYE是可选的。如果RAYE不为0,RAYX、RAYY等函数可能会返回无效数据。函数RANX、RANY和RANZ返回光线相交表面法线的方向余弦,RAYT返回光线到表面的光程。函数RAYV返回光线产生渐晕的表面编号,如果光线无渐晕,则RAYV返回0。光线通过渐晕表面返回的值可能不准确。
示例:
n = NSUR() RAYTRACEX 0,1,0,0,0,1,0,NWAV() y = RAYY(n) PRINT "The ray intercept is ", y
相关关键词:
RAYTRACE
下一部分: