Erklärung in einem Satz: Erstellen Sie mit begrenztem Code eine 1024*1024-Farbmatrix, um Ihre Programmierung und künstlerische Schönheit zur Geltung zu bringen
Entstanden aus einer Frage zu Stackexchange. Es wurde hier leicht erweitert, um mehr Programmiersprachen zu unterstützen und die Codelängenbeschränkung zu lockern.
Regeln
Ziel:
Zeichnen Sie durch die Implementierung einer Funktion get_color_at(x, y) in der Vorlage ein möglichst „interessantes“ Muster auf einer 1024*1024-Leinwand.
Parameter:
int x, int y, die Werte sind 0 - 1023, entsprechend dem Koordinatenpunkt auf der Leinwand, die obere linke Ecke ist der Startpunkt (0,0)
Rückgabe:
int r, int g, int b, int alpha, die RGBA-Komponenten der entsprechenden Farben, alle liegen im Bereich von 0 bis 255.
Hinweis:
Die Definition der Alpha-Komponente in jeder Sprache kann unterschiedlich sein und wird von der Vorlage einheitlich in 0–255 konvertiert. Je größer der Wert, desto transparenter ist er.
Anforderungen:
Sie können den Code nur zwischen // {{code start}} - // {{code end}} im Funktionskörper get_color_at(x, y) in der Vorlage bearbeiten;
Die Gesamtzahl der Zeichen des Codes darf 1024 nicht überschreiten und er muss gut lesbar sein.
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;