한 문장 설명: 제한된 코드를 사용하여 1024*1024 컬러 매트릭스를 구축하여 프로그래밍과 예술적 아름다움을 뽐내세요
Stackexchange에 대한 질문에서 유래되었습니다. 더 많은 프로그래밍 언어를 지원하고 코드 길이 제한을 완화하기 위해 여기에서 약간 확장되었습니다.
규칙
대상:
템플릿에 get_color_at(x, y) 함수를 구현하여 1024*1024 캔버스에 최대한 "흥미로운" 패턴을 그립니다.
매개변수:
int x, int y, 값은 0 - 1023이며 캔버스의 좌표점에 해당하며 왼쪽 상단이 시작점(0,0)입니다
반품:
int r, int g, int b, int alpha, 해당 색상의 RGBA 구성 요소는 모두 0에서 255 사이입니다.
참고:
언어마다 알파 구성 요소의 정의가 다를 수 있으며 템플릿에 의해 0 - 255로 일률적으로 변환됩니다. 값이 클수록 투명해집니다.
요구사항:
템플릿의 get_color_at(x, y) 함수 본문에서 // {{code start}} - // {{code end}} 사이의 코드만 편집할 수 있습니다.
코드의 총 문자 수는 1024자를 초과할 수 없으며, 가독성이 좋아야 합니다.
if(typeof f_c=="undefined"){ f_c=function(x,y,px,py,r){ return Math.sqrt(Math.pow(x-px,2)+Math.pow(y-py,2))<=r; }; } var x0=x-512,y0=y-512; r=g=b=128; if(f_c(x0,y0,0,0,512)) r=g=b=(x0>0)?255:0; if(f_c(x0,y0,0,256,256)&&x0<=0) r=g=b=255; if(f_c(x0,y0,0,-256,256)&&x0>0) r=g=b=0; if(f_c(x0,y0,0,256,64)) r=g=b=0; if(f_c(x0,y0,0,-256,64)) r=g=b=255;