本文整理匯總了TypeScript中gl-matrix.quat.copy方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript quat.copy方法的具體用法?TypeScript quat.copy怎麽用?TypeScript quat.copy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類gl-matrix.quat
的用法示例。
在下文中一共展示了quat.copy方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: updateMatrix
public updateMatrix(camera: Camera | PerspectiveCamera | OrthographicCamera) {
mat4.identity(this.modelViewMatrix);
if (this.matrixAutoUpdate) {
// Reset
mat4.identity(this.localMatrix);
mat4.identity(this.modelMatrix);
quat.identity(this.quaternion);
// If Object3D has a parent, copy the computed modelMatrix into localMatrix
if (this.parent) {
mat4.copy(this.localMatrix, this.parent.modelMatrix);
mat4.multiply(this.modelMatrix, this.modelMatrix, this.localMatrix);
}
// Use lookAt quat as base
// Note: this.rotation isn't updated if lookAt's used
quat.copy(this.quaternion, this.quaternionLookAt);
// Apply local transitions to modelMatrix
mat4.translate(this.modelMatrix, this.modelMatrix, this.position.v);
quat.rotateX(this.quaternion, this.quaternion, this.rotation.x);
quat.rotateY(this.quaternion, this.quaternion, this.rotation.y);
quat.rotateZ(this.quaternion, this.quaternion, this.rotation.z);
axisAngle = quat.getAxisAngle(quaternionAxisAngle, this.quaternion);
mat4.rotate(
this.modelMatrix,
this.modelMatrix,
axisAngle,
quaternionAxisAngle
);
mat4.scale(this.modelMatrix, this.modelMatrix, this.scale.v);
}
// Model View Matrix
if (camera) {
mat4.multiply(
this.modelViewMatrix,
camera.worldInverseMatrix,
this.modelMatrix
);
}
}
示例2:
outStr = mat4.str(mat4A);
outVal = mat4.frob(mat4A);
outMat4 = mat4.add(outMat4, mat4A, mat4B);
outMat4 = mat4.subtract(outMat4, mat4A, mat4B);
outMat4 = mat4.sub(outMat4, mat4A, mat4B);
outMat4 = mat4.multiplyScalar (outMat4, mat4A, 2);
outMat4 = mat4.multiplyScalarAndAdd (outMat4, mat4A, mat4B, 2);
outBool = mat4.exactEquals(mat4A, mat4B);
outBool = mat4.equals(mat4A, mat4B);
// quat
var deg90 = Math.PI / 2;
outQuat = quat.create();
outQuat = quat.clone(quatA);
outQuat = quat.fromValues(1, 2, 3, 4);
outQuat = quat.copy(outQuat, quatA);
outQuat = quat.set(outQuat, 1, 2, 3, 4);
outQuat = quat.identity(outQuat);
outQuat = quat.rotationTo(outQuat, vec3A, vec3B);
outQuat = quat.setAxes(outQuat, vec3A, vec3B, vec3A);
outQuat = quat.setAxisAngle(outQuat, vec3A, Math.PI * 0.5);
outVal = quat.getAxisAngle (outVec3, quatA);
outQuat = quat.add(outQuat, quatA, quatB);
outQuat = quat.multiply(outQuat, quatA, quatB);
outQuat = quat.mul(outQuat, quatA, quatB);
outQuat = quat.scale(outQuat, quatA, 2);
outVal = quat.length(quatA);
outVal = quat.len(quatA);
outVal = quat.squaredLength(quatA);
outVal = quat.sqrLen(quatA);
outQuat = quat.normalize(outQuat, quatA);