cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
2 lines (1 loc) • 3.09 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var t,e,r,a,n=require("./common.js"),u=require("./vec3.js"),l=require("./vec4.js"),o=require("./mat3.js"),s={};s.create=function(){var t=new n.GLMAT_ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.rotationTo=(t=u.default.create(),e=u.default.fromValues(1,0,0),r=u.default.fromValues(0,1,0),function(a,n,l){var o=u.default.dot(n,l);return o<-.999999?(u.default.cross(t,e,n),u.default.length(t)<1e-6&&u.default.cross(t,r,n),u.default.normalize(t,t),s.setAxisAngle(a,t,Math.PI),a):o>.999999?(a[0]=0,a[1]=0,a[2]=0,a[3]=1,a):(u.default.cross(t,n,l),a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=1+o,s.normalize(a,a))}),s.setAxes=(a=o.default.create(),function(t,e,r,n){return a[0]=r[0],a[3]=r[1],a[6]=r[2],a[1]=n[0],a[4]=n[1],a[7]=n[2],a[2]=-e[0],a[5]=-e[1],a[8]=-e[2],s.normalize(t,s.fromMat3(t,a))}),s.clone=l.default.clone,s.fromValues=l.default.fromValues,s.copy=l.default.copy,s.set=l.default.set,s.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},s.setAxisAngle=function(t,e,r){r*=.5;var a=Math.sin(r);return t[0]=a*e[0],t[1]=a*e[1],t[2]=a*e[2],t[3]=Math.cos(r),t},s.add=l.default.add,s.multiply=function(t,e,r){var a=e[0],n=e[1],u=e[2],l=e[3],o=r[0],s=r[1],f=r[2],i=r[3];return t[0]=a*i+l*o+n*f-u*s,t[1]=n*i+l*s+u*o-a*f,t[2]=u*i+l*f+a*s-n*o,t[3]=l*i-a*o-n*s-u*f,t},s.mul=s.multiply,s.scale=l.default.scale,s.rotateX=function(t,e,r){r*=.5;var a=e[0],n=e[1],u=e[2],l=e[3],o=Math.sin(r),s=Math.cos(r);return t[0]=a*s+l*o,t[1]=n*s+u*o,t[2]=u*s-n*o,t[3]=l*s-a*o,t},s.rotateY=function(t,e,r){r*=.5;var a=e[0],n=e[1],u=e[2],l=e[3],o=Math.sin(r),s=Math.cos(r);return t[0]=a*s-u*o,t[1]=n*s+l*o,t[2]=u*s+a*o,t[3]=l*s-n*o,t},s.rotateZ=function(t,e,r){r*=.5;var a=e[0],n=e[1],u=e[2],l=e[3],o=Math.sin(r),s=Math.cos(r);return t[0]=a*s+n*o,t[1]=n*s-a*o,t[2]=u*s+l*o,t[3]=l*s-u*o,t},s.calculateW=function(t,e){var r=e[0],a=e[1],n=e[2];return t[0]=r,t[1]=a,t[2]=n,t[3]=Math.sqrt(Math.abs(1-r*r-a*a-n*n)),t},s.dot=l.default.dot,s.lerp=l.default.lerp,s.slerp=function(t,e,r,a){var n,u,l,o,s,f=e[0],i=e[1],c=e[2],d=e[3],h=r[0],M=r[1],v=r[2],m=r[3];return(u=f*h+i*M+c*v+d*m)<0&&(u=-u,h=-h,M=-M,v=-v,m=-m),1-u>1e-6?(n=Math.acos(u),l=Math.sin(n),o=Math.sin((1-a)*n)/l,s=Math.sin(a*n)/l):(o=1-a,s=a),t[0]=o*f+s*h,t[1]=o*i+s*M,t[2]=o*c+s*v,t[3]=o*d+s*m,t},s.invert=function(t,e){var r=e[0],a=e[1],n=e[2],u=e[3],l=r*r+a*a+n*n+u*u,o=l?1/l:0;return t[0]=-r*o,t[1]=-a*o,t[2]=-n*o,t[3]=u*o,t},s.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},s.length=l.default.length,s.len=s.length,s.squaredLength=l.default.squaredLength,s.sqrLen=s.squaredLength,s.normalize=l.default.normalize,s.fromMat3=function(t,e){var r,a=e[0]+e[4]+e[8];if(a>0)r=Math.sqrt(a+1),t[3]=.5*r,r=.5/r,t[0]=(e[5]-e[7])*r,t[1]=(e[6]-e[2])*r,t[2]=(e[1]-e[3])*r;else{var n=0;e[4]>e[0]&&(n=1),e[8]>e[3*n+n]&&(n=2);var u=(n+1)%3,l=(n+2)%3;r=Math.sqrt(e[3*n+n]-e[3*u+u]-e[3*l+l]+1),t[n]=.5*r,r=.5/r,t[3]=(e[3*u+l]-e[3*l+u])*r,t[u]=(e[3*u+n]+e[3*n+u])*r,t[l]=(e[3*l+n]+e[3*n+l])*r}return t};var f=s;exports.default=f;