颜色计算
SunSolve Power 中的颜色输出用于定量表征在给定光谱照射下,基于光学求解器计算得到的波长依赖反射率和透射率,设备在人眼中的感知颜色。你可以在 Inputs → Options 标签页中勾选 Enable colour solver 启用颜色求解器,对应结果显示在 Outputs → Colour 标签页上。
颜色输出基于三个半球光谱计算得到:向上的半球光谱(正面颜色)、向下的半球光谱(背面颜色),以及(如启用探测器)入射到光学探测器的光谱(探测器颜色)。
程序实际上对模块中产生反射的各个组成部分的颜色做了“平均”。例如,如果一个组件包含被白色背板包围的深蓝色电池,则其“平均”颜色可能呈浅蓝色;如果电池表面还有栅线,则“平均”颜色可能偏蓝灰色。
XYZ 是与设备无关的颜色表征方式,它不依赖显示器类型。
随着光线数量的增加以及波长步长的减小(最小可到 1 nm),XYZ 的精度会提高。
XYZ 的标度设定为使 Y 分量等于亮度。SunSolve 本身并不确定颜色的绝对亮度;亮度只是一个输入量。
XYZ 既依赖入射光谱,也依赖被模拟结构的反射、吸收和透射特性。
只有当最小和最大波长输入分别满足 ≤360 nm 和 ≥830 nm 时,才会计算 XYZ。
RGB、LAB 和 LUV 都是由 XYZ 计算得到的。这些输出依赖所选色度显示类型的白点。大多数电脑显示器采用 sRGB 显示类型,其白点对应 6504 K 光谱。RGB 还依赖该显示类型的色度坐标和伽马曲线。
并非所有 XYZ 都能用 RGB 表示。当无法表示时,我们采用 Walker 描述的方法:在 xy 色度图上,取连接待求点与白点的直线,并将 RGB 定义为该直线与 sRGB 三角形最近一条边的交点。McIntosh (2018) 中给出了一个示例。
在颜色输出标签页上,RGB 既以数值形式展示,也以颜色块形式展示。如果你的显示器未经过颜色校准,则某一组 RGB 所呈现的实际颜色可能并不准确。
总之,RGB 可以作为一个有用的输出;但如果你对颜色表征并不十分熟悉,应将其视为结构“平均颜色”的近似描述。
McIntosh (2018) 给出了求解太阳能电池和组件颜色的示例,并讨论了颜色如何依赖照明光源和探测器。