2012-03-14 4 views
-1

내 패널에 사인파와 코사인 파를 표시하려고합니다. 이 메서드는 drawCurves() 메서드를 만들어 내 EventListener 클래스에서이 작업을 시도하고 있습니다.OpenGL - jogl의 사인파와 코사인 파문 (자바)

CurvesGLEventListener :

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

당신은 나에게이 방법을 구현하는 데 도움 수 :이 시점에, 내가 사용하여 내 파장을 플롯해야 것이 좋습니다 봤는데

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 
      **/ 
    } 
} 

? 좋은 생각 인 것 같습니다.이 메서드는 매번 웨이브가 그려지는 것을 선언하기 위해 인수 (예 : int whichOne)를 사용합니다.

답변

0

글쎄, 나는 코드를 작성하지 않을 것이지만, this은 베 지어 스플라인을 사용하는 무난한 방법을 갖고있는 것 같다. 물론 루아에 있지만 자바 메소드로 변환 할 수 있어야합니다.