Java - Problemita con gráficas trigonométricas II

 
Vista:

Problemita con gráficas trigonométricas II

Publicado por Alan Garcia (11 intervenciones) el 01/08/2010 11:17:03
public static void main(String args[]) {
/* JOptionPane.showMessageDialog(null, "El programa muestra el " +
"gráfico de las principales funciones trigonométricas \n",
"Objetivo", JOptionPane.INFORMATION_MESSAGE); */
PRUEBA aplicacion = new PRUEBA();
aplicacion.setBackground(Color.WHITE);
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON _CLOSE);
aplicacion.setLocation(150, 150);
aplicacion.setVisible(true);
} // cierre del método main().
void SENO(Graphics g) {
int mm, N;
double inicio = 0, fin = 5, incremento = 0.01;
N = (int)((fin - inicio)/incremento) + 1; // determina el número de puntos.
double xx[] = new double[N];
double yy[] = new double[N];
for(int i = 0; i < N; i++) { // crea las parejas de puntos.
xx[i] = inicio + incremento * i;
yy[i] = Math.sin(3.0 * xx[i]) ;
}

Datos(xx,yy); // genera las parejas de puntos y la curva a ser trazada.
EjesCoordenados(g);

if(inser > numser) mm = numser;
else mm = inser;
for(int j = 0; j <= mm; j++) {
// pausa();
COLOR(g);
for(int i = 0; i < n - 1; i++)
g.drawLine(50 + x[j][i], MaxY - y[j][i], 50 + x[j][i+1],
MaxY - y[j][i+1]);
}
} // cierre del método SENO().
void COSENO(Graphics g) {
int mm, N;
double inicio = 0, fin = 5, incremento = 0.01;
N = (int)((fin - inicio)/incremento) + 1; // determina el número de puntos.
double xx[] = new double[N];
double yy[] = new double[N];
for(int i = 0; i < N; i++) { // crea las parejas de puntos.
xx[i] = inicio + incremento * i;
yy[i] = Math.cos(3.0 * xx[i]) ;
}
// g.clearRect(0, 0, 460, 500);
Datos(xx,yy); // genera las parejas de puntos y la curva a ser trazada.
EjesCoordenados(g);
if(inser > numser) mm = numser;
else mm = inser;
for(int j = 0; j <= mm; j++) {
COLOR(g);
for(int i = 0; i < n - 1; i++)
g.drawLine(50 + x[j][i], MaxY - y[j][i], 50 + x[j][i+1],
MaxY - y[j][i+1]);
}
} // cierre del método COSENO().
void TANGENTE(Graphics g) {
int mm, N;
double inicio = 0, fin = 5, incremento = 0.01;
N = (int)((fin - inicio)/incremento) + 1; // determina el número de puntos.
double xx[] = new double[N];
double yy[] = new double[N];
for(int i = 0; i < N; i++) { // crea las parejas de puntos.
xx[i] = inicio + incremento * i;
yy[i] = Math.tan(xx[i]);
}
Datos(xx,yy); // genera las parejas de puntos y la curva a ser trazada.
EjesCoordenados(g);
if(inser > numser) mm = numser;
else mm = inser;
for(int j = 0; j <= mm; j++) { // realiza el trazado de la curva.
COLOR(g);
for(int i = 0; i < n - 1; i++)
g.drawLine(50 + x[j][i], MaxY - y[j][i], 50 + x[j][i+1],
MaxY - y[j][i+1]);
}
} // cierre del método TANGENTE().
void SECANTE(Graphics g) {
int mm, N;
double inicio = 0, fin = 5, incremento = 0.01;
N = (int)((fin - inicio)/incremento) + 1; // determina el número de puntos.
double xx[] = new double[N];
double yy[] = new double[N];
for(int i = 0; i < N; i++) { // crea las parejas de puntos.
xx[i] = inicio + incremento * i;
yy[i] = 1.0/Math.cos(3.0 * xx[i]);
}
Datos(xx,yy); // genera las parejas de puntos y la curva a ser trazada.
EjesCoordenados(g);
if(inser > numser) mm = numser;
else mm = inser;
for(int j = 0; j <= mm; j++) { // realiza el trazado de la curva.
COLOR(g);
for(int i = 0; i < n - 1; i++)
g.drawLine(50 + x[j][i], MaxY - y[j][i], 50 + x[j][i+1],
MaxY - y[j][i+1]);
}
} // cierre del método SECANTE().
void COSECANTE(Graphics g) {
int mm, N;
double inicio = 0, fin = 5, incremento = 0.01;
N = (int)((fin - inicio)/incremento) + 1; // determina el número de puntos.
double xx[] = new double[N];
double yy[] = new double[N];
for(int i = 0; i < N; i++) { // crea las parejas de puntos.
xx[i] = inicio + incremento * i;
yy[i] = 1.0/Math.sin(3.0 * xx[i]);
}
Datos(xx,yy); // genera las parejas de puntos y la curva a ser trazada.
EjesCoordenados(g);
if(inser > numser) mm = numser;
else mm = inser;
for(int j = 0; j <= mm; j++) { // realiza el trazado de la curva.
COLOR(g);
for(int i = 0; i < n - 1; i++)
g.drawLine(50 + x[j][i], MaxY - y[j][i], 50 + x[j][i+1],
MaxY - y[j][i+1]);
}
} // cierre del método COSECANTE().
void COTANGENTE(Graphics g) {
int mm, N;
double inicio = 0, fin = 5, incremento = 0.01;
N = (int)((fin - inicio)/incremento) + 1; // determina el número de puntos.
double xx[] = new double[N];
double yy[] = new double[N];
for(int i = 0; i < N; i++) { // crea las parejas de puntos.
xx[i] = inicio + incremento * i;
yy[i] = 1.0/Math.tan(xx[i]);
}
Datos(xx,yy); // genera las parejas de puntos y la curva a ser trazada.
EjesCoordenados(g);
if(inser > numser) mm = numser;
else mm = inser;
for(int j = 0; j <= mm; j++) { // realiza el trazado de la curva.
COLOR(g);
for(int i = 0; i < n - 1; i++)
g.drawLine(50 + x[j][i], MaxY - y[j][i], 50 + x[j][i+1],
MaxY - y[j][i+1]);
}
} // cierre del método COTANGENTE().
void EjesCoordenados(Graphics g) {
g.setColor(Color.black);
g.drawLine(pos_ejex, 0, pos_ejex, 500); // dibuja semieje x.
g.drawLine(0, pos_ejey, 500, pos_ejey); // dibuja semieje y.
for(int i = 0; i < numd - 2; i++) { /* coloca los valores de los ejes
* coordenados. */
g.drawString(Double.toString(etiqx[i]), 50 + posx[i], 20);
g.drawString(Double.toString(etiqx[i]), 50 + posx[i], pos_ejey + 20);
g.drawLine(50 + posx[i], pos_ejey - 5, 50 + posx[i], pos_ejey + 5);
g.drawString(Double.toString(etiqy[i]), pos_ejex - 20, MaxY - posy[i]);
g.drawLine(pos_ejex - 5, MaxY - posy[i], pos_ejex + 5, MaxY - posy[i]);
}
} // cierre del método EjesCoordenados ();
static void pausa() {
try {
Thread.sleep(1500); // Pausa en milisegundos.
}
catch(InterruptedException exc) {}
return;
} // cierre del método pausa.
void COLOR(Graphics g) {
Random rnd = new Random(); // generador de números rnd
g.setColor(new Color(rnd.nextInt(255), rnd.nextInt(255), rnd.nextInt(255)));
return;
}
void continuacion(Graphics g) {
g.setFont(new Font("Arial Rounded MT Bold", Font.PLAIN,14));
g.drawString("¿Deseas seguir ejecutando?", 570, 400);
Si.addActionListener(this);
No.addActionListener(this);
add(Si);
Si.setBounds(new Rectangle(600, 380, 50, 30));
add(No);
No.setBounds(new Rectangle(670, 380, 50, 30));
}
void salida() {
JOptionPane.showMessageDialog(null, "Ha sido un placer haber " +
"trabajado con usted. Hasta luego...", "Salida",
JOptionPane.INFORMATION_MESSAGE);
return;
} // cierre del método prueba.
} // cierre de la clase PRUEBA.
************************************************** *************

Me gustaría que me ayudaran a resolver esta dificultad, es decir, en que al decidir continuar con la aplicación, ésta sólo presente la gráfica elegida y no las anteriores. Además, de corregir las gráficas de las funciones más complicaditas (las cuatro últimas).

Saludos a todos y les agredezco de antemano su valiosa ayuda a mi problemita.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemita con gráficas trigonométricas II

Publicado por mayrita (163 intervenciones) el 01/08/2010 23:26:26
pues yo digo que talvez borrando las variables qeu uses para tus graficas ya no se dibujarian solo dejas las variables con los datos de la nueva grafica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:gráficas trigonométricas II (continuacion)

Publicado por Alan Garcia (11 intervenciones) el 02/08/2010 15:49:39
Hola Mayrita, me podrías decir cómo puedo borrar las variables que utilicé para construir la gráfica anterior?, yo he intentando borrar todo el cuadro con el método g.clearRect(...), y nada.

Salu2 y gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:gráficas trigonométricas II (continuacion)

Publicado por mayrita (163 intervenciones) el 02/08/2010 17:12:19
pues las variables donde metes tus valores de una grafica
si son int les pones = 0
si son vectores pones a = new int[10] (ejemplo)
o tambien si supon dibujas todo en un panel
instancias el panel de nuevo y alli se va todo
pones
panel = new JPanel();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar