java - 在 Java 3d 中旋转对象

标签 java object 3d mouse

我尝试在Java3D中根据鼠标的移动来旋转立方体。无论立方体的旋转如何,我希望当我向上拖动光标时,立方体以相同的方向旋转。这适用于所有可能的运动。

我该如何继续?我猜它必须放在相机坐标中......

这是我的功能:

public void objectRotate(TransformGroup objectInInteraction, double dh,
        double dp, double dr) {

    Transform3D oldT3D = new Transform3D();
    objectInInteraction.getTransform(oldT3D);       

    Transform3D tx = new Transform3D();
    Transform3D ty = new Transform3D();
    Transform3D tz = new Transform3D();

    Transform3D tc = new Transform3D();
    //camera.getTransform(tc);

    double x = 0, y = 0, z = 0;
    x = Math.PI * dh / 180;
    y = Math.PI * dp / 180;
    z = Math.PI * dr / 180;

    tx.rotX(x);
    tc.mul(tx);

    ty.rotY(y);
    tc.mul(ty);

    tz.rotZ(z);     
    tc.mul(tz);

    oldT3D.mul(tc);


    objectInInteraction.setTransform(oldT3D);
}

dh是左右移动,dp,上下

谢谢!

最佳答案

这对我有用......

public void objectRotate(TransformGroup objectInInteraction, double dh,
    double dp, double dr)
{

    // Transform3D oldT3D = new Transform3D();
    // objectInInteraction.getTransform(oldT3D);       

    Transform3D tx = new Transform3D();
    Transform3D ty = new Transform3D();
    Transform3D tz = new Transform3D();

    Transform3D tc = new Transform3D();
    //camera.getTransform(tc);

    double x = 0, y = 0, z = 0;
    x = Math.PI * dh / 180;
    y = Math.PI * dp / 180;
    z = Math.PI * dr / 180;

    tx.rotX(x);
    tc.mul(tx);

    ty.rotY(y);
    tc.mul(ty);

    tz.rotZ(z);     
    tc.mul(tz);

    // oldT3D.mul(tc);

    objectInInteraction.setTransform(tc);
}

;-)

关于java - 在 Java 3d 中旋转对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13749865/

相关文章:

python - 如何让我的变量脱离这个循环? - blender

java - 对三角形进行排序时快速排序太慢

java - 我的 vector3 类中的线程 "AWT-EventQueue-0"java.lang.NullPointerException 中出现异常

java - 我怎样才能对 ProGuard 进行良好的混淆处理?

java - libgdx 中重叠时出现 NullPointerException (Java)

java - 嵌套for循环的大O

Android 3d 动画,如 Google Now Launcher 菜单动画

java - 扫描仪示例循环

java - 可打包 writeToParcel() : What's the best way to write multiple variables of the same type?

javascript - 动态创建JS对象