namespace Terminal.Gui; /// /// /// Calculates the distance between two colors using Euclidean distance in 3D RGB space. /// This measures the straight-line distance between the two points representing the colors. /// /// /// Euclidean distance in RGB space is calculated as: /// /// /// √((R2 - R1)² + (G2 - G1)² + (B2 - B1)²) /// /// Values vary from 0 to ~441.67 linearly /// /// This distance metric is commonly used for comparing colors in RGB space, though /// it doesn't account for perceptual differences in color. /// /// public class EuclideanColorDistance : IColorDistance { /// public double CalculateDistance (Color c1, Color c2) { int rDiff = c1.R - c2.R; int gDiff = c1.G - c2.G; int bDiff = c1.B - c2.B; return Math.Sqrt (rDiff * rDiff + gDiff * gDiff + bDiff * bDiff); } }