12行javascript代碼繪製一個八卦圖,12行javascript

來源:互聯網
上載者:User

12行javascript代碼繪製一個八卦圖,12行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;

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.