UNPKG

@tsparticles/path-curl-noise

Version:

tsParticles curl noise path

2 lines 1.94 kB
/*! For license information please see tsparticles.path.curl.noise.min.js.LICENSE.txt */ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"),require("@tsparticles/simplex-noise"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine","@tsparticles/simplex-noise"],t);else{var s="object"==typeof exports?t(require("@tsparticles/engine"),require("@tsparticles/simplex-noise")):t(e.window,e.window);for(var o in s)("object"==typeof exports?exports:e)[o]=s[o]}}(this,((e,t)=>(()=>{var s={303:t=>{t.exports=e},226:e=>{e.exports=t}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}};return s[e](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};i.r(r),i.d(r,{curlNoisePathName:()=>c,loadCurlNoisePath:()=>d});var n=i(303),p=i(226);const a={speed:.2,step:250};class l{constructor(){const e=new p.SimplexNoise;this._simplex=e.noise2d,this.options=(0,n.deepExtend)({},a)}generate(e){const t=e.getPosition(),{speed:s,step:o}=this.options,i=t.x/o,r=t.y/o,p=.001,a=(this._simplex.noise(i,r+p)-this._simplex.noise(i,r-p))/.002,l=(this._simplex.noise(i+p,r)-this._simplex.noise(i-p,r))/.002;return e.velocity.x=0,e.velocity.y=0,n.Vector.create(s*a,s*-l)}init(e){const t=e.actualOptions.particles.move.path.options;this.options.seed=t?.seed,this.options.speed=(t?.speed??a.speed)*e.retina.pixelRatio,this.options.step=t?.step??a.step,this._simplex.seed(this.options.seed??(0,n.getRandom)())}reset(){}update(){}}const c="curlNoise";async function d(e,t=!0){e.checkVersion("3.8.1"),await e.addPathGenerator(c,new l,t)}return r})()));