Harmonia das cores

Published by zatoichi49 in

Na teoria das cores, a harmonia se refere a uma combinação esteticamente agradável de cores. A roda de cores padrão mostra as 12 cores primárias, secundárias e terciárias. Começando pelo vermelho e seguindo no sentido horário, as cores são:

colours = ["red", "red-orange", "orange", "yellow-orange", "yellow", "yellow-green",  "green", "blue-green", "blue", "blue-violet", "violet", "red-violet"]

Com uma cor inicial (chamada de âncora), você pode encontrar combinações de cores harmoniosas. Os tipos de combinação são mostrados abaixo, para uma cor-âncora verde:

Imagem das combinações de cores

Dada uma cor-âncora e um tipo de combinação, escreva uma função que retorne um conjunto contendo todas as cores da combinação.

Exemplos

colour_harmony("green", "triadic") ➞ { "green", "violet", "orange" }

colour_harmony("blue-green", "complementary") ➞ { "blue-green", "red-orange" }

colour_harmony("orange", "analogous") ➞ { "yellow-orange", "red-orange", "orange" }

Observações

  • Crie as combinações de acordo com suas posições relativas à cor-âncora. Por exemplo, a combinação retangular começa com as cores que estão duas posições no sentido horário e quatro posições no sentido anti-horário a partir da cor-âncora (e não o contrário). Na combinação complementar dividida, você deve pegar as cores que estão cinco posições tanto no sentido horário quanto no sentido anti-horário a partir da cor-âncora. Para a combinação análoga, inclua as cores diretamente de cada lado da cor-âncora.
  • Inclua a cor-âncora no conjunto final.