Avec trois valeurs numériques (éléments rouge, vert et bleu d’une couleur (huit bits par canal, de 0 à 255)), votre programme doit indiquer le nom de la couleur donnée.
Par exemple;
Input: 255, 0, 0
Output: Red
ou;
Input: 80, 0, 0
Output: Dark Red
Il s’agit d’un concours de popularité, quelle que soit la réponse ayant obtenu le plus grand nombre de votes avant le premier juillet.
Ispired by: Afficher la couleur RVB en entrée
popularity-contest
dépouiller
la source
la source
Réponses:
Python
Il s’agit d’un script Python qui utilise les résultats de Color Survey de xkcd , dans lequel Randall Munroe a posé exactement la même question à des milliers de personnes. Il est arrivé au tableau suivant:
L'enquête contient uniquement des données sur les couleurs complètement saturées (je suppose que les couleurs non saturées seraient toutes décrites comme étant «grisâtres»). Cela signifie que nous devons faire quelques astuces liées aux couleurs pour forcer notre entrée à devenir complètement saturée.
Ce que j'ai fait ici est simplement de convertir la couleur d'entrée en HSV, d'augmenter la saturation et de l'appeler un jour. Ce n'est probablement pas très correct du point de vue de la perception des couleurs, mais cela fonctionne assez bien ici - et c'est assez simple pour que vous n'ayez besoin que de la bibliothèque standard. Piles incluses en effet.
Le script s'attend à ce que satfaces.txt, à partir d' ici ( miroir ), soit dans le répertoire en cours.
Quelques exemples de courses:
Et voici les couleurs:
Je dirais que c'est assez proche.
la source
Mettre à jour avec l'interface graphique!
Je prends la liste de couleurs de cette page Wikipedia (et des pages associées).
J'ai également inclus des NLG pour obtenir des résultats du type "Rose bulgare avec un peu moins de vert et de bleu" et quelques variantes. Essayez de jouer avec vous pour voir si vous pouvez deviner la vraie "Rose bulgare" en utilisant ces retours. :)
L'algorithme essaiera de trouver la couleur la plus proche de l'entrée, telle que définie par la distance euclidienne. Ainsi, vous pouvez entrer n’importe quel triplet de nombres et cela donnera la couleur la plus proche de ce triplet.
(le code accepte les valeurs "séparé par des virgules", "séparé par des espaces" ou "séparé par des virgules")
Attention
Ce code se connecte à Wikipedia et nécessite donc une connexion Internet pour pouvoir s'exécuter pour la première fois (et écrire les informations dans un fichier du même dictionnaire). Les temps suivants, cependant, il sera lu dans le fichier. Si vous voulez la version hors connexion, le code est disponible sur ce lien Ideone (avec un exemple d'exécution).
Code:
la source
slightly more
àwith a hint of
etslightly less
àsubdued
.JavaScript
La fonction suivante est écrite en pensant aux utilisateurs canins:
Pour les chiens les plus raffinés:
la source
else whimper();
- J'aime çaJavascript
la source
Mathematica
Mise à jour: ajout d'un paramètre permettant de définir le nombre de couleurs les plus proches à afficher. La valeur par défaut est 5 couleurs.
Étant donné les valeurs RVB d'une couleur sans nom, les éléments suivants trouvent les
n
couleurs les plus proches dans une liste de 140 noms de couleurs HTML. Il trace ensuite la couleur sans nom et ses 5 voisins les plus proches dans un espace à 3, avec des axes pour le rouge, le vert et le bleu. Dans l'étiquette de tracé, il nomme la couleur la plus proche et fournit ses valeurs RVB.Exemples
Afficher les 5 couleurs les plus proches:
Afficher les 15 couleurs les plus proches:
la source
CJam
Ceci obtient la liste de couleurs de xkcd et trouve la plus proche.
Remarque: la chaîne d'espace au milieu est en fait un seul onglet.
Pour l’exécuter, veuillez utiliser l’interprète de http://sf.net/p/cjam
Exemple:
Entrée
147 125 0
sortie
baby poop
la source
R
R possède une liste incorporée de 657 noms de couleurs à des fins de traçage. Le code suivant prend une entrée de l’utilisateur, calcule la distance entre cette entrée rgb et la valeur rgb de ces 657 couleurs et affiche le nom de la plus proche.
Ungolfed:
Exemples:
Edit: Idée identique mais en utilisant la liste de noms de colorHexa :
Exemple:
la source
readline
la ligne de code suivante ne soit pas lue comme si elle était stdin en mode interactif. J'ai utilisé le mot "ungolfed" pour dire "en retrait, avec sauts de ligne et commentaires". Si j'avais vraiment joué au golf, je ne l'aurais pas utilisécolor_list
comme nom de variable.Perl
Attend
http://xkcd.com/color/rgb.txt
dans le répertoire en cours. Affiche les cinq couleurs les plus proches avec un pourcentage intéressant.Exemple d'exécution
Code
la source
Scala
Ma tentative - la principale caractéristique est qu’il n’exige pas de connexion Internet! (J'espère que ce n'est pas trop long: D) De plus, j'ai convoqué Chtulhu lors de la préparation de la base de données de couleurs (car j'ai analysé un sous-ensemble de HTML avec regex; les expressions rationnelles et le lien vers la source sont en commentaires)
Edit: amélioration de la précision
Exemple d'exécution: http://ideone.com/e3n0dG
la source
Eh bien, depuis que je l'ai eu traîner , le voici en Objective-C:
la source
Pharo Smalltalk
Placez ceci dans un espace de travail Pharo et imprimez-le .
Les résultats sont de qualité mitigée. Toutes les couleurs plus sombres sont nommées gris , gris foncé ou gris très foncé . Probablement
Color
de »diff:
la méthode pourrait être mieux.Pour une visualisation très simple, faites :
la source
Macro SAS, basée sur les noms de couleurs SAS V8 (plutôt pittoresques) décrits ici: https://v8doc.sas.com/sashtml/gref/zgscheme.htm#zrs-hues
Exemple de saisie:
Exemple de sortie:
EDIT: mis à jour avec une version beaucoup plus compacte.
Version XKCD - une arnaque flagrante de la première réponse, mais c'est une jolie petite démo du moteur d'URL de nom de fichier, qui ne nécessite pas de préparation manuelle d'un fichier CSV:
la source
AC # Solution avec Linq et KnownColors de .NET
la source
Tcl
Ceci fait référence aux couleurs X11 de
rgb.txt
. Sur mon Ubuntu, c'est/etc/X11/rgb.txt
bien que je sache que sur certains systèmes, c'est sur/usr/lib/X11/rgb.txt
. Googlergb.txt
et téléchargez-le si vous n'exécutez pas X11.Passer le code de couleur comme argument de ligne de commande.
la source
Python 2.6
Avec l'interface utilisateur:
Obfusqué (8 397 octets):
Non dissimulé (6 898 octets):
Sans interface utilisateur:
Obfusqué (6 543 octets):
Non dissimulé (5 050 octets):
la source
Javascript
https://jsfiddle.net/SuperJedi224/goxyhm7a/
Quelques exemples de résultats [au 31 juillet] (les couleurs répertoriées sont, dans l'ordre, celle qu'elle détermine comme étant la plus proche et celle qu'elle détermine comme étant la deuxième plus proche; sauf si un seul est donné, auquel cas il a été déterminé qu'il s'agit d'un correspondance exacte):
Bleu marine vif / bleu acier
Bronze / Jaune Jaune Orange
Topaze / Poire
Vert Slime / Vert Olive
Viridian / Emeraude
la source
VB.net
la source