martes, 20 de septiembre de 2011

Ecuacion de la recta

Implementar un programa que realice la Ecuación de la Recta y determine la distancia del punto medio.
Panel.java
package EcuacionRecta;

//para iniciar la aplicación es necesario importar las librerías
//fichero de gráficos
import java.awt.*;
import java.awt.Graphics;

public class panel extends javax.swing.JPanel {

    //creo variables
    private int x0, y0;
    private int x1, y1;

//inicializo variables con el método de escritura setter
    public void setX0(int x0) {
        this.x0 = x0;
    }
    public void setX1(int x1) {
        this.x1 = x1;
    }
    public void setY0(int y0) {
        this.y0 = y0;
    }
    public void setY1(int y1) {
        this.y1 = y1;
    }
    public panel() {
        initComponents();
    }
@SuppressWarnings("unchecked")
Generated Code      
@Override

    //Método de la interfaz dibujable
    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(Color.orange);
        g.drawLine(this.x0, this.y0, this.x1, this.y1);

        //Genero cálculos para las diferentes funciones de la ecuación de recta
        Calculos obj1 = new Calculos(this.x0, this.y0, this.x1, this.y1);
        double mx = obj1.PMedio_x();
        double my = obj1.PMedioY();
        double p = obj1.DistanciaPuntos();
        double d = obj1.PTotal();

        //VARIABLES VISUALIZADAS EN LA PANTALLA
        String recta1 = "Punto_X =" + String.valueOf(mx);
        String recta2 = "Punto_Y=" + String.valueOf(my);
        String PMedio = "Punto Medio" + String.valueOf(d);
        String Distancia = "Distancia=" + String.valueOf(p);

//ESCRIBO LAS COORDENADAS EN EL EJE X Y EL EJE Y EN LA EJECUCION
        g.drawString(recta1, 5, 10);
        g.drawString(recta2, 200, 10);
        g.drawString(PMedio, 5, 40);
        g.drawString(Distancia, 200, 40);
        }
//PARA PODER VOLVER A DIBUJAR
    public void DibujarLineaRecta() {
        repaint();
    }
// Variables declaration - do not modify                    
    // End of variables declaration                   

} //fin de la clase panel

Principal .java
package EcuacionRecta;

public class principal extends javax.swing.JFrame {

    public principal() {
        initComponents();
    }
@SuppressWarnings("unchecked")
Generated Code     

//Genero código desde el botón graficar
    //insert code Jcomponent llamo al metodo paint(grapichs.g)
    private void GraficarActionPerformed(java.awt.event.ActionEvent evt) {
         int X0=Integer.parseInt(this.txtX0.getText());
        int Y0=Integer.parseInt(this.txtY0.getText());
        int X1=Integer.parseInt(this.txtX1.getText());
        int Y1=Integer.parseInt(this.txtY1.getText());
       
        //Llamo al panel para poder graficar
        panel1.setX0(X0);
        panel1.setY0(Y0);
        panel1.setX1(X1);
        panel1.setY1(Y1);
        panel1.DibujarLineaRecta();
    }                                       

/**
    * @param args the command line arguments
    */

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new principal().setVisible(true);
            }
        });
    }

// Variables declaration - do not modify                    
    private javax.swing.JButton Graficar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPanel jPanel1;
    private EcuacionRecta.panel panel1;
    private javax.swing.JTextField txtX0;
    private javax.swing.JTextField txtX1;
    private javax.swing.JTextField txtY0;
    private javax.swing.JTextField txtY1;
    // End of variables declaration                  

}//fin de la clase principal
Calculos.java

package EcuacionRecta;

public class Calculos {

//Declaro Atributos y variables de instancia
   private int x0, x1;
   private int y0, y1;

 //método constructor-convencional, dar clic derecho, insert code, constructor,    aparece sintaxis
   public Calculos (int x0, int y0, int x1, int y1){
        this.x0=x0;
        this.y0=y0;
        this.x1=x1;
        this.y1=y1;
   }

//para calcular el punto medio en X de la ecuación de la recta
 public double PMedio_x (){
      double mx= ((this.x0+this.x1)/2);
      //retorna valor en x
      return mx;
      }

 //para calcular el punto medio en Y de la ecuación de la recta
  public double PMedioY(){
      double my=((this.y0+this.y1)/2);
      //retorna valor en y
      return my;
  }
//Calcula la distancia los puntos X y Y
  public  double DistanciaPuntos(){
   double p = Math.sqrt((Math.pow((this.x1 - this.x0), 2)) + (Math.pow((this.y1 - this.y0), 2)));
  //Retorna el valor de la distancia
   return p;
   }

  //Calcula el punto medio total entre X y Y
  public double PTotal(){
      double d =this.DistanciaPuntos();
      double PTotal = d/2;
      //retorna el valor del punto medio total
      return PTotal;
  }

}//Fin de la clase Calculos
Capturas de Pantalla
Panel




Principal



Calculos.java



Prueba de Ejecución del programa