12行javascript代碼繪制一個(gè)八卦圖
一句話說(shuō)明:用有限的代碼構(gòu)建一個(gè)1024*1024的顏色矩陣,秀出你的編程&藝術(shù)之美
起源于 stackexchange 上的一個(gè)問(wèn)題, 這里稍微做了一下擴(kuò)展,支持更多編程語(yǔ)言,并放寬了代碼長(zhǎng)度的限制。
規(guī)則
目標(biāo):
通過(guò)實(shí)現(xiàn) 模版 中的一個(gè)函數(shù) get_color_at(x, y) ,在一個(gè) 1024*1024 的畫(huà)布上畫(huà)出盡可能 “有意思” 的圖案。
參數(shù):
int x, int y ,取值均為 0 - 1023,對(duì)應(yīng)畫(huà)布上坐標(biāo)點(diǎn),左上角為起始點(diǎn) (0,0)
返回:
int r, int g, int b, int alpha, 對(duì)應(yīng)顏色的 RGBA 分量,均為 0 - 255。
注意:
各語(yǔ)言中 alpha 分量定義可能不同,由 模版 統(tǒng)一轉(zhuǎn)換為: 0 - 255,值越大越透明。
要求:
只能編輯 模版 中 get_color_at(x, y) 函數(shù)體內(nèi) // {{code start}} - // {{code end}} 間的代碼;
代碼總字符數(shù)不能超過(guò) 1024 個(gè),且有較好的可讀性。
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;
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
JavaScript簡(jiǎn)單遍歷DOM對(duì)象所有屬性的實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript簡(jiǎn)單遍歷DOM對(duì)象所有屬性的實(shí)現(xiàn)方法,涉及JavaScript針對(duì)頁(yè)面元素屬性操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10微信小程序?qū)崿F(xiàn)禁止分享代碼實(shí)例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)禁止分享代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10JS實(shí)現(xiàn)簡(jiǎn)單的抽獎(jiǎng)轉(zhuǎn)盤(pán)效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)簡(jiǎn)單的抽獎(jiǎng)轉(zhuǎn)盤(pán)效果,涉及javascript數(shù)值計(jì)算與頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-02-02uniapp中使用?uni.navigateBack()?返回上級(jí)頁(yè)面并傳參的方法
最近遇到這樣的需求在A頁(yè)面中通過(guò)跳轉(zhuǎn)到B頁(yè)面,在B頁(yè)面中處理的數(shù)據(jù),需要跳轉(zhuǎn)回A頁(yè)面供其使用,本文給大家分享uniapp中使用?uni.navigateBack()?返回上級(jí)頁(yè)面并傳參的操作方法,感興趣的朋友一起看看吧2023-10-10javascript文本框內(nèi)輸入文字倒計(jì)數(shù)的方法
這篇文章主要介紹了javascript文本框內(nèi)輸入文字倒計(jì)數(shù)的方法,涉及javascript針對(duì)鍵盤(pán)事件的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02JavaScript快速檢測(cè)瀏覽器對(duì)CSS3特性的支持情況
在項(xiàng)目中需要快速檢測(cè)瀏覽器是否支持某CSS3特性,比如檢測(cè)是否支持“transform”,然后我的布局會(huì)有兩種完全不同的版式2012-09-09