首頁  >  文章  >  web前端  >  12行javascript程式碼繪製一個八卦圖_javascript技巧

12行javascript程式碼繪製一個八卦圖_javascript技巧

WBOY
WBOY原創
2016-05-16 16:06:031930瀏覽

一句話說明:用有限的程式碼建構一個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。

注意:
各語言中 alpha 分量定義可能不同,由 模版 統一轉換為: 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)&#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;

以上所述就是本文的全部內容了,希望大家能夠喜歡。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn