3.4 LINEAS Y SUPERFICIES CURVAS
LINEAS
La recta es una sucesión infinita o continua de puntos a lineados en una sola dirección. Es una de las primitivas gráficas en computación gráfica viene dada por la ecuación y= m. x+ b, donde m es la pendiente de la recta y v es el corte con el eje y. Como los pixeles se grafican en posiciones enteras, la línea trazada solo puede aproximar posiciones de líneas reales entre los puntos extremos especificados. Una línea recta debe dibujarse como una sucesión de pixeles.
Efecto de escalera que se
produce cuando se genera una línea como una serie de pixeles
.
TRASFORMAR PRIMITIVAS EN PIXELES
TRASFORMAR PRIMITIVAS EN PIXELES
Las coordenadas de los
pixeles deben estar lo más cerca posible de una línea recta real. Un algoritmo
debe cumplir con:
*La secuencia de pixeles
debe ser lo más recta que se pueda.
*Las líneas deben tener el
mismo grosor e intensidad sin importar el grado de inclinación.
*Las líneas deben dibujarse
lo más rápido posible.
ALGORITMOS PARA TRAZO DE LINEAS
ALGORITMO DDA.
El analizador diferencial
digital (DDA) es un algoritmo que sirve para calcular posiciones de pixeles a
lo largo de una línea, mediante el uso de la ecuación.
∆y=m. ∆x
Ecuación básica de la recta
y=m. x+ b m es la pendiente y v es la intersección con el eje y.
ALGORITMO DE BRESENHAM.
Calcula cual de dos pixeles
es el más cercano a la trayectoria de una línea.
El pixel x (i), y(i) se
divide en (xi+1,yi)(xi+1,yi+1) hay que decidir cuál pintar calculando la
distancia vertical entre el centro de cada pixel y la línea real. Las
posiciones de los pixeles se representan por las áreas rectangulares numeradas.
Sección de una retícula de
la pantalla donde se desplegara una línea que pasara por:
(Xi, Yi)
(Xi, Yi)
De aquí se tiene y=m (xi+1)+b
Definimos:
d1=y- yi=m (xi+1)+b-yi
d1=y- yi=m (xi+1)+b-yi
d2= (y1+1)-y=y1+1-m (xi+1)-b
La diferencia es:
Definimos pi como:
Donde c es:
Obtenemos pi+1 de pi como:
ATRIBUTOS DE LAS PRIMITIVAS DE SALIDA
Estilo de líneas
*Los atributos de estilo de
línea determinan la forma en que se desplegara una línea por medio de una
rutina de trazo de líneas. Los atributos de línea son su tipo, su anchura y su
color.
Tipo de línea
Los atributos de línea
incluyen las líneas sólidas, líneas punteadas con líneas y punteadas. El método
setStrokeStyle permite cambiar el estilo de línea.
Este método acepta los
siguientes valores:
a) Graphics.SOLID - línea
solida
b) Graphics.DOTTED- línea de
puntos
GRAPHICS 2D SETSTROKE
Un objeto basicstroke
contiene información sobre la anchura de la línea, estilo de uniones, estilos
finales, y estilo de punteado. Esta información se usa cuando se dibuja una
Shape con el método DRAW.
La anchura de línea es la
longitud de la línea medida perpendicularmente a su trayectoria. La anchura de
la línea se especifica como un valor float en las unidades de coordenadas de
usuario, que es equivalente 1/72 pulgadas cuando se utiliza la transformación
por defecto.
Nota:
Para rellenar o puntear un
gráfico primitivo, necesitamos hacer dos llamadas separadas a métodos fill o
drawString para rellenar el interior y draw para dibujar el exterior. Los 3
estilos de línea usados en este ejemplo ancho, estrecho y punteado son
ejemplares de:
BasicStroke:
// Sets the Stroke.
Case 0: g2.setStroke
(new BasicStroke (3.0f)); break;
Case 1: g2.setStroke
(new BasicStroke (8.0f)); break;
Case 2: float dash []
= {10.0f};
g2.setStroke (new
BasicStroke (3.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, dash,
0.0f));
Break;
BASICSTROKE SOPORTA 3 ESTILOS DE UNIÓN:
*JOIN_BEVEL
*JOIN_MITER
*JOIN_ROUND
El estilo de finales es la decoración que se aplica cuando un segmento de línea termina.
BASICSTROKE soporta 3 estilos de finalización:*CAP_BUTT
*CAP_ROUND
*CAP_SQUARE
*CAP_SQUARE
El elemento 0 representa el
primer punteado, el elemento 1 el primer espacio, etc. La fase de punteado es
un desplazamiento en el patrón de punteado, también especificado en unidades de
coordenadas de usuario. La fase de punteado indica que parte del patrón de
punteado se aplica al principio de la línea.
PATRÓN DE RELLENO.
PATRÓN DE RELLENO.
Los patrones de relleno están definidos por el atributo Paint en el contexto Graphics2d. Para seleccionar el atributo paint, se crea un ejemplar de un objeto que implemente el interface paint y eso pasa dentro del método Graphics2d setPaint.
ANCHURA DE LINEA.
La implementación de las opciones de anchura de líneas dependen del tipo de dispositivo de salida que se utilice Una línea ancha en un monitor de vídeo podría trazarse como líneas paralelas adyacentes, mientras que una graficadora de pluma podría requerir cambios de pluma. Como sucede con otros atributos puede usarse como comando de anchura de línea para fijar la anchura regular de la línea. Color de línea.
Cuando un sistema ofrece
sistemas de color (o bien de intensidad) un parámetro que da el índice de color
regular se incluye en la lista de valores de atributos del sistema. Método para
cambiar color.
*setColor (int color)
*setColor (int rojo, int
verde, int azul)
CONCLUSION:
Los
despliegues de líneas y superficies curvas tridimensionales se pueden generar a
partir de un conjunto de entrada de funciones matemáticas que definen los
objetos o de un conjunto de puntos de datos específicos para el usuario. Cuando
las funciones se especifican, un paquete puede proyectar las ecuaciones de
definición para una curva hacia el plano de despliegue y trazar las posiciones
de pixel a lo largo de la trayectoria de la función proyectada Para las
superficies, con frecuencia se tesela una descripción funcional para producir
una aproximación de enlace de polígonos a la superficie.
BIBLIOGRAFIA:








No hay comentarios:
Publicar un comentario