Elaboración de un programa que grafique en 2D
Enviado por Jordan PVZ • 19 de Noviembre de 2020 • Tutorial • 2.304 Palabras (10 Páginas) • 89 Visitas
[pic 1][pic 2][pic 3]
[pic 4][pic 5]
[pic 6]
[pic 7]
[pic 8]
Índice
Introducción---------------------------------------------------------------------2
Código del programa----------------------------------------------------------3
Desarrollo y pantallazos ----------------------------------------------------13
Resultados ---------------------------------------------------------------------20
Conclusiones-------------------------------------------------------------------21
Bibliografía/Linkografía------------------------------------------------------22
INTRODUCCION
La materia de graficacion se realizará una gráfica 2D donde se utiliza principalmente en aplicaciones que fueron desarrolladas originalmente sobre tecnologías de impresión y dibujo tradicionales, tales como tipografía, cartografía, dibujo técnico, publicidad, etc. En estas aplicaciones, la imagen bidimensional no es sólo una representación de un objeto del mundo real, sino un artefacto independiente con valor semántico añadido; los modelos bidimensionales son preferidos, por lo tanto, porque dan un control más directo de la imagen que los gráficos 3D por computadora (cuyo enfoque es más semejante a la fotografía que a la tipografía).
Los gráficos 2D por computadora se han iniciado en la década de 1950, basándose en dispositivos de gráficos vectoriales. Éstos fueron suplantados en gran parte por dispositivos basados en gráficos ráster en las décadas siguientes. El lenguaje PostScript y el protocolo de sistema de ventanas X fueron piezas claves en la evolución histórica del campo.
CODIGO DEL PROGRAMA EN JAVA NETBEANS
import javax.swing.*;
import java.awt.*;
import java.awt.geom.*;
import java.awt.event.*;
public class Dibujo_animado extends JPanel
{
GeneralPath montaña = new GeneralPath();
GeneralPath pala_molino = new GeneralPath();
static int numero;
float tamaño;
double [] limites = new double[] {0,7,4,-1};
Dibujo_animado()
{
setPreferredSize(new Dimension(720,500));
montaña.moveTo(0,-1);
montaña.lineTo(0,0.9);
montaña.lineTo(1.5,1.65);
montaña.lineTo(1.8,1.3);
montaña.lineTo(3,2.1);
montaña.lineTo(4.7,0.7);
montaña.lineTo(6.1,1.2);
montaña.lineTo(9,0.8);
montaña.lineTo(8,-1);
montaña.closePath();
pala_molino.moveTo(0,0);
pala_molino.lineTo(0.5,0.1);
pala_molino.lineTo(1.5,0);
pala_molino.lineTo(0.5,-0.1);
pala_molino.closePath();
new Timer(30,new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
numero++;
repaint();
}
}).start();
}
protected void paintComponent(Graphics g)
{
Graphics2D g2D = (Graphics2D)g;
g2D.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
controlar_limites(g2D, getWidth(), getHeight(), limites);
g2D.setColor( new Color(154,243,252) );
g2D.fillRect(0,0,7,4);
g2D.setColor( new Color(51,204,51) );
g2D.fill(montaña);
g2D.setColor(new Color(119,119,165));
g2D.fill(new Rectangle2D.Double(0,-0.4,7,0.8));
g2D.setStroke( new BasicStroke(0.1F, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 0,new float[] { 0.2F, 0.2F }, 1) );
g2D.setColor(Color.WHITE);
g2D.drawLine(0,0,7,0);
g2D.setStroke( new BasicStroke(tamaño));
AffineTransform transformacion = g2D.getTransform();
g2D.translate(5,3.3);
dibujar_sol(g2D);
g2D.setTransform(transformacion);
g2D.translate(0.85,1);
g2D.scale(0.6,0.6);
dibujar_molino(g2D);
g2D.setTransform(transformacion);
g2D.translate(2.3,1.5);
g2D.scale(0.4,0.4);
dibujar_molino(g2D);
g2D.setTransform(transformacion);
...