1 / 13

Primitivas de Dibujo y Transformaciones Programas en Java

Graficaci ó n IA7200-T. Primitivas de Dibujo y Transformaciones Programas en Java. Primitivas de Dibujo Swing de Java: drawLine() drawRect() drawString() Formas Simples: Rectangle Ellipse Aplicaciones de Java Objetos JFrame Objetos JPanel. Trasformaciones de Coordenadas

efia
Download Presentation

Primitivas de Dibujo y Transformaciones Programas en Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GraficaciónIA7200-T Primitivas de Dibujo y Transformaciones Programas en Java

  2. Primitivas de Dibujo Swing de Java: drawLine() drawRect() drawString() Formas Simples: Rectangle Ellipse Aplicaciones de Java Objetos JFrame Objetos JPanel Trasformaciones de Coordenadas Translación Rotación Escalamiento Deformación (Shearing) Recortes de Coordenadas Rectilineo Por forma Contenido

  3. Programas completos que pueden ser ejecutados de forma independiente Es más difícil escribir programas simples que Applets Demasiado código alrededor de la aplicación, que los applets proporcionan de manera automática Heredar (Extend) de un Frame o JFrame Jframe = entidad Swing Aplicaciones Java

  4. MyProg01 Rectángulo negro en fondo blanco Estructura: Un JPanel dentro de un JFrame Método paintComponent() Más acerca de Java y Swing en el curso El manejador de ventanas lanza una ventana independiente para la aplicación, con sus propias gráficas, botones, etc. Se puede correr desde una terminal Aplicaciones Java

  5. MyProg02 Misma estructura que MyProg01 Diferentes comandos de graficación Cada vez que el sistema llama a paintComponent() se imprime: paintComponent: ancho=532 paintComponent: alto=532 Se puede usar setResizeable(true) para que el usuario pueda cambiar el tamaño se la ventana en tiempo de ejecución. Aplicaciones Java

  6. translate(x, y); Puede ser aplicado e objetos de tipo Graphics o Graphics2D Desplaza el origen en magnitudes x, y No distorsiona Desliza el dibujo en el espacio de Coordenadas Cartesianas Transformaciones: Translación

  7. rotate(angulo); Angulo debe estar en radianes 360°= 2 π radianes Puede ser aplicado a Graphics y Graphics2D Rota el dibujo Un ángulo positivo va del eje +x al eje +y Recuerden que y “va hacia abajo” Transformaciones: Rotación

  8. scale(x,y); Puede usarse con Graphics y Graphics2D Estira o encoge el espacio de coordenadas Ejemplo: scale( 1.0, -1.0); Hace que la y “vaya hacia arriba” Transformaciones: Escalamiento

  9. shear(shx, shy); El primer argumento es la deformación en dirección x, como factor de y El segundo es la deformación de y como factor de x Distorciona el espacio de dibujo Puede ser usado con Graphics y Graphics2D Transformaciones: Deformación (Shearing)

  10. MyProg03 Mismo código que MyProg01 y 02 Demuestra las Transformaciones Afines y corre hacia abajo, los ángulos positivos se ven como negativos Ángulos positivos van de +x a +y (convención) Más tarde estudiaremos la trigonometría y álgebra lineal de estas transformaciones Aplicaciones Java

  11. MyProg04 Mismo código que 01-03 Usa una Constante int SQUARE_SIZE =10 Dibuja un patrón espiral usando transformaciones afines sucesivas Rota 12 grados, y traslada progresivamente Aplicaciones Java

  12. MyProg05 Ejemplo de Recorte (Clipping) Clipping es limitar el área de dibujo - i.e. Recortando partes indeseadas Podemos usar recortes rectlíneos simples O mas complejos - v.g. un círculo Aplicaciones Java

  13. Podemos escribir aplicaciones de Java que corren en su propia ventana usando JFrames La biblioteca de Swing tiene muchas primitivas interesantes para dibujo Hay muchas formas geométricas útiles y rutinas diversas Las Transformaciones pueden ser aplicadas al espacio de coordenadas de dibujo Se puede hacer Clipping para limitar lo que dibujamos Los programas estudiados usan código estático de dibujo Escribiremos programas más interesantes que decidan dinámicamente que dibujar (render)… Resumen

More Related