1 line
44 KiB
JavaScript
1 line
44 KiB
JavaScript
|
|
import{$ as e,Bt as t,C as n,Ct as r,Dt as i,E as a,Et as o,Ft as s,Ht as c,K as l,Mt as u,Ot as d,Pt as f,Q as p,R as m,Rt as h,S as g,Vt as _,Z as v,_ as y,bt as b,dt as x,et as S,f as C,ht as w,m as T,n as E,nt as D,o as O,p as k,pt as A,q as ee,r as j,rt as M,u as N,ut as te,vt as P,w as F,wt as I,x as ne,yt as L,z as re,zt as ie}from"./three.module-BFsVh7r1.js";import{n as ae}from"./fflate.module-BIQmJeC9.js";function R(e,t,n){let r=n.length-e-1;if(t>=n[r])return r-1;if(t<=n[e])return e;let i=e,a=r,o=Math.floor((i+a)/2);for(;t<n[o]||t>=n[o+1];)t<n[o]?a=o:i=o,o=Math.floor((i+a)/2);return o}function oe(e,t,n,r){let i=[],a=[],o=[];i[0]=1;for(let s=1;s<=n;++s){a[s]=t-r[e+1-s],o[s]=r[e+s]-t;let n=0;for(let e=0;e<s;++e){let t=o[e+1],r=a[s-e],c=i[e]/(t+r);i[e]=n+t*c,n=r*c}i[s]=n}return i}function se(e,t,n,r){let i=R(e,r,t),a=oe(i,r,e,t),o=new _(0,0,0,0);for(let t=0;t<=e;++t){let r=n[i-e+t],s=a[t],c=r.w*s;o.x+=r.x*c,o.y+=r.y*c,o.z+=r.z*c,o.w+=r.w*s}return o}function ce(e,t,n,r,i){let a=[];for(let e=0;e<=n;++e)a[e]=0;let o=[];for(let e=0;e<=r;++e)o[e]=a.slice(0);let s=[];for(let e=0;e<=n;++e)s[e]=a.slice(0);s[0][0]=1;let c=a.slice(0),l=a.slice(0);for(let r=1;r<=n;++r){c[r]=t-i[e+1-r],l[r]=i[e+r]-t;let n=0;for(let e=0;e<r;++e){let t=l[e+1],i=c[r-e];s[r][e]=t+i;let a=s[e][r-1]/s[r][e];s[e][r]=n+t*a,n=i*a}s[r][r]=n}for(let e=0;e<=n;++e)o[0][e]=s[e][n];for(let e=0;e<=n;++e){let t=0,i=1,c=[];for(let e=0;e<=n;++e)c[e]=a.slice(0);c[0][0]=1;for(let a=1;a<=r;++a){let r=0,l=e-a,u=n-a;e>=a&&(c[i][0]=c[t][0]/s[u+1][l],r=c[i][0]*s[l][u]);let d=l>=-1?1:-l,f=e-1<=u?a-1:n-e;for(let e=d;e<=f;++e)c[i][e]=(c[t][e]-c[t][e-1])/s[u+1][l+e],r+=c[i][e]*s[l+e][u];e<=u&&(c[i][a]=-c[t][a-1]/s[u+1][e],r+=c[i][a]*s[e][u]),o[a][e]=r;let p=t;t=i,i=p}}let u=n;for(let e=1;e<=r;++e){for(let t=0;t<=n;++t)o[e][t]*=u;u*=n-e}return o}function le(e,t,n,r,i){let a=i<e?i:e,o=[],s=R(e,r,t),c=ce(s,r,e,a,t),l=[];for(let e=0;e<n.length;++e){let t=n[e].clone(),r=t.w;t.x*=r,t.y*=r,t.z*=r,l[e]=t}for(let t=0;t<=a;++t){let n=l[s-e].clone().multiplyScalar(c[t][0]);for(let r=1;r<=e;++r)n.add(l[s-e+r].clone().multiplyScalar(c[t][r]));o[t]=n}for(let e=a+1;e<=i+1;++e)o[e]=new _(0,0,0);return o}function ue(e,t){let n=1;for(let t=2;t<=e;++t)n*=t;let r=1;for(let e=2;e<=t;++e)r*=e;for(let n=2;n<=e-t;++n)r*=n;return n/r}function de(e){let n=e.length,r=[],i=[];for(let a=0;a<n;++a){let n=e[a];r[a]=new t(n.x,n.y,n.z),i[a]=n.w}let a=[];for(let e=0;e<n;++e){let t=r[e].clone();for(let n=1;n<=e;++n)t.sub(a[e-n].clone().multiplyScalar(ue(e,n)*i[n]));a[e]=t.divideScalar(i[0])}return a}function z(e,t,n,r,i){return de(le(e,t,n,r,i))}var B=class extends y{constructor(e,t,n,r,i){super();let a=t?t.length-1:0,o=n?n.length:0;this.degree=e,this.knots=t,this.controlPoints=[],this.startKnot=r||0,this.endKnot=i||a;for(let e=0;e<o;++e){let t=n[e];this.controlPoints[e]=new _(t.x,t.y,t.z,t.w)}}getPoint(e,n=new t){let r=n,i=this.knots[this.startKnot]+e*(this.knots[this.endKnot]-this.knots[this.startKnot]),a=se(this.degree,this.knots,this.controlPoints,i);return a.w!==1&&a.divideScalar(a.w),r.set(a.x,a.y,a.z)}getTangent(e,n=new t){let r=n,i=this.knots[0]+e*(this.knots[this.knots.length-1]-this.knots[0]),a=z(this.degree,this.knots,this.controlPoints,i,1);return r.copy(a[1]).normalize(),r}toJSON(){let e=super.toJSON();return e.degree=this.degree,e.knots=[...this.knots],e.controlPoints=this.controlPoints.map(e=>e.toArray()),e.startKnot=this.startKnot,e.endKnot=this.endKnot,e}fromJSON(e){return super.fromJSON(e),this.degree=e.degree,this.knots=[...e.knots],this.controlPoints=e.controlPoints.map(e=>new _(e[0],e[1],e[2],e[3])),this.startKnot=e.startKnot,this.endKnot=e.endKnot,this}},V,H,U,fe=class extends l{constructor(e){super(e)}load(e,t,r,i){let a=this,o=a.path===``?ee.extractUrlBase(e):a.path,s=new n(this.manager);s.setPath(a.path),s.setResponseType(`arraybuffer`),s.setRequestHeader(a.requestHeader),s.setWithCredentials(a.withCredentials),s.load(e,function(n){try{t(a.parse(n,o))}catch(t){i?i(t):console.error(t),a.manager.itemError(e)}},r,i)}parse(e,t){if(ve(e))V=new _e().parse(e);else{let t=$(e);if(!ye(t))thr
|