IRayTraceDirectPolData
RayTraceDirectPolData使用直接的x/y/z坐标执行批偏振光线追迹。
打开该工具时,用户选择要追迹的最大光线数、光线类型(光线追迹可使用真实光线或近轴光线)、定义电场的琼斯矢量以及待追迹光线的第一个和最后一个表面。如果Jx、Jy、Phax和Phay均为零,且仅在这种情况下,则OpticStudio假设需要"非偏振(unpolarized)"光线追迹。
CreateDirectPol (int MaxRays, RaysType rayType, double Jx, double Jy, double phax, double phay, int startSurface, int toSurface)
然后在AddRay函数中逐个定义光线。光线由波长和任何起始表面上的x、y、z、l、m和n坐标定义。
AddRay (int waveNumber, double X, double Y, double Z, double L, double M, double N)
结果
有两种方法可以返回结果:
ReadNextResult (out int rayNumber, out int ErrorCode, out int vignetteCode, out double exr, out double exi, out double eyr, out double eyi, out double ezr, out double ezi, out double intensity)
ReadNextResultFull (out int rayNumber, out int ErrorCode, out int vignetteCode, out double xo, out double yo, out double zo, out double lo, out double mo, out double no, out double exr, out double exi, out double eyr, out double eyi, out double ezr, out double ezi, out double intensity)
- rayNumber
- ErrorCode
- exr、exi、eyr、eyi、ezr、ezi:ex、ey和ez值是电场分量,以r和i字符分别表示实部和虚部。
- 强度:光线的光焦度
- 如果使用ReadNextResultFull:xo、yo、zo:光线在所需表面上的坐标
- 如果使用ReadNextResultFull:lo、mo、no:光线在所需表面上的方向余弦
下一部分: