⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 joglrotategizmorenderer.java

📁 基于java的3d开发库。对坐java3d的朋友有很大的帮助。
💻 JAVA
字号:
//===========================================================================//=-------------------------------------------------------------------------=//= Module history:                                                         =//= - March 16 2006 - Oscar Chavarro: Original base version                 =//===========================================================================package vsdk.toolkit.render.jogl;import vsdk.toolkit.common.Vector3D;import vsdk.toolkit.common.Matrix4x4;import vsdk.toolkit.gui.RotateGizmo;import javax.media.opengl.GL;public class JoglRotateGizmoRenderer extends JoglRenderer {    public static void draw(GL gl, RotateGizmo gizmo, Vector3D position)    {        Matrix4x4 R, giro;        R = new Matrix4x4(gizmo.getTransformationMatrix());        R.M[0][3] = position.x;        R.M[1][3] = position.y;        R.M[2][3] = position.z;        gl.glLineWidth(3);        JoglMatrixRenderer.draw(gl, R);        gl.glLineWidth(1);        double a;        double delta = Math.toRadians(15);        Vector3D agujax = new Vector3D(0.5, 0, 0);        Vector3D agujay = new Vector3D(0, 0.5, 0);        Vector3D agujaz = new Vector3D(0, 0, 0.5);        Vector3D p;        giro = new Matrix4x4();        gl.glPushMatrix();        JoglMatrixRenderer.activate(gl, R);        gl.glColor3d(1, 0, 0);        gl.glBegin(gl.GL_LINE_LOOP);        for ( a = delta; a < Math.toRadians(360-delta); a += delta ) {            giro.axisRotation(a, 1, 0, 0);            p = giro.multiply(agujay);            gl.glVertex3d(p.x, p.y, p.z);        }        gl.glEnd();        gl.glPopMatrix();        gl.glPushMatrix();        JoglMatrixRenderer.activate(gl, R);        gl.glColor3d(0, 1, 0);        gl.glBegin(gl.GL_LINE_LOOP);        for ( a = delta; a < Math.toRadians(360-delta); a += delta ) {            giro.axisRotation(a, 0, 1, 0);            p = giro.multiply(agujax);            gl.glVertex3d(p.x, p.y, p.z);        }        gl.glEnd();        gl.glPopMatrix();        gl.glPushMatrix();        JoglMatrixRenderer.activate(gl, R);        gl.glColor3d(0, 0, 1);        gl.glBegin(gl.GL_LINE_LOOP);        for ( a = delta; a < Math.toRadians(360-delta); a += delta ) {            giro.axisRotation(a, 0, 0, 1);            p = giro.multiply(agujax);            gl.glVertex3d(p.x, p.y, p.z);        }        gl.glEnd();        gl.glPopMatrix();    }}//===========================================================================//= EOF                                                                     =//===========================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -