日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JavaScript實現像雪花一樣的Hexaflake分形

瀏覽:161日期:2023-10-22 09:38:55

編寫如下的函數:

function drawHexagon(x,y,L) { ctx.beginPath(); ctx.moveTo(x-sqrt3/2*L,y-L/2); ctx.lineTo(x-sqrt3/2*L,y+L/2); ctx.lineTo(x,y+L); ctx.lineTo(x+sqrt3/2*L,y+L/2); ctx.lineTo(x+sqrt3/2*L,y-L/2); ctx.lineTo(x,y-L); ctx.closePath(); ctx.fillStyle = '#00FFFF'; ctx.fill(); }

函數中sqrt3的值為Math.sqrt(3)。該函數的功能是:以坐標(x,y)為中心點,繪制一個邊長為L的正六邊形并進行填充,如下圖所示。

JavaScript實現像雪花一樣的Hexaflake分形

編寫如下的調用語句:

var x=250; var y=250; var L=200; drawHexagon(x,y-2*L/3,L/3); drawHexagon(x,y,L/3); drawHexagon(x,y+2*L/3,L/3); drawHexagon(x-sqrt3/3*L,y+L/3,L/3); drawHexagon(x-sqrt3/3*L,y-L/3,L/3); drawHexagon(x+sqrt3/3*L,y+L/3,L/3); drawHexagon(x+sqrt3/3*L,y-L/3,L/3);

可以繪制出如下圖所示的7個小正六邊形,這7個小正六邊形正好填充在以(x,y)為中心邊長為L的大正六邊形中。

JavaScript實現像雪花一樣的Hexaflake分形

Hexaflake分形圖案的構造過程是:以(x,y)為中心點繪制一個邊長為L的正六邊形并進行顏色填充;在這個正六邊形中找到7個點,以這7個點為中心分別繪制7個邊長為L/3的正六邊形并進行顏色填充,替換掉原來邊長為L的正六邊形;重復以上操作直至達到要求的層數,可以繪制出Hexaflake分形圖案,如下圖所示。

JavaScript實現像雪花一樣的Hexaflake分形

Hexaflake分形采用遞歸過程易于實現,編寫如下的HTML代碼。

<!DOCTYPE html><head><title>Hexaflake分形</title></head><body><canvas style='border:3px double #996633;'></canvas><script type='text/javascript'> var canvas = document.getElementById(’myCanvas’); var ctx = canvas.getContext(’2d’); var maxdepth =4; var sqrt3=Math.sqrt(3); function drawHexagon(x,y,L) { ctx.beginPath(); ctx.moveTo(x-sqrt3/2*L,y-L/2); ctx.lineTo(x-sqrt3/2*L,y+L/2); ctx.lineTo(x,y+L); ctx.lineTo(x+sqrt3/2*L,y+L/2); ctx.lineTo(x+sqrt3/2*L,y-L/2); ctx.lineTo(x,y-L); ctx.closePath(); ctx.fillStyle = '#00FFFF'; ctx.fill(); } function drawHexaflake(n,x,y,L) { if(n>0) { drawHexaflake(n-1,x,y-2*L/3,L/3); drawHexaflake(n-1,x,y,L/3); drawHexaflake(n-1,x,y+2*L/3,L/3); drawHexaflake(n-1,x-sqrt3/3*L,y+L/3,L/3); drawHexaflake(n-1,x-sqrt3/3*L,y-L/3,L/3); drawHexaflake(n-1,x+sqrt3/3*L,y+L/3,L/3); drawHexaflake(n-1,x+sqrt3/3*L,y-L/3,L/3); } else drawHexagon(x,y,L); } drawHexaflake(maxdepth,250,250,200);</script></body></html>

在瀏覽器中打開包含這段HTML代碼的html文件,可以看到在瀏覽器窗口中繪制出的Hexaflake分形圖案,如下圖所示。

JavaScript實現像雪花一樣的Hexaflake分形

執行語句:

ctx.fillStyle='black';ctx.fillRect(0,0,500,500);

將屏幕背景設置為黑色,將繪制的正六邊形用白色填充,則在瀏覽器窗口中繪制出的Hexaflake分形圖案像雪花兒一樣,如下圖所示。

JavaScript實現像雪花一樣的Hexaflake分形

將Hexaflake分形的生成過程進行動態展示,編寫如下的HTML文件。

<!DOCTYPE html><head><title>Hexaflake分形</title></head><body><canvas style='border:3px double #996633;'></canvas><script type='text/javascript'> var canvas = document.getElementById(’myCanvas’); var ctx = canvas.getContext(’2d’); var depth =0; var sqrt3=Math.sqrt(3); function drawHexagon(x,y,L) { ctx.beginPath(); ctx.moveTo(x-sqrt3/2*L,y-L/2); ctx.lineTo(x-sqrt3/2*L,y+L/2); ctx.lineTo(x,y+L); ctx.lineTo(x+sqrt3/2*L,y+L/2); ctx.lineTo(x+sqrt3/2*L,y-L/2); ctx.lineTo(x,y-L); ctx.closePath(); ctx.fillStyle = '#FFFFFF'; ctx.fill(); } function drawHexaflake(n,x,y,L) { if(n>0) { drawHexaflake(n-1,x,y-2*L/3,L/3); drawHexaflake(n-1,x,y,L/3); drawHexaflake(n-1,x,y+2*L/3,L/3); drawHexaflake(n-1,x-sqrt3/3*L,y+L/3,L/3); drawHexaflake(n-1,x-sqrt3/3*L,y-L/3,L/3); drawHexaflake(n-1,x+sqrt3/3*L,y+L/3,L/3); drawHexaflake(n-1,x+sqrt3/3*L,y-L/3,L/3); } else drawHexagon(x,y,L); } function go() { ctx.fillStyle = '#000000'; ctx.fillRect(0,0,500,500); drawHexaflake(depth,250,250,200); depth++; if (depth>4) { depth=0; } } window.setInterval(’go()’,1500);</script></body></html>

在瀏覽器中打開包含這段HTML代碼的html文件,在瀏覽器窗口中呈現出如下圖所示的Hexaflake分形動態生成效果。

JavaScript實現像雪花一樣的Hexaflake分形

以上就是JavaScript實現像雪花一樣的Hexaflake分形的詳細內容,更多關于JavaScript Hexaflake分形的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲九九精品| 国产精品一页| 狂野欧美性猛交xxxx| 国产资源在线观看入口av| 97精品国产一区二区三区| 国产一区二区精品| 夜夜嗨av一区二区三区网站四季av| 欧美91视频| 国产精品普通话对白| 免费人成网站在线观看欧美高清| 日韩精品一区第一页| 日韩中文字幕不卡| 亚洲一区区二区| 蜜桃视频免费观看一区| 一区二区国产在线| 精品久久精品| 国产在线日韩| 在线免费观看亚洲| 91嫩草精品| 欧美高清一区| 国产亚洲精品自拍| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久成人精品| 日本一区二区高清不卡| 国产一区二区三区精品在线观看 | 日韩精品一区二区三区免费观影| 欧美成a人片免费观看久久五月天| 日韩一区欧美二区| 欧美一区=区| 亚洲精品日本| 久久av导航| 久久国产免费| 国产精品分类| 精品国产第一福利网站| 正在播放日韩精品| 免费在线观看一区二区三区| 国产精品任我爽爆在线播放 | 国产婷婷精品| 日韩不卡一区二区三区 | 午夜视频一区二区在线观看| 亚洲ww精品| 一本一道久久a久久| 最新日韩欧美| 日韩成人免费| 亚洲成人不卡| 欧美午夜三级| 久久久免费人体| 国产 日韩 欧美 综合 一区| 亚洲欧美一区在线| 男女激情视频一区| 日本亚洲三级在线| 免费在线看一区| 亚洲精品888| 国产精品毛片在线| 蜜桃伊人久久| 午夜宅男久久久| 精品国产一区二区三区2021| 国内精品福利| 蜜桃国内精品久久久久软件9| 国产一区二区三区不卡av | 日韩午夜电影| 欧美日韩精品免费观看视完整| 欧美午夜不卡| 免费久久精品视频| 精品免费av| 久久av一区| 日韩av有码| 亚洲免费毛片| 精品成人免费一区二区在线播放| 亚洲精品少妇| 久久久久久久久99精品大| 91精品美女| 欧美日韩在线播放视频| 日韩高清二区| 欧美91精品| 国产精品久久久久久久久久齐齐| 亚洲精品成人| 国产成人免费精品| 亚洲视频播放| 国产成人精品一区二区三区视频| 蜜乳av另类精品一区二区| 最新中文字幕在线播放| 亚洲欧美网站在线观看| 波多视频一区| 国产亚洲久久| 美女91精品| 亚洲国产一区二区在线观看| 国产精品久久久久久久久久10秀| 日本一区二区三区中文字幕| 久久视频国产| 麻豆成人91精品二区三区| 在线看片日韩| 波多视频一区| 国产区精品区| 天堂va蜜桃一区二区三区| 日韩专区精品| 老司机免费视频一区二区| 日本一不卡视频| 国产亚洲毛片在线| 蜜桃精品在线| 麻豆国产精品视频| 国产日产精品_国产精品毛片| 亚洲激情中文| 久久九九国产| 成人一区不卡| 国产极品嫩模在线观看91精品| 五月亚洲婷婷 | 欧美在线观看天堂一区二区三区| 精品一区91| 黑丝美女一区二区| 九九精品调教| 天堂成人免费av电影一区| 久久狠狠婷婷| 91欧美在线| 国产va免费精品观看精品视频| 青草久久视频| 日本不卡视频一二三区| 日韩精品一二区| 丝袜av一区| 一区二区三区四区日本视频| 美女久久久精品| 精品国产亚洲一区二区三区大结局| 日韩精品一级| 亚洲v天堂v手机在线| 亚洲综合欧美| 亚洲综合另类| 亚洲综合小说| 亚洲精品一级| 日本麻豆一区二区三区视频| 日韩激情啪啪| 日韩精品第一| 日韩av中文字幕一区| 日韩欧美四区| 日本va欧美va精品发布| 日韩精选在线| 日韩av网站在线免费观看| 国产日韩欧美一区二区三区在线观看| 久久精品av麻豆的观看方式| 欧美日韩中出| 国产麻豆精品久久| 国产一区二区三区四区五区| 中文av在线全新| 秋霞影院一区二区三区| 亚洲成人精选| 丝袜诱惑制服诱惑色一区在线观看| 视频一区欧美日韩| 午夜精品影视国产一区在线麻豆| 欧美一区=区三区| 欧美一区免费| 国产精品白浆| 国产精品高颜值在线观看| 色一区二区三区四区| 久久国产影院| 丝袜美腿一区二区三区| 国产日韩欧美一区二区三区在线观看| 麻豆久久久久久| 午夜影院一区| 午夜在线视频一区二区区别| 日韩三级久久| 91免费精品| 99国产精品99久久久久久粉嫩| 亚洲色图国产| 欧美国产三级| 日韩免费av| 亚洲婷婷免费| 午夜精品福利影院| 精品日本视频| 欧美成人精品| 97成人超碰| 国产麻豆久久| 中文字幕日韩高清在线| 精品午夜视频| 亚洲成人精品| 日本成人在线一区| 亚洲欧洲高清| 亚洲精品成人一区| 国产一区二区三区网| 日韩中文字幕av电影| 捆绑调教美女网站视频一区| 久久91导航| 91嫩草精品| 亚洲成人国产| 国产精品成人**免费视频 | 久久久久久婷| 老司机精品久久| 成人一区而且| 一区二区91| 日本免费一区二区三区四区| 免费在线观看视频一区| av资源新版天堂在线| 亚洲欧美久久久| 免费视频一区二区三区在线观看| 中文在线а√天堂| 日韩精品欧美成人高清一区二区| 日韩天堂在线| 日韩欧美激情电影| 欧美日韩在线播放视频| 国产九九精品| 免费一级片91| 日韩精品影视|