我很难用计算器手动将 CIELab 转换为 CIELCh。
根据http://www.easyrgb.com/en/math.php http://www.easyrgb.com/en/math.php,以下是通过从弧度到度数从 CIELab 到 CIELCh 的中性语言编程代码:
var_H = arc_tangent( CIE-b*, CIE-a* ) //Quadrant by signs
if ( var_H > 0 ) var_H = ( var_H / PI ) * 180
else var_H = 360 - ( abs( var_H ) / PI ) * 180
CIE-L* = CIE-L*
CIE-C* = sqrt( CIE-a* ^ 2 + CIE-b* ^ 2 )
CIE-H° = var_H
在这个网站上,它给出了相同的代码,但假设一切都已经以度为单位:http://www.brucelindbloom.com/index.html?Equations.html http://www.brucelindbloom.com/index.html?Equations.html
当尝试通过我的物理手持计算器将 CIELAB 代码 (37.80, -21.59, 38.17) 转换为 CIELch 时,我得到了值 (38, 43.851, 299.49)。
但是,正确的值为 (38, 43.851, 119.499)。
这意味着前两部分一切都很好,但最后一部分是错误的。
我不明白他们怎么得到 119 而不是 299。我相信数学可能有错误。以下是我如何通过计算器检索 299:
我取了 (38.17/-21.59) 的反正切值。我检索到-1.056 弧度的值。根据代码,如果var_H
var_H = 360 - ( abs( var_H ) / PI ) * 180
所以我做了 360 - (1.056/3.14)*180。
结果是 299。
那么我在这里做错了什么?我如何获得119的值???