Professional Documents
Culture Documents
PASO 3
ANALIZAR LA INFORMACIÓN
Ingeniería de Sistemas
Computación Gráfica
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
ROLES A DESEMPEÑAR
ROL ESTUDIANTE
Compilador Eduard Andrés Fernández
Revisor Eduardo A Vergara Sánchez
Evaluador Oscar Javier Delgado
Entregas Javier Alexander Anaya Moreno
Alertas Luis Fernando Muriel Delgado
Desarrollo de una aplicación Java para la presentación de los diez principales productos
de la empresa Syris, los cuales se irán mostrando en una animación para luego irse
organizando en cuadrícula de una sola ventana. Para mostrar los detalles del producto,
el cliente al hacer clic sobre el artículo de interés, podrá interactuar con el artículo
haciendo uso del mouse o el teclado con lo cual podrá apreciarlo desde varios puntos de
vista. Para ello, haremos uso de las herramientas de transformación de imágenes que
nos proporciona el lenguaje de programación Java. De esta manera, la empresa Syris
tendrá un mayor impacto sobre sus clientes corporativos, acercándolos a sus productos
y asesorándolos de la forma de cómo estos llegarían hacer que sus negocios sean más
eficientes y rentables.
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
JDK
Si quiere acceder a tutoriales y datos de la aplicación puede dar clic en Next Steps o
sino puede dar clic en Close para culminar la instalación.
Para que nuestro compilador Java funcione, debemos agregar en el path del sistema la
ruta de nuestro compilador. En Windows 10 vamos a panel de control, sistema y
seguridad, sistema. Hacemos clic en Configuración avanzada del sistema y luego en la
ventana de “Propiedades del sistema” en la pestaña Opciones avanzadas se da clic en
el botón “Variables de entorno”.
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
Luego nos ubicamos dentro de Variables del sistema en la línea donde dice Path, luego
damos en el botón Editar, decimos nuevo y colocamos la ruta donde se encuentra los
ejecutables del compilador, para nuestro caso es: C:\Program
Files\Java\jdk1.8.0_162\bin. Damos clic en Aceptar en todas las ventanas.
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
LIBRERÍAS 3D
Java 3D Api
Ingresar al link: http://www.oracle.com/technetwork/articles/javase/index-jsp-
138252.html
LÍNEAS
Se trabaja con el programa NetBeans IDE 8.2, el cual permite realizar este tipo de
programación:
1. Se crea un proyecto nuevo.
2. Se selecciona la opción de Java Application, se da siguiente
3. Se le asigna el nombre de la aplicación
4. Se deja seleccionado la opción de crear clase principal.
package Imagenes_Primitivas;
public class Imagenes_Primitivas
{
public static void main(String[] args)
{
Panel Formu = new Panel();
Formu.setVisible (true);
}
}
Este código nos sirve para inicializar el formulario que se diseña
public Panel() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(51, 102, 255));
setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
Dibujar.setText("Dibujar");
Dibujar.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
DibujarMouseClicked(evt);
}
});
Dibujar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
DibujarActionPerformed(evt);
}
});
tableroLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGap(0, 585, Short.MAX_VALUE)
);
tableroLayout.setVerticalGroup(
tableroLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGap(0, 261, Short.MAX_VALUE)
);
seleccion.add(Linea);
Linea.setText("Línea");
Linea.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
LineaActionPerformed(evt);
}
});
seleccion.add(Poligono);
Poligono.setText("Poligono");
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
seleccion.add(Circulo);
Circulo.setText("Círculo");
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap(19, Short.MAX_VALUE)
.addComponent(tablero, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18))
.addGroup(layout.createSequentialGroup()
.addGap(128, 128, 128)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD
ING)
.addGroup(layout.createSequentialGroup()
.addGap(98, 98, 98)
.addComponent(jLabel1)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD
ING)
.addComponent(Linea)
.addComponent(Circulo)
.addComponent(Poligono))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Dibujar)
.addGap(173, 173, 173))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
.addGap(9, 9, 9)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAI
LING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 27,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(15, 15, 15)
.addComponent(Dibujar)
.addGap(25, 25, 25))
.addGroup(layout.createSequentialGroup()
.addComponent(Poligono)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Linea)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))
.addComponent(Circulo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tablero, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(27, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
}
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
package Imagenes_Primitivas;
import java.awt.Graphics;
public class Puntos {
public static void linea ( Graphics g, int x1, int y1, int x2, int y2 )
{
g.drawLine(x1,y1,x2,y2);
}
}
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
CÍRCULOS
Graficar un Circulo en Java Netbeans
Abrir el IDE, en esta caso NetBeans, luego ingresar por la opción File, luego New
Project, allí seleccionar Java Appliaction y dar clic en Next.
En la siguiente ventana ingresar el nombre del proyecto, para este ejemplo se colocó
GraficarCirculo. Marcar la opción Create Main Class y para finalizar dar clic en Finish.
Luego proceder a importar las librerías requeridas y la programación del código para la
graficación del círculo.
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
A continuación estas son las líneas de código para la graficación del circulo:
package graficarcirculo;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public GraficarCirculo()
{
super("Graficar un circulo:");
setSize(470,570);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void paint (Graphics g)
{
super.paint(g);
Graphics2D circulo=(Graphics2D)g;
circulo.setStroke(new BasicStroke(10.f));
circulo.setPaint(Color.green);
radio=Double.parseDouble(JOptionPane.showInputDialog("Ingrese el radio del
circulo a dibujar"));
diametro=(radio*2);
circulo.fillOval(30,150,(int)diametro,(int)diametro);
}
public static void main(String[] args) {
new GraficarCirculo();
}
}
Finalmente se ingresa el valor del radio del circulo a dibujar, dar clic en Aceptar y se
visualiza como se grafica un circulo de color verde.
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
POLÍGONOS
Se trabaja con el programa NetBeans IDE 8.2, el cual permite realizar este tipo de
programación:
1. Se crea un proyecto nuevo.
2. Se selecciona la opción de Java Application, se da siguiente
3. Se le asigna el nombre de la aplicación
4. Se deja seleccionado la opción de crear clase principal.
package Imagenes_Primitivas;
public class Imagenes_Primitivas
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
{
public static void main(String[] args)
{
Panel Formu = new Panel();
Formu.setVisible (true);
}
}
Este código nos sirve para inicializar el formulario que se diseña
public Panel() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(51, 102, 255));
setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
Dibujar.setText("Dibujar");
Dibujar.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
DibujarMouseClicked(evt);
}
});
Dibujar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
DibujarActionPerformed(evt);
}
});
tableroLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGap(0, 585, Short.MAX_VALUE)
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
);
tableroLayout.setVerticalGroup(
tableroLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
)
.addGap(0, 261, Short.MAX_VALUE)
);
seleccion.add(Linea);
Linea.setText("Línea");
Linea.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
LineaActionPerformed(evt);
}
});
seleccion.add(Poligono);
Poligono.setText("Poligono");
seleccion.add(Circulo);
Circulo.setText("Círculo");
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap(19, Short.MAX_VALUE)
.addComponent(tablero, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18))
.addGroup(layout.createSequentialGroup()
.addGap(128, 128, 128)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD
ING)
.addGroup(layout.createSequentialGroup()
.addGap(98, 98, 98)
.addComponent(jLabel1)
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEAD
ING)
.addComponent(Linea)
.addComponent(Circulo)
.addComponent(Poligono))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(Dibujar)
.addGap(173, 173, 173))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(9, 9, 9)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAI
LING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1,
javax.swing.GroupLayout.PREFERRED_SIZE, 27,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(15, 15, 15)
.addComponent(Dibujar)
.addGap(25, 25, 25))
.addGroup(layout.createSequentialGroup()
.addComponent(Poligono)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Linea)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)))
.addComponent(Circulo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tablero, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(27, Short.MAX_VALUE))
);
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
pack();
}// </editor-fold>
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Panel().setVisible(true);
}
});
}
package Imagenes_Primitivas;
import java.awt.Graphics;
public class Puntos {
public static void poligono (Graphics g, int x1,int y1, int ancho,int alto)
{
g.drawRect(x1, y1, ancho, alto);
}
}
Universidad Nacional Abierta y a Distancia – UNAD - Vicerrectoría Académica y de Investigación – VIACI
Escuela: Escuela De Ciencias Básicas Tecnología E Ingeniería Programa: Ingeniería de Sistemas
Curso: Computación Gráfica Código: 299210
REFERENCIAS
http://recursosformacion.com/wordpress/2013/05/java-para-
programadores-5-3los-metodos-graphics-y-paint/
Gálvez Rojas, Alcaide García y Mora Mata. (2007). Java a tope: Java2D
(Cómo tratar con Java figuras, imágenes y texto en dos dimensiones).
Edición electrónica. Recuperado de
https://books.google.com.co/books?id=M6reV4TGyIQC&lpg=PP1&dq
=graficos%202d%20en%20java%20netbeans&hl=es&pg=PP2#v=on
epage&q&f=false