UNPKG

@tsparticles/path-curves

Version:
2 lines (1 loc) 5.32 kB
!function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/plugin-move"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/plugin-move","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.paths.curves=t.__tsParticlesInternals.paths.curves||{}),t.__tsParticlesInternals.plugins.move,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";const n={rndFunc:null,period:100,nbHarmonics:2,attenHarmonics:.8,lowValue:-.03,highValue:.03};class a{options;#t;constructor(t){this.#t=t,this.options=e.deepExtend({},n)}generate(t){if(!t.pathGen){const s=this.options;t.pathGen=function(t,s,n,a,r=0,l=1){const i=[],c=[],_=[],o=[],p=[],u=t??e.getRandom;let P=0;n<1&&(n=1);for(let t=1;t<=n;++t)i[t]=u(),c[t]=u(),_[t]=1===t?1:_[t-1]*a,P+=_[t],o[t]=t/s,p[t]=u();return _.forEach((t,s)=>_[s]=t/P*(l-r)),()=>{let t,s,e=0;for(let a=n;a>=1;--a)t=p[a]+=o[a],p[a]>=1&&(t=p[a]-=1,i[a]=c[a],c[a]=u()),s=t**2*(3-2*t),e+=(i[a]*(1-s)+c[a]*s)*_[a];return e+r}}(s.rndFunc,s.period,s.nbHarmonics,s.attenHarmonics,s.lowValue,s.highValue)}return t.curveVelocity?(t.curveVelocity.length+=.01,t.curveVelocity.angle=(t.curveVelocity.angle+t.pathGen())%e.doublePI):(t.curveVelocity=e.Vector.origin,t.curveVelocity.length=.6*e.getRandom()+.8,t.curveVelocity.angle=e.getRandom()*e.doublePI),t.velocity.x=0,t.velocity.y=0,t.curveVelocity}init(){const t=this.#t.actualOptions.particles.move.path.options;e.isFunction(t.rndFunc)?this.options.rndFunc=t.rndFunc:e.isString(t.rndFunc)&&(this.options.rndFunc=globalThis[t.rndFunc]??this.options.rndFunc),this.options.period=t.period??this.options.period,this.options.nbHarmonics=t.nbHarmonics??this.options.nbHarmonics,this.options.attenHarmonics=t.attenHarmonics??this.options.attenHarmonics,this.options.lowValue=t.lowValue??this.options.lowValue,this.options.highValue=t.highValue??this.options.highValue}reset(t){delete t.pathGen,delete t.curveVelocity}update(){}}const r="curvesPathGenerator";async function l(t){t.checkVersion("4.1.0"),await t.pluginManager.register(t=>{s.ensureBaseMoverLoaded(t),t.pluginManager.addPathGenerator?.(r,t=>Promise.resolve(new a(t)))})}const i=globalThis;i.__tsParticlesInternals=i.__tsParticlesInternals??{},i.loadCurvesPath=l,t.curvesPathName=r,t.loadCurvesPath=l}),Object.assign(globalThis.window||globalThis,{loadCurvesPath:(globalThis.__tsParticlesInternals.paths.curves||{}).loadCurvesPath}),delete(globalThis.window||globalThis).tsparticlesInternalExports;