Escolar Documentos
Profissional Documentos
Cultura Documentos
package Graficacion;
import com.sun.opengl.util.Animator;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;
canvas.addGLEventListener(new GraficaCartesiano());
frame.add(canvas);
frame.setSize(640, 480);
final Animator animator = new Animator(canvas);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
frame.setLocationRelativeTo(null);
frame.setVisible(true);
animator.start();
}
GL gl = drawable.getGL();
System.err.println("INIT GL IS: " + gl.getClass().getName());
public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
GL gl = drawable.getGL();
GLU glu = new GLU();
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
glu.gluOrtho2D(0.0, 640.0, 0.0, 480.0);
}
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
gl.glColor3f(1,1,1);
double x, y;
double xmin, xmax, ymin, ymax;
double xpmin, xpmax, ypmin, ypmax;
double xpc, ypc;
double xp, yp;
double deltaX, deltaY;
xpmax = 640;
xpmin = 0;
ypmax = 480;
ypmin = 0;
xpc = (xpmin + xpmax)/2;
ypc = (ypmin + ypmax)/2;
gl.glBegin(GL.GL_LINES);
gl.glVertex2d(xpmin, ypc);
gl.glVertex2d(xpmax, ypc);
gl.glVertex2d(xpc, ypmin);
gl.glVertex2d(xpc, ypmax);
gl.glEnd();
gl.glColor3f(1, 1, 0);
xmin = -10;
xmax = 10;
ymin = -10;
ymax = 10;
deltaX = xpc/xmax;
deltaY = ypc/ymax;
x = xmin;
while (x<=xmax)
{
y=x*x;
//y = Math.exp(x);
//y = Math.cos(x);
xp = xpc + x * deltaX;
yp = ypc + y * deltaY;
gl.glBegin(GL.GL_POINTS);
gl.glVertex2d(xp, yp);
gl.glEnd();
x = x + 1.0/deltaX;
}
gl.glFlush();
}
package Graficacion;
import com.sun.opengl.util.Animator;
import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.GL;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.glu.GLU;
canvas.addGLEventListener(new GraficaPolar());
frame.add(canvas);
frame.setSize(640, 480);
final Animator animator = new Animator(canvas);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
frame.setLocationRelativeTo(null);
frame.setVisible(true);
animator.start();
}
GL gl = drawable.getGL();
System.err.println("INIT GL IS: " + gl.getClass().getName());
gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
GL gl = drawable.getGL();
GLU glu = new GLU();
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
glu.gluOrtho2D(0.0, 640.0, 0.0, 480.0);
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
gl.glColor3f(1,1,1);
gl.glBegin(GL.GL_LINES);
gl.glVertex2d(xpmin, ypc);
gl.glVertex2d(xpmax, ypc);
gl.glVertex2d(xpc, ypmin);
gl.glVertex2d(xpc, ypmax);
gl.glEnd();
gl.glColor3f(1, 1, 0);
xmin = -10;
xmax = 10;
ymin = -10;
ymax = 10;
deltaX = xpc/xmax;
deltaY = ypc/ymax;
a = 100;
b = 150;
pi = Math.PI;
for (i=0; i<360; i++)
{
theta = i*pi/180;
r = a -b * Math.cos(theta);
x = r * Math.cos(theta);
y = r * Math.sin(theta);
xp = xpc + x;
yp = ypc + y;
gl.glBegin(GL.GL_POINTS);
gl.glVertex2d(xp, yp);
gl.glEnd();
}
gl.glFlush();
}