Dados tres valores numéricos, que son los elementos Rojo, Verde y Azul de un color (ocho bits por canal, 0 a 255), su programa debe mostrar el nombre del color dado.
Por ejemplo;
Input: 255, 0, 0
Output: Red
o;
Input: 80, 0, 0
Output: Dark Red
Este es un concurso de popularidad, por lo que la respuesta que tenga más votos para el primero de julio gana.
Inspirado por: muestra el color RGB de entrada
popularity-contest
carne sin carne
fuente
fuente
Respuestas:
Pitón
Este es un script de Python que utiliza los resultados de la Encuesta de color de xkcd , en la que Randall Munroe hizo a miles de personas exactamente la misma pregunta. Llegó a la siguiente tabla:
La encuesta solo tiene datos sobre colores completamente saturados (supongo que los colores no saturados se describirían como 'grisáceos'). Esto significa que tenemos que hacer algunos trucos relacionados con el color para forzar que nuestra entrada se sature completamente.
Lo que he hecho aquí es simplemente convertir el color de entrada a HSV, aumentar la saturación y llamarlo un día. Probablemente esto no sea muy correcto desde el punto de vista de la percepción del color, pero funciona bastante bien aquí, y es lo suficientemente simple como para que solo necesite la biblioteca estándar. Pilas incluidas de hecho.
El script espera que satfaces.txt, desde aquí ( espejo ), esté en el directorio actual.
Algunos ejemplos se ejecutan:
Y aquí están los colores:
Yo diría que está muy cerca.
fuente
Actualización con GUI!
Tomo la lista de colores de esta página de Wikipedia (y las páginas relacionadas).
También incluí algunos NLG para producir resultados como "Rosa búlgara con un poco menos de verde y azul" y algunas variantes. Intenta jugar para ver si puedes adivinar la verdadera "Rosa búlgara" usando esos comentarios. :)
El algoritmo intentará encontrar el color más cercano a la entrada, según lo definido por la distancia euclidiana. Entonces puede ingresar cualquier número de triplete y le dará el color más cercano a ese triplete.
(el código acepta valores "separados por comas", "separados por espacios" o "separados por comas")
Advertencia
Este código se conecta a Wikipedia, por lo que requiere conexión a Internet para ejecutarse por primera vez (y escribir la información en un archivo en el mismo diccionario). Sin embargo, las veces posteriores se leerá del archivo. Si desea la versión sin conexión, el código está disponible en este enlace de Ideone (con ejecución de muestra).
Código:
fuente
slightly more
awith a hint of
yslightly less
parasubdued
.JavaScript
La siguiente función está escrita teniendo en cuenta a los usuarios caninos:
Para los perros más refinados que existen:
fuente
else whimper();
- me encantaJavascript
fuente
Mathematica
Actualización: se agregó un parámetro para configurar el número de colores más cercanos a mostrar. El valor predeterminado es 5 colores.
Dados los valores RGB de un color sin nombre, a continuación se encuentran los
n
colores más cercanos de una lista de 140 nombres de colores HTML. Luego traza el color sin nombre y sus 5 vecinos más cercanos en un espacio de 3, con ejes para rojo, verde y azul. En la etiqueta de trazado, nombra el color más cercano y proporciona sus valores RGB.Ejemplos
Mostrar los 5 colores más cercanos:
Mostrar los 15 colores más cercanos:
fuente
CJam
Esto obtiene la lista de colores de xkcd y encuentra el más cercano.
Nota: la cadena de aspecto espacial en el medio es en realidad una pestaña.
Para ejecutarlo, utilice el intérprete de http://sf.net/p/cjam
Ejemplo:
Entrada
147 125 0
salida
baby poop
fuente
R
R tiene una lista incrustada de 657 nombres de colores para propósitos de trazado. El siguiente código toma la entrada del usuario y calcula la distancia entre esta entrada rgb y el valor rgb de esos 657 colores y genera el nombre del más cercano.
Sin golf:
Ejemplos:
Editar: la misma idea pero usando la lista de nombres de colorHexa :
Ejemplo:
fuente
readline
no lea la siguiente línea de código como si fuera stdin en modo interactivo. Usé la palabra "sin golf" para decir "sangrado, con saltos de línea y comentarios". Si realmente lo hubiera jugado, no lo habría usadocolor_list
como nombre de variable.Perl
Espera
http://xkcd.com/color/rgb.txt
en el directorio actual. Muestra cinco colores más cercanos con buen porcentaje.Ejecución de ejemplo
Código
fuente
Scala
Mi intento: la característica más importante es que no requiere conexión a Internet. (Espero que no sea demasiado largo: D) Además, invoqué a Chtulhu mientras preparaba la base de datos de colores (porque analicé un subconjunto de HTML con expresiones regulares; la expresión regular y el enlace a la fuente están en los comentarios)
Editar: precisión mejorada
Ejemplo de ejecución: http://ideone.com/e3n0dG
fuente
Bueno, ya que lo tuve por ahí , aquí está en Objective-C:
fuente
Pharo Smalltalk
Ponga esto en un Pharo Workspace e imprímalo .
Los resultados son de calidad mixta. Todos los colores más oscuros se denominan gris , gris oscuro o gris muy oscuro . Probablemente
Color
eldiff:
método podría ser mejor.Para una visualización muy simple, haga :
fuente
Macro SAS, basada en los nombres de color SAS V8 (bastante pintorescos) como se documenta aquí: https://v8doc.sas.com/sashtml/gref/zgscheme.htm#zrs-hues
Entrada de muestra:
Salida de muestra:
EDITAR: actualizado con una versión mucho más compacta.
Versión XKCD: una estafa descarada de la respuesta principal, pero es una pequeña demostración del motor de URL de nombre de archivo, y no requiere la preparación manual de un CSV:
fuente
Solución AC # con Linq y KnownColors de .NET
fuente
Tcl
Esto hace referencia a los colores X11 de
rgb.txt
. En mi Ubuntu está dentro,/etc/X11/rgb.txt
aunque sé que en algunos sistemas está dentro/usr/lib/X11/rgb.txt
. Googlergb.txt
y descárguelo si no ejecuta X11.Pase el código de color como argumento de línea de comando.
fuente
Python 2.6
Con la interfaz de usuario:
Ofuscado (8,397 bytes):
No ofuscado (6,898 bytes):
Sin interfaz de usuario:
Ofuscado (6.543 bytes):
No ofuscado (5.050 bytes):
fuente
Javascript
https://jsfiddle.net/SuperJedi224/goxyhm7a/
Algunos resultados de la muestra [al 31 de julio] (los colores enumerados son, en orden, el que determina como el más cercano y el que determina como el segundo más cercano; excepto donde solo se proporciona uno, en cuyo caso se determinó que era un coincidencia exacta):
Azul marino brillante / azul acero
Bronce / Tostado Amarillo Naranja
Topacio / Pera
Verde limo / verde oliva
Viridian / Emerald
fuente
VB.net
fuente