有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jogl中的OpenGL正弦波和余弦波(JAVA)

我正试图编码一个正弦和余弦波来显示在我的面板上。我正在我的EventListener类中尝试创建一个方法drawCurves()

曲线GleventListener:

package firstAttempt;

import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;

/**
 * For now we will focus only two of the GLEventListeners init() and display().
 */
public class CurvesGLEventListener implements GLEventListener {

    /**
     * Interface to the GLU library.
     */
    private GLU glu;

    /**
     * Take care of initialization here.
     */
    public void init(GLAutoDrawable drawable) {
        GL gl = drawable.getGL();
        glu = new GLU();

        gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);

        gl.glViewport(0, 0, 900, 550);
        gl.glMatrixMode(GL.GL_PROJECTION);
        gl.glLoadIdentity();
        glu.gluOrtho2D(0.0, 900.0, 0.0, 550.0);
    }

    /**
     * Take care of drawing here.
     */
    public void display(GLAutoDrawable drawable) {

        GL gl = drawable.getGL();

        drawCurves();

    }

    public void reshape(GLAutoDrawable drawable, int x, int y, int width,
            int height) {
    }

    public void displayChanged(GLAutoDrawable drawable,
            boolean modeChanged, boolean deviceChanged) {
    }
    private void drawCurves() {
            /**
             * Here is where I need to implement the method
             **/
    }
}

有人建议我,基于这种观点,我应该使用以下方法绘制波浪图:

(x, (Math.sin(x/60.0)*100.0))
(x, (Math.cos(x/60.0)*100.0))

你能帮我实现这个方法吗?一个好主意似乎是,该方法使用一个参数(例如int whichOne)来声明每次绘制的波


共 (1) 个答案

  1. # 1 楼答案

    我不打算为你写代码,但是this,似乎有一种使用贝塞尔样条线的可行方法。当然是在Lua中,但您应该能够将其转换为java方法