com.jme3.math.Quaternion.addLocal()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(3.2k)|赞(0)|评价(0)|浏览(101)

本文整理了Java中com.jme3.math.Quaternion.addLocal方法的一些代码示例,展示了Quaternion.addLocal的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Quaternion.addLocal方法的具体详情如下:
包路径:com.jme3.math.Quaternion
类名称:Quaternion
方法名:addLocal

Quaternion.addLocal介绍

[英]add adds the values of this quaternion to those of the parameter quaternion. The result is stored in this Quaternion.
[中]add将此四元数的值与参数四元数的值相加。结果存储在这个四元数中。

代码示例

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

private static Quaternion spline(Quaternion qnm1, Quaternion qn, Quaternion qnp1, Quaternion store, Quaternion tmp) {
  Quaternion invQn = new Quaternion(-qn.x, -qn.y, -qn.z, qn.w);
  log(invQn.mult(qnp1), tmp);
  log(invQn.mult(qnm1), store);
  store.addLocal(tmp).multLocal(-1f / 4f);
  exp(store, tmp);
  store.set(qn).multLocal(tmp);
  return store.normalizeLocal();
  //return qn * (((qni * qnm1).log() + (qni * qnp1).log()) / -4).exp();
}

代码示例来源:origin: jMonkeyEngine/jmonkeyengine

@Override
protected void controlUpdate(float tpf) {
  if (spatial != null && camera != null) {
    switch (controlDir) {
      case SpatialToCamera:
        camera.setLocation(spatial.getWorldTranslation());
        camera.setRotation(spatial.getWorldRotation());
        break;
      case CameraToSpatial:
        // set the localtransform, so that the worldtransform would be equal to the camera's transform.
        // Location:
        TempVars vars = TempVars.get();
        Vector3f vecDiff = vars.vect1.set(camera.getLocation()).subtractLocal(spatial.getWorldTranslation());
        spatial.setLocalTranslation(vecDiff.addLocal(spatial.getLocalTranslation()));
        // Rotation:
        Quaternion worldDiff = vars.quat1.set(camera.getRotation()).subtractLocal(spatial.getWorldRotation());
        spatial.setLocalRotation(worldDiff.addLocal(spatial.getLocalRotation()));
        vars.release();
        break;
    }
  }
}

代码示例来源:origin: org.jmonkeyengine/jme3-core

@Override
protected void controlUpdate(float tpf) {
  if (spatial != null && camera != null) {
    switch (controlDir) {
      case SpatialToCamera:
        camera.setLocation(spatial.getWorldTranslation());
        camera.setRotation(spatial.getWorldRotation());
        break;
      case CameraToSpatial:
        // set the localtransform, so that the worldtransform would be equal to the camera's transform.
        // Location:
        TempVars vars = TempVars.get();
        Vector3f vecDiff = vars.vect1.set(camera.getLocation()).subtractLocal(spatial.getWorldTranslation());
        spatial.setLocalTranslation(vecDiff.addLocal(spatial.getLocalTranslation()));
        // Rotation:
        Quaternion worldDiff = vars.quat1.set(camera.getRotation()).subtractLocal(spatial.getWorldRotation());
        spatial.setLocalRotation(worldDiff.addLocal(spatial.getLocalRotation()));
        vars.release();
        break;
    }
  }
}

代码示例来源:origin: info.projectkyoto/mms-engine

@Override
protected void controlUpdate(float tpf) {
  if (spatial != null && camera != null) {
    switch (controlDir) {
      case SpatialToCamera:
        camera.setLocation(spatial.getWorldTranslation());
        camera.setRotation(spatial.getWorldRotation());
        break;
      case CameraToSpatial:
        // set the localtransform, so that the worldtransform would be equal to the camera's transform.
        // Location:
        TempVars vars = TempVars.get();
        Vector3f vecDiff = vars.vect1.set(camera.getLocation()).subtractLocal(spatial.getWorldTranslation());
        spatial.setLocalTranslation(vecDiff.addLocal(spatial.getLocalTranslation()));
        // Rotation:
        Quaternion worldDiff = vars.quat1.set(camera.getRotation()).subtractLocal(spatial.getWorldRotation());
        spatial.setLocalRotation(worldDiff.addLocal(spatial.getLocalRotation()));
        vars.release();
        break;
    }
  }
}

相关文章