js实现canvas五彩缤纷线条绘制抽象星空效果代码
代码语言:html
所属分类:粒子
代码描述:js实现canvas五彩缤纷线条绘制抽象星空效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <title>A colourful world of Turbulence</title> <style> body{ padding: 0; background: black; margin: 0; } </style> </head> <body> <script> "use strict"; /** * Written by Dillon https://codepen.io/Dillo * * Inspired in very large part by Alex Andrix's work on Codepen * https://codepen.io/alexandrix/pen/jgyWww * @author Alex Andrix <alex@alexandrix.com> * @since 2019 */ const nbEddies = 5; const nbParticles = 1000; // number of particles const lifeTime = 1000; // average lifetime of particles let canv, ctx; // canvas and drawing context let maxx, maxy; // size of client Window let dimx, dimy; // size of canvas let eddies; // array of eddies let particles; // array of particles let requestID; // ID provided by window.requestAnimationFrame(); let hueShift; /* shortcuts for Math */ const mrandom = Math.random; // see above alternative function for reproductible results 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 mexp = Math.exp; const mhypot = Math.hypot; const msqrt = Math.sqrt; //----------------------------------------------------------------------------- // miscellaneous functions //----------------------------------------------------------------------------- function alea (min, max) { // random number [min..max[ . If no max is provided, [0..min[ if (typeof max == 'undefined') return min * mrandom(); return min + (max - min) * mrandom(); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 //------------------------------------------------------.........完整代码请登录后点击上方下载按钮下载查看
网友评论0