private static double GetDeltaE_DIN99_Base(ColorLCH Color1, ColorLCH Color2) { var1 = Color1.C * Math.Cos(Color1.H * Pi180); //a1 var2 = Color1.C * Math.Sin(Color1.H * Pi180); //b1 var3 = Color2.C * Math.Cos(Color2.H * Pi180); //a2 var4 = Color2.C * Math.Sin(Color2.H * Pi180); //b2 return(Math.Sqrt(Math.Pow(Color1.L - Color2.L, 2) + Math.Pow(var1 - var3, 2) + Math.Pow(var2 - var4, 2))); }
private static double GetDeltaH_DIN99_Base(ColorLCH Color1, ColorLCH Color2) { var1 = Color1.C * Math.Cos(Color1.H * Pi180); var2 = Color1.C * Math.Sin(Color1.H * Pi180); var3 = Color2.C * Math.Cos(Color2.H * Pi180); var4 = Color2.C * Math.Sin(Color2.H * Pi180); var5 = Math.Sqrt(0.5 * (Color2.C * Color1.C + var3 * var1 + var4 * var2)); return((var5 == 0) ? 0 : (var1 * var4 - var3 * var2) / var5); }
private static double GetDeltaC_DIN99_Base(ColorLCH Color1, ColorLCH Color2) { return(Color1.C - Color2.C); }
private static double GetDeltaH_DIN99_Base(ColorLCH Color1, ColorLCH Color2) { var1 = Color1.C * Math.Cos(Color1.H * Pi180); var2 = Color1.C * Math.Sin(Color1.H * Pi180); var3 = Color2.C * Math.Cos(Color2.H * Pi180); var4 = Color2.C * Math.Sin(Color2.H * Pi180); var5 = Math.Sqrt(0.5 * (Color2.C * Color1.C + var3 * var1 + var4 * var2)); return (var5 == 0) ? 0 : (var1 * var4 - var3 * var2) / var5; }
private static double GetDeltaE_DIN99_Base(ColorLCH Color1, ColorLCH Color2) { var1 = Color1.C * Math.Cos(Color1.H * Pi180); //a1 var2 = Color1.C * Math.Sin(Color1.H * Pi180); //b1 var3 = Color2.C * Math.Cos(Color2.H * Pi180); //a2 var4 = Color2.C * Math.Sin(Color2.H * Pi180); //b2 return Math.Sqrt(Math.Pow(Color1.L - Color2.L, 2) + Math.Pow(var1 - var3, 2) + Math.Pow(var2 - var4, 2)); }
private static double GetDeltaC_DIN99_Base(ColorLCH Color1, ColorLCH Color2) { return Color1.C - Color2.C; }