Todos los colores estarán en la superficie del cubo RGB, a menos que me equivoque, por la misma razón que toda la carga eléctrica aparece en la superficie de los conductores eléctricos. Esto sugiere el siguiente método para determinar los colores:
- interpretar el espacio de color RGB como un espacio cartesiano XYZ;
- interpretar los colores candidatos como partículas cargadas, por ejemplo, electrones;
- encontrar el estado de baja energía del sistema mediante, por ejemplo, recocido simulado;
Para , una simulación altamente precisa debería ser bastante rápida; podría usar una técnica Runge Kutta, o incluso el método de Euler con un pequeño paso de tiempo probablemente podría hacerlo (mucho más fácil de implementar / comprender). Podría sugerir la serie "Recetas numéricas" para la integración numérica / técnicas de cuadratura de interés.n∼15
Una vez que las partículas convergen, tiene la disposición de los colores al interpretar los puntos como colores. Inicialmente, las partículas se pueden organizar aleatoriamente en la superficie del cubo, con un poco de espacio (ayuda a los problemas de convergencia y estabilidad). Poner grupos pequeños en las caras del cubo debería funcionar.
Para evitar quedarse atascado en un mínimo local (en lugar de global), puede "pulsar" algún pequeño campo eléctrico aleatorio después de la convergencia y ver si el sistema vuelve a la misma configuración, o una diferente. Es poco probable que las partículas colocadas al azar hagan eso en este escenario, pero es posible.
EDITAR:
Como se señaló en los comentarios, la suposición de que las soluciones óptimas deberían estar solo en la superficie probablemente no se cumple para todas las geometrías en el caso discreto.
Afortunadamente, esto tiene poca relación con el resto de la técnica descrita anteriormente. Las partículas se pueden colocar inicialmente en cualquier lugar; solo deje espacio entre los pares de partículas para la estabilidad y la cobertura, y luego repita el sistema para converger, luego pulse varias veces (posiblemente con mayor intensidad) para ver si puede lograr que el sistema converja a una configuración diferente (posiblemente mejor) .
También tenga en cuenta que creo que este método maximizará algo así como "distancia media (¿armónica?) Entre pares de partículas". Si desea maximizar la distancia mínima entre pares de partículas, o algún otro promedio (¿geométrico?) Entre pares de partículas, esto puede no darle la mejor solución.
En cualquier caso, creo que esta técnica le brindará una manera fácil de encontrar buenos conjuntos de colores aproximadamente óptimos ... probablemente no sea necesario obtener soluciones "óptimas" reales para su caso de uso. Naturalmente, si se desea una solución exacta y demostrablemente óptima, la simulación numérica probablemente no sea la mejor opción.