IRayTraceDirectUnpolData
IRayTraceDirectUnpolData使用直接的x/y/z坐标执行非偏振光线追迹的批次处理。
打开该工具时,用户选择要追迹的最大光线数、光线类型(光线追迹可使用真实光线或近轴光线)以及待追迹光线的第一个和最后一个表面。
CreateDirectUnpol (int MaxRays, RaysType rayType, 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 X, out double Y, out double Z, out double L, out double M, out double N, out double l2, out double m2, out double n2, out double intensity)
- rayNumber
- ErrorCode
- vignetteCode:指示光线是否已渐晕
- X、Y、Z:光线在所需表面上的坐标
- L、M、N:光线在所需表面上的方向余弦
- l2、m2、n2:光线在所需表面上的向量法线。
- 强度:光线的光焦度(请参阅IRayTraceNormUnpolData中关于偏振的详述)
下一部分: