无缝四分之一圆和半圆背景效果
代码语言:html
所属分类:背景
代码描述:无缝四分之一圆和半圆背景效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { font-family: Arial, Helvetica, "Liberation Sans", FreeSans, sans-serif; background-color: #000; color: #fff; margin: 0; padding: 0; border-width:0; cursor:pointer; } </style> </head> <body translate="no"> <script> "use strict"; /* Inspired by Johan Karlsson'n pen Quarter Circle and Half a Circle https://codepen.io/DonKarlssonSan/details/abvRErd vertices are numberered 0 (NW), 1(NE), 2(SE) and 3(SW) sides are numered 0(N), 1(E), 2(S) and 3(W) */ window.onload = function () { const sideMin = 50; const sideMax = 120; let canv, ctx; // canvas and context let maxx, maxy; let side; // side of square let nbx, nby; // number of squares in width / height let orgx, orgy; // coordinates of top left corner of grid[0][0] let grid; let colors; /* for animation */ let events = []; // shortcuts for Math.… const mrandom = Math.random; const mfloor = Math.floor; const mround = Math.round; const mceil = Math.ceil; const mabs = Math.abs; const mmin = Math.min; const mmax = Math.max; const mPI = Math.PI; const mPIS2 = Math.PI / 2; const m2PI = Math.PI * 2; const msin = Math.sin; const mcos = Math.cos; const matan2 = Math.atan2; const mhypot = Math.hypot; const msqrt = Math.sqrt; const rac3 = msqrt(3); const rac3s2 = rac3 / 2; const mPIS3 = Math.PI / 3; //----------------------------------------------------------------- function intAlea(min, max) { // random integer number [min..max[ . If no max is provided, [0..min[ if (typeof max == 'undefined') { max = min;min = 0; } return mfloor(min + (max - min) * mrandom()); } // intAlea //----------------------------------------------------------------- function createGrid() { /* attribute color 0, 1 or 2 to every square side so that : - each square uses the 3 colors (two are use once, one is used twice on sides of a same vertex) - matching sides of neighbour square are the same color */ let elem; grid = []; for (let ky = 0; ky < nby; ++ky) { grid[ky] = []; for (let kx = 0; kx < nbx; ++kx) { grid[ky][kx] = elem = []; // copy constraint f.........完整代码请登录后点击上方下载按钮下载查看
网友评论0