TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
INGENIERIA EN SISTEMAS COMPUTACIONALES
ASIGNATURA: GRAFICACION
INVESTIGACION UNIDAD II
Docente:
ING. Juan Carlos Suárez Sánchez
Alumno:
Jacim Hernández Salinas
GRADO Y GRUPO: IC-501
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
REPRESENTACIÓN MATRICIAL DE LAS TRANSFORMACIONES BIDIMENSIONALES
Transformación geométrica es una aplicación del plano en el plano tal que a cada punto
de un plano le hace corresponder otro punto del mismo plano.
Las transformaciones se clasifican en:
Directa: el homólogo conserva el sentido del original en el plano cartesiano
Inversa: el sentido del homólogo y del original son contrarios
Además, también se pueden clasificar de acuerdo con la forma del homólogo con
respecto al original en:
Isométricas: el homólogo conserva las dimensiones y ángulos. También se llaman
“movimientos”, éstos son simetría axial y puntual, rotación y traslación.
Isomórficas: el homólogo conserva la forma y los ángulos. existe proporcionalidad
entre las dimensiones del homólogo con el original. una de ellas es la homotecia.
Anamórficas: cambia la forma de la figura original. Una de ellas es la inversión.
Traslación
La traslación es una transformación puntual por la cual a todo punto A del plano le
corresponde otro punto A’ también del plano de forma que.
. Siendo el vector que define la traslación.
La traslación se designa por , luego . El punto A’ es el punto
trasladado de A. Un punto y su trasladado se dice que son homólogos.
COORDENADAS DE UN PUNTO MEDIANTE UNA TRASLACION.
Traslación de una recta
Una recta se transforma, mediante una traslación, en una recta paralela.
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Traslación de una circunferencia
La homóloga de una circunferencia mediante una traslación es otra circunferencia de
igual radio que tiene como centro el punto homólogo del centro de la circunferencia
original.
Composición de traslaciones
Al aplicar sucesivamente dos traslaciones de vectores, se obtiene otra traslación cuyo
vector es la suma de los vectores
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Se aplica una traslación en un objeto para cambiar su posición a lo largo de la trayectoria
de una línea recta de una dirección de coordenadas a otra. Convertimos un punto
bidimensional al agregar las distancias de traslación, tx y ty a la posición de coordenadas
original (x, y) para mover el punto a una nueva posición (x’, y’).
El par de distancia de traslación (tx’, ty) se llama vector de traslación o vector de cambio.
Se pueden expresar las ecuaciones anteriores en una sola ecuación matricial al utilizar
vectores de columna para representar las posiciones de coordenadas y el vector de
traslación:
Esto nos permite expresar las dos ecuaciones de traslación bidimensional en la forma de
matriz:
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Los polígonos se trasladan al sumar el vector de traslación a la posición de coordenadas
de cada vértice y se vuelve a generar el polígono utilizando un nuevo conjunto de
coordenadas y vértices y las especificaciones actuales de los atributos.
ROTACION
Se aplica una rotación bidimensional en un objeto al cambiar su posición a lo largo de la
trayectoria de una circunferencia en el plano de xy. para generar una rotación,
especificamos un ángulo de rotación θ y la posición (xr, yr) del punto de rotación (o punto
pivote) en torno al cual se gira el objeto.
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Los valores positivos para el ángulo de rotación definen rotaciones en sentido opuesto a
las manecillas del reloj alrededor del punto pivote y los valores negativos giran los objetos
en la dirección del reloj. También es posible describir esta transformación como una
rotación sobre el eje de rotación que es perpendicular al plano de xy y pasa a través del
punto pivote.
El primer paso es determinar las ecuaciones de transformación para la rotación de la
posición de un punto P cuando el punto pivote está en el origen de las coordenadas.
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
r es la distancia entre constante del punto desde el origen, el ángulo ϕ es la posición
angular original del punto desde el plano horizontal y θ es el ángulo de rotación.
Utilizando identidades trigonométricas podemos expresar las coordenadas
transformadas en término de los ángulos θ y ϕ como:
Las coordenadas originales del punto en las coordenadas polares son
Cuando las posiciones de coordenadas se representan como vectores de renglón en vez
de vectores de columna, el producto de la matriz en la ecuación de rotación se transpone,
de modo que el vector de coordenadas de renglón transformado [x’ y’] se calcula como
donde PT = [x y] y se obtiene la transposición RT de la matriz R con sólo cambiar el signo
de los términos del seno.
Las Rotaciones son movimientos directos, es decir, mantienen la forma y el tamaño de
las figuras. el sentido de rotación puede ser positivo (en contra del sentido horario) o
negativo (a favor del sentido horario).
Se gira un segmento de línea recta al aplicar las ecuaciones de rotación en cada extremo
de la línea y se vuelve a trazar la línea entre las nuevas posiciones de los extremos. Los
polígonos se giran al desplegar cada vértice a través del ángulo de rotación específico y
se vuelve a generar el polígono utilizando los nuevos vértices.
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Las líneas curvas se giran al cambiar la posición de los puntos de definición y se vuelven
a trazar las curvas. Por ejemplo, se puede girar una circunferencia o una elipse alrededor
de un eje no central al mover la posición del centro a través del arco que subtiende el
ángulo de rotación específico. Es posible girar una elipse sobre sus coordenadas de
centro al girar los ejes mayor y menor.
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
ESCALACION
Una transformación de escalación altera el tamaño de un objeto. Se puede realizar esta
operación para polígonos al multiplicar los valores de coordenadas (x, y) de cada vértice
por los factores de escalación sx y sy para producir las coordenadas transformadas (x’,
y’):
El factor de escalación sx escala objetos en la dirección de x mientras que el factor de
escalación sy lo hace en dirección de y.
Se pueden asignar valores numéricos positivos cualesquiera a los factores de
escalación sx y sy. Los valores menos que 1 reducen el tamaño de los objetos y los
valores mayores que 1 producen una ampliación. Al especificar un valor de 1 tanto
para sx como para sy no se altera el tamaño de los objetos. Cuando se asigna el mismo
valor a sx y sy se genera una escalación uniforme que mantiene las proporciones
relativas de los objetos.
Cuando sx y sy tienen valores distintos se obtiene una escalación diferencia como la de
la figura siguiente.
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Podemos controlar la localización de un objeto escalado al seleccionar una posición
llamada punto fijo, que debe permanecer sin cambios después de la transformación de
escalación.
Se pueden seleccionar las coordenadas para el punto fijo (xf, yf) como uno de los
vértices, el centroide del objeto o cualquier otra posición.
Así, se escala un polígono con respecto del punto fijo al escalar la distancia de cada
vértice al punto fijo. Para un vértice con coordenadas (x, y), se calculan las coordenadas
escaladas (x’, y’) como
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Trazo en prossesing de líneas curvas
point - punto
line - línea
ellipse - círculos y elipses
rect - cuadrados y rectángulos
arc - arco
quad - polígonos de 4 lados
triangle - polígonos de 3 lados
Cada instrucción de dibujo necesita unos parámetros (números) que indican dónde y
cómo se dibuja esa forma.
Cambiar el grosor del trazo
El trazo es de 1px por defecto. Podemos modificarlo con:
strokeWeight(4); // (4 es el número de píxeles de grosor del trazo)
Varias líneas con grosor creciente como ejemplo:
strokeWeight(1);
line(20,20,20,80);
strokeWeight(2);
line(30,20,30,80);
strokeWeight(3);
line(40,20,40,80);
strokeWeight(4);
line(40,20,40,80);
strokeWeight(5);
line(50,20,50,80);
strokeWeight(6);
line(60,20,60,80);
strokeWeight(7);
line(70,20,70,80);
strokeWeight(8);
line(80,20,80,80);
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Todas las formas que dibujemos a continuación tendrán un grosor de 4, hasta que
cambiemos de nuevo el grosor con una nueva instrucción:
strokeWeight ().
Polígonos
Podemos dibujar polígonos compuestos por varias líneas:
beginShape();
vertex(20, 20);
vertex(85, 30);
vertex(65, 75);
vertex (30, 55);
endShape(CLOSE);
Formas curvas
Esta misma instrucción puede utilizarse para dibujar curvas:
noFill();
beginShape();
curveVertex(50, 90);
curveVertex(50, 90);
curveVertex(70, 20);
curveVertex(20, 12);
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
curveVertex(30, 60);
curveVertex(30, 60);
endShape();
Curvas de Bezier
Podemos trazar curvas de Bezier, una a una:
noFill();
stroke(255, 102, 0);
line(85, 20, 10, 10); // (tiradora)
line(90, 90, 15, 80); // (tiradora)
stroke(0, 0, 0);
bezier(85, 20, 10, 10, 90, 90, 15, 80); // (curva)
O en secuencia, con el sistema anterior:
beginShape();
vertex(30, 20);
bezierVertex(80, 0, 80, 75, 30, 75);
bezierVertex(50, 80, 60, 25, 30, 20);
endShape();
TECNOLOGICO DE ESTUDIOS SUPERIORES DE JOCOTITLAN
Curvas Bézier
Se generan a partir de funciones polinómicas de grado tres que permiten la
representación de cualquier forma curvada y evitan la complicación innecesaria de
cálculos matemáticos que se produciría usando polinomios de mayor grado.
Cualquier trazado de estas características está definido por una serie de puntos por los
que pasa la curva y otros exteriores a ella que definen sus puntos de inflexión, es decir,
aquellos en que cambia de curvatura, pasando de cóncava a convexa o viceversa.
Curvas de B-Spline
En el subcampo matemático de análisis numérico, una B-spline o Basis spline (o
traducido una línea polinómica suave básica), es una función spline que tiene el
mínimo soporte con respecto a un determinado grado, suavidad y partición del dominio.
Un teorema fundamental establece que cada función spline de un determinado grado,
suavidad y partición del dominio, se puede representar como una combinación lineal de
B-splines del mismo grado y suavidad, y sobre la misma partición. El término B-spline fue
acuñado por Isaac Jacob Schoenberg y es la abreviatura de spline básica. Las B-
splines pueden ser evaluadas de una manera numéricamente estable por el algoritmo de
Boor. De un modo simplificado, se han creado variantes potencialmente más rápidas que
el algoritmo de Boor, pero adolecen comparativamente de una menor estabilidad.
En el subcampo de la informática de diseño asistido por computadora y de gráficos por
computadora, el término B-spline se refiere con frecuencia a una curva parametrizada
por otras funciones spline, que se expresan como combinaciones lineales de B-
splines (en el sentido matemático anterior). Una B-spline es simplemente una
generalización de una curva de Bézier, que puede evitar el fenómeno Runge sin
necesidad de aumentar el grado de la B-spline