У меня есть следующее упражнение: В display () добавить метод drawLine.Возможно, вам понадобится что-то вроде drawLine (GL gl, int x1, int y1, int x2, int y2), теперь используя уравнение прямой, постройте отдельные точки, составляющие линию, от x1, y1 до x2, y2 вJOGL using (например) gl.glPointSize (1.0f);gl.glBegin (GL.GL_POINTS);Если вы покрасили точки в белый цвет и использовали следующие проекции
gl.glViewport(-250, -150, 250, 150);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
glu.gluOrtho2D(-250.0, 250.0, -150.0, 150.0);
, то при значении линии от точек (0,0) до (100,100) ваша будет выглядеть примерно так:1004 *
Мой код для EventListener, где я создаю свою строку, выглядит следующим образом:
import javax.media.opengl.*;
import javax.media.opengl.glu.GLU;
public class ThirdGLEventListener implements GLEventListener {
/**
* Interface to the GLU library.
*/
private GLU glu;
/**
* Take care of initialization here.
*/
public void init(GLAutoDrawable gld) {
GL gl = gld.getGL();
glu = new GLU();
gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
gl.glViewport(-250, -150, 250, 150);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
glu.gluOrtho2D(-250.0, 250.0, -150.0, 150.0);
}
/**
* Take care of drawing here.
*/
public void display(GLAutoDrawable drawable) {
GL gl = drawable.getGL();
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
/*
* put your code here
*/
drawLine(gl, 0, 0, 100, 100);
}
public void reshape(GLAutoDrawable drawable, int x, int y, int width,
int height) {
}
public void displayChanged(GLAutoDrawable drawable,
boolean modeChanged, boolean deviceChanged) {
}
private void drawLine(GL gl, int x1, int y1, int x2, int y2) {
gl.glPointSize(1.0f);
gl.glBegin(GL.GL_POINTS);
// This is where the whole problem lies.
gl.glEnd();//end drawing of points
}
}
Моя проблема в том, чтоЯ не совсем знаю, как завершить код внутри метода для уравнения линии.Буду признателен, если вы поможете мне с этим.Я думаю, что все остальное просто правильно, мне просто нужно найти, как реализовать уравнение линий внутри метода drawLine ().