Tema: Graficar
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/02/2011, 22:53
celineadiction
 
Fecha de Ingreso: octubre-2010
Mensajes: 93
Antigüedad: 14 años, 2 meses
Puntos: 0
Graficar

Hola amigos, mi problema es el siguiente, este código para graficar no me grafica, al compilar me dice ke no hay ningun problema pero pues el problema es mi logica... si alguien me pudiera ayudar les agradecería muchisimo

Código Java:
Ver original
  1. import java.awt.*;
  2. import java.awt.geom.*;
  3. import javax.swing.*;
  4.  
  5. public class GraphingData extends JPanel {
  6.     int x0,xN,y0,yN;
  7.     double xmin,xmax,ymin,ymax;
  8.     int apAncho, apAlto;
  9.     int h=getHeight();
  10.     int w=getWidth();
  11.  
  12.  
  13.     final int PAD = 20;
  14.  
  15.     protected void paintComponent(Graphics g) {
  16.  
  17.     super.paintComponent(g);
  18.         Graphics2D g2 = (Graphics2D)g;
  19.         g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
  20.                             RenderingHints.VALUE_ANTIALIAS_ON);
  21.         double x1,y1,x2,y2;
  22.         int j1,j2;
  23.  
  24.  
  25.         x0 = y0 = 0;
  26.         xN = apAncho-1;
  27.         yN = apAlto-1;
  28.         xmin = -5.0;
  29.         xmax = 5.0;
  30.         ymin = -7.0;
  31.         ymax = 1.0;
  32.  
  33.         j1 = ValorY( 0 );
  34.  
  35.         g2.setPaint(Color.blue);
  36.  
  37.          for( int i=0; i < w; i++ ){
  38.              j2 = ValorY( i+1 );
  39.              g2.fillRect(i,j1,i+1,j2 );
  40.              j1 = j2;
  41.  
  42.          }
  43.     }
  44.  
  45. private int ValorY( int valor ) {
  46.  
  47.          double x,y;
  48.          int retorno;
  49.  
  50.          // Cartesianas equivalentes al punto de la pantalla
  51.          x = (valor * (xmax-xmin) / (h-1)) + xmin;
  52.  
  53.          // Calculamos LA FUNCION
  54.          y = (3*x*x) -6;
  55.  
  56.          // Escalamos la coordenada y dentro de los limites de la ventana
  57.          retorno = (int)( (y-ymin) * (w-1) / (ymax-ymin) );
  58.  
  59.          // Reconvertinos el valor cartesiano a punto de pantalla
  60.          retorno = h - retorno;
  61.  
  62.          return( retorno );
  63.  
  64.          }
  65.  
  66.     public static void main(String[] args) {
  67.         JFrame f = new JFrame();
  68.         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  69.         f.add(new GraphingData());
  70.         f.setSize(600,400);
  71.         f.setLocation(200,200);
  72.         f.setVisible(true);
  73.     }
  74. }

Última edición por celineadiction; 25/02/2011 a las 23:19