Я пытаюсь закодировать синусоидальную и косинусную волны, которые будут отображаться на моей панели. Я пытаюсь это сделать в своем классе EventListener, создав метод drawCurves ().
CurvesGLEventListener:
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), чтобы объявить, какая волна рисуется каждый раз.