當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript quat.identity方法代碼示例

本文整理匯總了TypeScript中gl-matrix.quat.identity方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript quat.identity方法的具體用法?TypeScript quat.identity怎麽用?TypeScript quat.identity使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在gl-matrix.quat的用法示例。


在下文中一共展示了quat.identity方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的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
      );
    }
  }
開發者ID:davidpaulrosser,項目名稱:leonardo,代碼行數:43,代碼來源:Object3D.ts

示例2:

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);
outVal = quat.dot(quatA, quatB);
outQuat = quat.lerp(outQuat, quatA, quatB, 0.5);
開發者ID:DenisCarriere,項目名稱:DefinitelyTyped,代碼行數:31,代碼來源:gl-matrix-tests.ts

示例3: lookAt

 public lookAt(target: Vector3) {
   quat.identity(this.quaternionLookAt);
   this.quaternionLookAt = lookAt(this.position.v, target.v, this.lookAtUp);
 }
開發者ID:davidpaulrosser,項目名稱:leonardo,代碼行數:4,代碼來源:Object3D.ts


注:本文中的gl-matrix.quat.identity方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。