本文給大家分享的是使用有限的代碼繪制八卦圖,算是考核下自己對于javascript的理解,這里推薦給大家,有需要的小伙伴參考下。
一句話說明:用有限的代碼構建一個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)?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;
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答
圖片精選