Академический Документы
Профессиональный Документы
Культура Документы
91823
K049
GRAFICACIÓN
c. Ya creado el código fuente, realiza los pasos del algoritmo 1 y 2, pero en el método
“display” pon el código que aparece en el subtema de 2.1.4 “Rastreo de otras curvas”.
i. y = ecos(x)
ii. y = ex^2
El código utilizado para realizar este ejercicio es el siguiente:
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);
frame.addWindowListener(new WindowAdapter() {
@Override
animator.stop();
System.exit(0);
}).start();
});
frame.setLocationRelativeTo(null);
frame.setVisible(true);
animator.start();
public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
GL gl = drawable.getGL();
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
GL gl = drawable.getGL();
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
gl.glColor3f(1,1,1);
double x, y;
xpmax = 640;
xpmin = 0;
ypmax = 480;
ypmin = 0;
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();
i. Ya creado el código fuente realiza los pasos del algoritmo 1 y 2 (de Sistema de
coordenadas rectangulares), pero en el método “display” pon el código que aparece en el
tema de “Sistema de coordenadas polares”.
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);
frame.addWindowListener(new WindowAdapter() {
@Override
animator.stop();
System.exit(0);
}).start();
});
frame.setLocationRelativeTo(null);
frame.setVisible(true);
animator.start();
GL gl = drawable.getGL();
public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
GL gl = drawable.getGL();
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
GL gl = drawable.getGL();
gl.glClear(GL.GL_COLOR_BUFFER_BIT);
gl.glColor3f(1,1,1);
double x, y, a, pi, r, theta, i, b;
xpmax = 640;
xpmin = 0;
ypmax = 480;
ypmin = 0;
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;
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();