Heim  >  Artikel  >  Web-Frontend  >  12 Zeilen Javascript-Code zum Zeichnen eines Bagua-Diagramms_Javascript-Kenntnisse

12 Zeilen Javascript-Code zum Zeichnen eines Bagua-Diagramms_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 16:06:031930Durchsuche

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)&#63;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;
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn