Академический Документы
Профессиональный Документы
Культура Документы
Para simplificar la explicacin del mtodo bsico, primero hay que determinar
las ecuaciones de transformacin para la rotacin de un punto de posicin P,
cuando el punto de pivote est en el origen de coordenadas. La relacin entre
el angular y las coordenadas de las posiciones originales y transformadas se
muestra en la siguiente Figura.
En esta figura, r es la distancia constante del punto respecto del origen, el
ngulo es la posicin angular original del punto desde la horizontal, y es el
ngulo de rotacin. Usando identidades trigonomtricas estndar, podemos
expresar las coordenadas transformadas en funcin de los ngulos y como:
y
Por tanto, una representacin de coordenadas homogneas bidimensionales,
puede escribirse tambin como . Para transformaciones
geomtricas, podemos elegir el parmetro homogneo h para que sea
cualquier valor distinto de cero. As, hay un nmero infinito de representaciones
homogneas equivalentes para cada punto de coordenadas (x,y). Una eleccin
acertada es fijar h=1. Cada posicin bidimensional se representa con
coordenadas homogneas (x, y, 1). Se necesitan otros valores para el
parmetro h, por ejemplo en formulaciones de matrices para mostrar
transformaciones tridimensionales.
El trmino coordenadas homogneas se usa en matemticas para referirse al
efecto de esta representacin en coordenadas cartesianas. Cuando un punto
cartesiano (x, y) se convierte a representacin homognea las
ecuaciones que contienen x e y tales como f(x, y) = 0, se convierten en
ecuaciones homogneas en los tres parmetros . Esto significa
precisamente, que si cada uno de los tres parmetros es sustituido por
cualquier valor, v veces, dicho valor v puede ser despejado de la ecuacin.
Expresar posiciones en coordenadas homogneas nos permite representar
todas las ecuaciones de transformaciones geomtricas como multiplicacin de
matrices, que es el mtodo estndar usado en los sistemas grficos. Las
posiciones de coordenadas bidimensionales se representan con vectores
columna de tres elementos, y las operaciones de transformacin
bidimensionales se representan como matrices de 3 por 3.
Matriz de traslacin bidimensional
Usando la aproximacin de coordenadas homogneas, podemos representar
las ecuaciones para una traslacin bidimensional de una posicin de
coordenadas usando la siguiente matriz de multiplicacin.
Inclinar
Una transformacin que distorsiona la forma de un objeto de tal manera que la
forma obtenida aparece como si el objeto estuviera compuesto por capas
internas que se hubieran obtenido resbalando unas sobre otras es lo que se
denomina inclinacin. Dos transformaciones comunes para producir una
inclinacin son aquellas que desplazan los valores de las coordenadas y las
que desplazan los valores de .
Una inclinacin en la direccin respecto al eje se produce con la matriz de
transformacin:
Para conseguir que los ejes de los dos sistemas coincidan, hacemos una
rotacin en el sentido de las agujas del reloj:
0000
0001 0010
Ventana de recorte
(estableciendo en o .
Ejemplo:
Queremos mostrar varios segmentos, pero nicamente dentro de nuestra vista
representada por un rectngulo vertical descrito con las siguientes esquinas:
superior izquierda (-1,3) e inferior derecha (3,-3). Tenemos los siguientes
segmentos definidos por parejas de puntos que forman sus extremos:
A = (-2, 1) y B = ( 2, 2),
C = ( 1, 4) y D = ( 0,-4),
E = ( 4, 3) y F = ( 3, 0),
G = (-3,-1) y H = (-2,-4).
A: 0001 B: 0000
C: 1000 D: 0100
E: 0010 F: 0000
G: 0001 H: 0101
Aplicamos nuestros criterios a los resultados de las operaciones a nivel de bit
de los cdigos regionales de cada punto dando lugar a:
AB: 0001 OR 0000 = 0001 0001 AND 0000 = 0000 Hay que recortar
CD: 1000 OR 0100 = 1100 1000 AND 0100 = 0000 Hay que recortar
EF: 0010 OR 0000 = 0010 0010 AND 0000 = 0000 Hay que recortar
GH: 0001 OR 0101 = 0101 0001 AND 0101 = 0001 Inmediatamente lo
rechazamos
Hacemos la primera tanda de recortes de los puntos con sus primeras aristas
del algoritmo, obteniendo:
Para cada lnea, podemos calcular los valores de los parmetros y que
definen aquella parte de la lnea que se encuentra dentro del rectngulo de
recorte. El valor de , se determina mediante la bsqueda en las aristas del
rectngulo para las que la lnea est orientada de afuera hacia dentro .
Para estas aristas, calculamos . El valor de se obtiene como el
mayor del conjunto que contiene 0 y los valores de r. Inversamente, el valor
de se determina examinando los lmites para los que la lnea est orientada
de dentro hacia afuera . Para cada una de estas aristas se calcula un
valor de y el valor de es el mnimo del conjunto que contiene 1 y los
valores de r calculados. Si , la lnea est completamente fuera de la
ventana de recorte y se puede rechazar. De lo contrario, los puntos extremos
de la lnea recortada se calculan a partir de los dos valores del
parmetro .
Por lo general, el algoritmo de recorte de lineas de Liang-Barsky es ms
eficiente que el de Cohen-Suthcrland.
Ejemplo de recorte utilizando el algoritmo de Liang-Barsky
Tenemos un rectngulo de recorte cuya diagonal es de (-1,3) a (3,-3) que
representa nuestra vista. Queremos mostrar el segmento AB, en tal rectngulo
de recorte, descrito por los puntos, A = ( -2, 1 ) y B = ( 2, 2 ).
Obtenemos los parmetros p y q:
, (Izquierdo)
,
(Derecho)
,
(Inferior)
, (Superior)
Determinamos los parmetros, y para definir que parte de la lnea se
encuentra en la ventana de recorte:
Verificar ( :