Sei sulla pagina 1di 19

Materia: Graficacin.

Profesor: Cesar Augusto Villela Muoz

Nombre: William Velzquez Yez

Trabajo: Lneas y Superficies Curvas

San Luis Potos, San Luis Potos

Fecha: 09/05/16
Contenido
LINEAS ................................................................................................................................................. 3
TRASFORMAR PRIMITIVAS EN PIXELES ............................................................................................. 4
ALGORITMOS PARA TRAZO DE LINEAS .............................................................................................. 4
ALGORITMO DDA............................................................................................................................ 4
ALGORITMO DE BRESENHAM ............................................................................................................ 4
ATRIBUTOS DE LAS PRIMITIVAS DE SALIDA....................................................................................... 6
Estilo de lineas ................................................................................................................................ 6
Tipo de linea ................................................................................................................................... 6
GRAPHICS 2D SETSTROKE ................................................................................................................... 7
BASICSTROKE SOPORTA 3 ESTILOS DE UNIN: ................................................................................. 7
PATRN DE RELLENO...................................................................................................................... 8
ANCHURA DE LINEA ........................................................................................................................ 8
Color de linea .................................................................................................................................. 8
SUPERFICIES CURVAS ......................................................................................................................... 9
ECUACIONES PARAMETRICAS .......................................................................................................... 10
REPRESENTACIONES DE "SPLINE" .................................................................................................... 14
Curvas B-spline ............................................................................................................................. 14
CURVAS Y SUPERFICIES DE BEZIER ................................................................................................... 16
Curvas de Bezier ........................................................................................................................... 16
Curvas lineales( grado 1) .............................................................................................................. 16
Curvas cuadrticas (grado 2) ........................................................................................................ 17
Propiedades de Bezier. ................................................................................................................. 18
Desventajas de las curvas de Bezier ............................................................................................ 19
Aplicaciones de la curva de Bezier ............................................................................................... 19
LINEAS

La recta es una sucesin infinita o continua de puntos a lineados en una


sola direccin. Es una de las primitivas grficas en computacin grfica viene dada
por la ecuacin 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 linea trazada solo puede
aproximar posiciones de lineas reales entre los puntos extremos especificados.

Una linea recta debe dibujarse como una sucesin de pixeles.

Efecto de escalera que se produce cuando se genera una linea como una serie de
pixeles .
TRASFORMAR PRIMITIVAS EN PIXELES

Las coordenadas de los pixeles deben estar lo mas cerca posible de una linea recta
real.

Un algoritmo debe cumplir con:


*La secuencia de pixeles debe ser lo mas recta que se pueda.
*Las lineas deben tener el mismo grosor e intensidad sin importar el grado
de inclinacin.
*Las lineas deben dibujarse lo mas rpido 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 linea, mediante el uso de la ecuacin.

y=m.x

Ecuacin bsica de la recta y=m.x+b


m es la pendiente y v es la interseccin con el eje y

ALGORITMO DE BRESENHAM

Calcula cual de dos pixeles es el mas cercano a la trayectoria de una linea.


El pixel x(i),y(i) se divide en (xi+1,yi)(xi+1,yi+1) hay que decidir cual pintar calculando
la distancia vertical entre el centro de cada pixel y la linea real.

Las posiciones de los pixeles se representan por


las reas rectangulares numeradas.
Seccin de una retcula de la pantalla donde se desplegara una linea que pasara
por:

(Xi,Yi)

De aqu se tiene y=m(xi+1)+b

Definimos:
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 lineas
*Los atributos de estilo de linea determinan la forma en que se desplegara una linea
por medio de una rutina de trazo de lineas. Los atributos de linea son su tipo,su
anchura y su color.

Tipo de linea

Los atributos de linea incluye las lineas solidas,lineas punteadas con lineas y
punteadas.

El mtodo setStrokeStyle permite cambiar el estilo de linea.

Este mtodo acepta los siguientes valores:


a) Graphics.SOLID - linea solida
b) Graphics.DOTTED- linea de puntos
GRAPHICS 2D SETSTROKE

Un objeto basicstroke contiene informacin sobre la anchura de la linea, estilo de


uniones, estilos finales, y estilo de punteado.Esta informacin se usa cuando se
dibuja una Shape con el mtodo DRAW.

La anchura de linea es la longitud de la linea medida perpendicularmente a su


trayectoria. La anchura de la linea se especifica como un valor float en las unidades
de coordenadas de usuario, que es equivalente 1/72 pulgadas cuando se utiliza la
tranformacion por defecto.

Nota:
Para rellenar o puntear un grfico primitivo,necesitamos hacer dos llamadas
separadas a mtodos fill o drawString para rellenar el interior y draw para dibujar el
exterior.

Los 3 estilos de linea 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 UNIN:

*JOIN_BEVEL
*JOIN_MITER
*JOIN_ROUND

El estilo de finales es la decoracin que se aplica cuando un segmento de linea


termina.
BASICSTROKE soporta 3 estilos de finalizacin:

*CAP_BUTT
*CAP_ROUND
*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 patrn de
punteado, tambin especificado en unidades de coordenadas de usuario. La fase
de punteado indica que parte del patrn de punteado se aplica al principio de la
linea.

PATRN DE RELLENO
Los patrones de relleno estn definidos por el atributo Paint en el
contexto Graphics2d. Para seleccionar el atributo paint, se crea un ejemplar de un
objecto que implemente el interface paint y eso pasa dentro del mtodo Graphics2d
setPaint.

ANCHURA DE LINEA
La implementacion de las opciones de anchura de lineas dependen del tipo de
dispositivo de salida que se utilice Una linea ancha en un monitor
de vdeo podra trazarse como lineas paralelas adyacentes, mientras que una
graficadora de pluma podra requerir cambios de pluma . Como sucede con otros
atributos puede usarse como comando de anchura de linea para fijar la anchura
regular de la linea.

Color de linea

Cuando un sistema ofrece sistemas de color (o bien de intensidad)


un parmetro que da el indice de color regular se incluye en la lista de valores de
atributos del sistema.

Mtodo para cambiar color


*setColor(int color)
*setColor(int rojo,int verde,int azul)
SUPERFICIES CURVAS

Los despliegues tridimensionales de las superficies curvas pueden generarse a


partir de un conjunto de entrada de las funciones matemticas que define la
superficies o bien a partir de un conjunto de puntos de datos especificados por el
usuario.Cuando se especifican funciones de curvas, un paquete puede emplear las
ecuaciones definidoras para localizar y grfica posiciones de pixeles a lo largo de la
trayectoria de la curva, casi igual como sucede con las curvas en dos
dimensiones.Un ejemplo de la clase de superficies que pueden generarse a
partir de una definicin funcional seda en la figura. A partir de un conjunto de datos
de entrada, un paquete determina las descripciones funcionales de la curva que
mejor se ajusta a los puntos de datos segn las restricciones de la aplicacin En la
figura 1.7 se muestra un objeto cuya superficies curvas pueden ser definidas por un
conjunto de entrada de punto de datos.

Podemos representar una linea curva tridimensional en forma analtica con la


pareja de funciones.

y=f(x), z=g(x)

Con la coordenada x seleccionada como variable independiente.los valores de las


variables dependientes y,z se determinan despus a partir de las ecuaciones 1.6 a
medida que se avanza a travs de valores de x de un extremo de la linea al
otro.Esta representacin tiene algunas desventajas.Si se desea
una grfica alisada,se debe cambiar la variable independiente siempre que la
primera derivada (pendiente) de f(x) o bien g (x) se vuelve mayor que 1.Esto significa
que se debe verificar continuamente los valores de las derivadas,que pueden
volverse infinitas en algunos puntos. As mismo, las ecuaciones anteriores ofrecen
un formato desproporcionado para representar funciones con valores mltiples.
Una representacin mas propicia de las curvas para las aplicaciones de
las grficas es en trminos de ecuaciones parametricas.

ECUACIONES PARAMETRICAS

Mediante la introduccin de un curto parmetro, u, en la descripcin coordenada de


una curva, se puede expresar cada una de las tres coordenadas cartesianas en
forma parametrica. Cualquier punto de la curva puede representarse entonces por
medio de la funcin vectorial.

p(u)=(x(u),y(u),z(u))

Por lo general, las ecuaciones parametricas se constituyen de manera que


el parmetro se define en el intervalo de 0 a 1.Por ejemplo una circunferencia en el
plano xy con centro en el origen coordenado podra definirse en forma parametrica
como:

Tambin son posibles otras formas parametrcas para describir circunferencias y


arcos circulares.

En el caso de una curva arbitraria,puede ser difcil idear un conjunto de ecuaciones


parametrcas que definen completamente la forma de la curva.Pero cualquier curva
puede aproximarse utilizando diferentes conjuntos de funciones parametrcas,sobre
partes diferentes de la curva.Por lo general estas aproximaciones se forman con
funciones polinomiales. Dicha construccin por partes de una curva debe
implantarse cuidadosamente para asegurar de que haya transicin sencilla de
una seccin de la curva a la siguiente.la uniformidad de una curva puede describirse
a partir de la continuidad de la curva entre las secciones.La continuidad de orden 0
se refiere simplemente a que las curvas se interceptan.Continuidad de primer orden
significa que las lineas tangentes(primeras derivadas) de dos secciones adyacentes
de la curva son la misma en el punto de adyacencia.

Continuidad de segundo orden quiere decir que las curvaturas(segundas derivadas)


de las dos secciones de la curva son la misma en la interseccin. La figura 1.8
muestra ejemplos de los tres ordenes de continuidad.

Las ecuaciones parametricas de las superficies se formulan con dos parmetros u


y v. Una posicin coordenada de una superficie se representa entonces por medio
de la funcin vectorial parametrica.

p(u,v)= (x(u,v),y(u,v),z(u,v))

Las ecuaciones de las coordenadas x,y,z a menudo se acomodan de modo de que


los parmetros u y v estn definidos dentro del intervalo de 0 a 1.Por ejemplo una
superficie esfrica puede describirse con las ecuaciones.
Donde r es el radio de la esfera.el parmetro u describe lineas de latitud constante
sobre la superficie, mientras que el parmetro v describe lineas de longitud
constante.Al mantener uno de estos parmetros fijo mientras que se varia el otro
sobre cualquier valor dentro del intervalo 0 a 1, se podran trazar lineas de latitud y
longitud de cualquier seccin esfrica (fig 1.9).

En aplicaciones de diseo,una curva o superficie a menudo se define especificando


interactivamente un conjunto de puntos de control,los cuales indican la forma de la
curva.estos puntos de control son usados por el paquete para formal ecuaciones
parametricas polinomiales para desplegar la curva definida.cuando la curva
desplegada pasa a travs de los punto de control, como en la figura 1.10 se dice
que interpola los puntos de control.
Por otro lado, se dice que los puntos de control se aproximan si la curva desplegada
pasa cerca de ellos (fig 1.11).Existen muchas tcnicas para constituir ecuaciones
parametricas polinomiales de curvas y superficies, dada las coordenadas de los
puntos de control.entre los mtodos bsicos para desplegar curvas especificas con
punto de control se incluyen las formulaciones de Bezier y "Spline".
REPRESENTACIONES DE "SPLINE"

Un spline es una curva diferenciable definida en porciones mediante


polinomios.Para el ajuste de curvas, los splines se utilizan para aproximar formas
complicadas.

La simplicidad de la representacin y la facilidad de computo de los splines los


hacen oculares para la representacin de curvas en informtica particularmente en
el terreno de los grficos por ordenador.

Curvas B-spline

Son las mas utilizadas en la practica:

1.-b-splines cuadraticos: fuentes True Type.

2.-b-splens cubicos: los mas comunes en programas de diseo grfico.

En general, no pasa por ningun punto de control (ni siquiera los extremos) , aunque
se pude forzar que lo haga.

Principales ventajas sobre las curvas de Bezier:

1.Es de grado acotado (aun definida por n puntos)

2. Sobre todo, mas apropiada para el diseo interactivo: mas "suaves", control local.
Dado un conjunto de puntos P0,...Pn,obtenemos una curva
de aproximacin compuesta por varios tramos, y las ecuaciones de cada
tramo estn influenciadas solamente por K vrtices del polgono de control siendo
K (orden de la B-spline ) un parmetro elegido a voluntad por el diseador
y lgicamente, K <n+1:

Los parametros que intervienen en una curva B-spline se enumeran a continuacin:

P0,...Pn,n+1 vertices o puntos de control.


Ni,K: funciones B-spline basica de orden K.
d: grado de las B-spline basicas (eleccion usual,d=3).
K:orden de la B-spline: K=d+1.
N de tramos:n-d+1.
suavidad global de la curva: CK-2=Cd-1.
Propiedades

No interpolen(salvo en P0,Pn, si as se especifica).


Parametricas P(t)=(x(t),y(t)).
Suavidad Ck-2:K es el orden de la B-spline.
No oscilan.
Locales
Dificiles de calcular salvo casos especiales con formula matricial: B-spline
uniformes, Bezier.
Mayor flexibilidad: eleccin de nodos permiten mas tipos de curva.

CURVAS Y SUPERFICIES DE BEZIER

Pierre Bezier, ingeniero francs desarrollo este mtodo de aproximacin de spline


para utilizarlo en el diseo de carroceras de los automviles Renault. Las spline de
Bezier tienen varias propiedades que hacen que sean muy tiles y convenientes
para el diseo de curvas y superficies. As mismo,es fcil implementarla.Por esos
motivos las splines de Bezier estn disponibles en forma comn en varios sistemas
de CAD, en paquetes generales de grficas y en paquetes seleccionados de dibujo
y pintura.

Curvas de Bezier

En general,es posible ajustar una curva de bezier para cualquier numero de puntos
de control.el numero de puntos de control que se debe aproximar y
su posicin relativa determina el grado de polinomio de Bezier.

La idea de definir geometricamente las formas no es demasiado compleja:un punto


del plano puede definirse por coordenadas.Por ejemplo, un conjunto A tiene unas
coordenadas(x1, y1) y aun punto B le corresponde (x2, y2).para trazar una recta
entre ambos basta con conocer su posicin.
.
Si en lugar de unir dos puntos con una recta se unen con una curva,surgen los
elementos esenciales de una curva Bezier: los puntos se denominan puntos de
anclaje o nodos.La forma de la curva se define por unos puntos invisibles en el
dibujo,denominados puntos de control,manejadores o manecillas.

Curvas lineales( grado 1)

Solo dos puntos de control (P0,P1).


Son lineas rectas.
Podemos recorrer la curva con un parametro t [0,1] que recorre la recta de
P0 a P1.
La curva viene dada por la expresin:

B(t)=P0+(P1-P0) t=(1-t) P0+tP1, t [0,1] .

La t en la funcin para curva lineal de Bezier se puede considerar como un


descriptor de cuan lejos esta B(t) de P0 a P1. Por ejemplo cuando T= 0.25, B(t) es
un cuarto de la longitud entre el punto P0 y el punto P1. Como t varia entre 0 y 1 ,
B(t) describe una linea recta de P0 a P1.

Curvas cuadrticas (grado 2)


Tres puntos de control (P0, P1 y P2).
Se construyen dos curvas lineales de Bezier entre P0-P1 y P1-P2.
Se construye una tercera curva lineal de Bezier entre las dos anteriores.
El t que recorre esta tercera recta, forma nuestra curva.

Una curva cuadrtica de Bezier es el camino trazado por funcin B(t), dado los
puntos: P0,P1 y P2,

B(t)=(1-t)^2 P0 +2t (1-t) P1+t^2 P2,t [0,1] .


Para curvas cuadrticas se pueden construir puntos intermedios desde Q0 a
Q1 tales que t varia de 0 a 1:

Punto Q0 varia de P0 a P1 y describe una curva lineal de Bezier.


Punto Q1 varia de P1 a P2 y describe una curva lineal de Bezier.
Punto B(t) varia de Q0 a Q1 y describe una curva cuadrtica de Bezier.

Propiedades de Bezier.

1. El grado de la base de polinomios es uno menos que la cantidad de


puntos de control.
2. El primer y ultimo punto de la curva coincide con el primer y ultimo
punto del grafo de control.
3. El vector tangente en los extremos de la curva tiene la
misma direccin que el primer y ultimo segmento del grafo de control
respectivamente.
4. El tiene control global.
Desventajas de las curvas de Bezier

Para grafos de control complejos(formados por muchos puntos)

1. El grado de la base es elevado


2. Tienden a suavizar demasiado la geometra del grafo de control.
3. Se tornan insensibles a pequeos cambios
locales.El desplazamiento de un solo punto de control casi no produce efecto
en la curva.
4. El control global provoca que el desplazamiento de un solo punto de
control modifique a toda la curva.

Aplicaciones de la curva de Bezier

Las curvas de Bezier han sido ampliamente usadas en los grficos generados por
ordenador para modelado de curvas suaves. como la curva esta completamente
contenida en la envolvente convexa de los puntos de control,dichos puntos pueden
ser suavizados grficamente sobre el rea de trabajo y usados para manipular la
curva de una forma muy intuitiva.las transformaciones afines tales
como traslacin y rotacin pueden ser aplicadas con gran facilidad a las curvas,
aplicando las transformaciones respectivas sobre los puntos de control.