Rubik의 큐브와 멋진 예술에 대한 열렬한 팬이기 때문에 두 가지를 결합하여 정말 멋진 것들을 만들기 위해 노력하고 있습니다. 기본적으로 미니어처 Rubik의 큐브를 해결하여 Rubik의 큐브 아트를 구성 할 때 기본적인 픽셀을 만듭니다. 이러한 예술의 예는 다음 링크를 통해 볼 수 있습니다. http://google.com/search?q=rubik%27s+cube+art
이제이 코드 골프의 목적은 이미지를 입력으로 받아 들여 다음과 같은 방식으로 변환하는 코드를 만드는 것입니다.
이미지는 처음에는 웹에 안전한 회색조 색상으로 축소됩니다. 그 이유는 웹 안전 그레이 스케일 팔레트 (예 : 000000, 333333, 666666, 999999, CCCCCC 및 FFFFFF)를 분리해야하기 때문입니다. 회색조로 변환하는 비색 방법에 대한 알고리즘은 http://en.wikipedia.org/wiki/Grayscale#Colorimetric_.28luminance-preserving.29_conversion_to_grayscale 에서 영감으로 사용하려는 경우 사용할 수 있습니다.
그런 다음 회색조를 적절한 색상으로 렌더링합니다. 빠르게 분해하려면 000000은 Rubik의 파란색을, 333333은 Rubik의 빨간색을, 666666은 Rubik의 녹색을, 999999는 Rubik의 주황색을, CCCCCC는 Rubik의 노랑을, FFFFFF는 Rubik의 흰색을 나타냅니다.
오히려 결과 코드가 사진의 팔레트에서 Rubik의 색상으로 곧바로 렌더링 될 수 있기를 바랍니다. 웹 안전 그레이 스케일로 변환 한 다음 해당 루빅스 팔레트로 변환하는 2 단계 방법은 프로세스의 논리에 대한 아이디어를 제공하는 것이지만,이 방법이 더 쉬운 경우에는 반드시 그렇게하십시오.
Rubik 팔레트의 실제 RGB 값은 다음과 일치해야합니다.
- 레드 : # C41E3A
- 녹색 : # 009E60
- 블루 : # 0051BA
- 주황색 : # FF5800
- 노랑 : # FFD500
- 화이트 : #FFFFFF
예를 들어, 다음 그림에서 Abraham Lincoln의 머리를 자르고 다음 을 생성하는 알고리즘을 렌더링했습니다.
그리드는 이미지를 구성하기 위해 각각의 미니어처 Rubik 큐브가 어떻게 구성되어야하는지 볼 수 있도록합니다. 결과 이미지의 실제 크기는 45 픽셀 x 45 픽셀입니다. 즉, (45/3) * (45/3) = 15 * 15 = 225 미니어처 Rubik의 큐브가이 이미지를 만드는 데 사용됩니다. 나는 당신이 결과 이미지를 그리드와 함께 제시하기를 기대하지 않습니다.
이것이 필요한 것입니다 :
이 알고리즘으로 처리 할 이미지는 x와 y가 3의 배수가되도록 x 픽셀 x 폭 x y 픽셀이어야합니다. 이는 Rubik의 큐브 모자이크의 일부로 렌더링하기 쉽도록 도와줍니다. 이미지가 상당히 큰 경우 처리하기 전에 45 x 45-75 x 75 정도 또는 그 크기로 줄이십시오. 이 크기 조정 구성 요소는 선택 사항입니다.
모자이크를 만들려면 이미지를 sextacolored Rubik의 큐브 팔레트로 변환해야합니다.
결과 이미지는 처리 후 유효한 그래픽 파일이어야합니다. 코드의 작동을 증명하려면 미국 대통령 중 한 명 또는 유명한 할리우드 유명인의 이미지와 비교해 코드를 실행하십시오. 예를 들어 이미 에이브 러햄 링컨을 사용 했으므로이 대통령을 더 이상 사용할 수 없습니다. 사전 및 사후 샷을 포함하여 코드를 테스트하는 데 사용한 회장 / 연예인뿐만 아니라 사용한 언어, 바이트 수를 제공해야합니다
각 출품작에는 테스트 케이스로 고유 한 대통령 / 연예인이 있어야합니다. 중복은받지 않습니다. 이렇게하면 다른 코드 항목을 테스트하는 데 중복 결과가 사용되지 않습니다. 코드가 작동한다고 말하면 매우 좋습니다. 그것을 증명하는 또 다른 것입니다.
5. 가장 짧은 코드가 승리합니다.
나는 이것을 인기 콘테스트로 바꾸고있다. 바이트 수로 경쟁하지 않고 누가 이것을 할 수 있는지를보고 싶다.
#000000 => #0051BA
등 의 작은 매핑 테이블을 쉽게 추가 할 수 있습니다 .