js实现创意液体融合波纹动画效果代码
代码语言:html
所属分类:动画
代码描述:js实现创意液体融合波纹动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> body { background-color: #000; margin: 0; overflow: hidden; background-repeat: no-repeat; } canvas { position : absolute; } </style> </head> <body > <script > "use strict"; let canv, gl; let animState; let maxx, maxy; let midx, midy; let widthHandle, heightHandle; let pHandle, f; let p = []; const ORDER = 10; 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; //----------------------------------------------------------------------------- // 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 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - function distance(p0, p1) { /* distance between points */ return mhypot(p0[0] - p1[0], p0[1] - p1[1]); } // function distance /* ============================================================================ This is based upon Johannes Baagoe's carefully .........完整代码请登录后点击上方下载按钮下载查看
网友评论0