Linea


PRIMITIVA GRAFICA LINEA

INTRODUCCION
     Es una primitiva gráfica que esta especificada por dos puntos:
    Sus extremos.
    Lo que entendemos por línea es lo que en matemáticas entendemos por segmento.
    También le podremos especificar algunas propiedades.


  
 Caracterización matemática:
y = mx + b  


ALGORITMO GRAFICO LINEA (JAVA)

     Public void paint(Graphics g) {
        super.paint (g);
           int dx = x1 - x0;
        int dy = y1 - y0;

         if (Math.abs(dx) > Math.abs(dy))
        {        
            float m = (float) dy / (float) dx;
            float b = y0 - m * x0;
            if(dx<0 o:p="o:p">
                dx =  -1;
            else
                dx =  1;
            while (x0 != x1)
            {
                x0 += dx;
                y0 = Math.round(m*x0 + b);
                g.drawLine( x0, y0, x0, y0);
            }
        } else
        if (dy != 0)
        {                             
            float m = (float) dx / (float) dy;     
            float b = x0 - m*y0;
            if(dy<0 o:p="o:p">
                dy =  -1;
            else
                dy =  1;
            while (y0 != y1)
            {
                y0 += dy;
                x0 = Math.round(m * y0 + b);
                g.drawLine( x0, y0, x0, y0);
            }
        }
        
  
   public void lineaycirculo() {
       repaint();
      
   }
     

     EJERCICIO
Desarrollar un ejercicio en NetBeans java con la primitiva grafica línea.

PASO1: Crear un nuevo proyecto, abriremos netbeans y le daremos en archivo luego la opción nuevo proyecto, después se desplegara esta ventana y escogemos la categoría java y a la derecha de la misma ventana escogemos la opción Java class Library y luego presionamos next o siguiente.








Ahora le daremos un nombre a nuestro proyecto y será LINEA….






PASO 2: Ahora crearemos un paquete, le daremos clic derecho sobre la opción con el nombre (default package) luego New y después  escogemos la opción Java Package.




Ahora se desplegara esta ventana debes poner un nombre en este caso será primitivalinea y le damos Finish.





Ahora de la misma forma crearemos un JFRAME daremos click derecho sobre el paquete primiva línea luego la opcin new y después la opción Jframe form.






Despues se desplegara esta ventana deberemos poner un nombre y sera Ejecutora lla q esta sera la que se ejecutara cuando mandemos a copilar la aplicación.




Ahora igual que creamos el jfame crearemos un JPANEL seguimos los mismos pasos pero ahora escogeremos la opción Jpanel y después le daremos un nombre q será Lienzo.






Si siguieron los pasos correctamente el proyecto quedara de esta forma:


PASO 3: Ahora nos ubicaremos dentro del JPANEL le damos click derecho sobre Lienzo y damos click sobre la opción Open donde escribiremos la siguiente programación:





Luego escogemos la pestaña source y aquí es donde meteremos el algoritmo grafico







Primero importaremos servicios:
package primitivalinea;
import java.awt.Graphics;
import java.awt.Color;

Ahora declararemos variables para leer las coordenadas y el color:

public class Lienzo extends javax.swing.JPanel
{
    //Atributos--> Leer Coordenadas.
    private int x0;
    private int y0;
    private int x1;
    private int y1;
    Color color;
   
Ahora implementaremos las propiedades escritura:

    public void setX0(int x0) {
        this.x0 = x0;
    }

    public void setY0(int y0) {
        this.y0 = y0;
    }

    public void setX1(int x1) {
        this.x1 = x1;
    }

    public void setY1(int y1) {
        this.y1 = y1;
    }
   


Este código aparece por default…

    public Lienzo()
    {
        initComponents();
    }

Bien ahora viene la parte más importante de este ejercicio que es donde pondremos el ALGORITMO DE LA PRIMITIVA LINEA:

    @Override
    public void paint(Graphics g)
    {
        super.paint(g);
        g.setColor(color.red);
        int dx = x1 - x0;
        int dy = y1 - y0;

         if (Math.abs(dx) > Math.abs(dy))
        {        
            float m = (float) dy / (float) dx;
            float b = y0 - m * x0;
            if(dx<0 o:p="o:p">
                dx =  -1;
            else
                dx =  1;
            while (x0 != x1)
            {
                x0 += dx;
                y0 = Math.round(m*x0 + b);
                g.drawLine( x0, y0, x0, y0);
            }
        } else
        if (dy != 0)
        {                             
            float m = (float) dx / (float) dy;     
            float b = x0 - m*y0;
            if(dy<0 o:p="o:p">
                dy =  -1;
            else
                dy =  1;
            while (y0 != y1)
            {
                y0 += dy;
                x0 = Math.round(m * y0 + b);
                g.drawLine( x0, y0, x0, y0);
            }
        }
    }
   
    public void DibujarPrimitivaLinea()
    {
      repaint();
    }
Este codigo se genera al crear el Jpanel….
    @SuppressWarnings("unchecked")
}

PASO 4: Ahora tendremos que ir al JFRAME para diseñar el formulario y programar lo que haga falta……….





El diseño quedara asi y utilizamos:
·        Cuatro cajas de texto
·        Cuatro label
·        Un botón
Ahora arrastraremos con el mouse el Jpanel de nombre lienzo que se encuentra en la parte izquierda hasta el centro del formulario que diseñamos anteriormente ósea hasta el Jframe….




Deberá quedar así.

Ahora le daremos doble click en el botón dibujar y pondremos este código



PASO 5: Ahora solo queda mandar a ejecutar la aplicación y verificar si funciona correctamente… le damos click al Jframe (ejecutora) y luego le damos ejecutar….


Ahora solo queda ingresar las coordenadas y presionar el botón dibujar…..





    















No hay comentarios:

Publicar un comentario