Você está na página 1de 5

Aplicaciones de Matematicas en Matlab

A. Orellana*
Ingeniera Civil
Universidad Privada Boliviana
2 de julio del 2012

Resumen
Se hizo un programa en Matlab, en el cual realiza rotaci
on a un
determinado
angulo, traslaci
on en los ejes cartesianos y cambia la
escala de un conjunto de puntos.

1.

Introducci
on

Rotaci
on: es el movimiento de cambio de orientacion de un cuerpo extenso de forma que, dado un punto cualquiera del mismo, este permanece a
una distancia constante de un punto fijo.
En un espacio tridimensional, para un movimiento de rotacion dado, existe
una lnea de puntos fijos denominada eje de rotacion.[1]
Su representacion matricial es la siguiente:

cos() sin() 0

A = sin() cos() 0
0
0
1

(1)

donde:
, es el angulo.
Dependiendo de la colocacion del signo en los senos la figura gira en sentido
*

ale 1510pv@hotmail.com

horario o antihorario.
Traslaci
on: las traslaciones pueden entenderse como movimientos directos
sin cambios de orientacion, es decir, mantienen la forma y el tama
no de las
figuras u objetos trasladados.
Su representacion matricial es la siguiente[2]:

1 0 tx

At = 0 1 ty
0 0 1

(2)

donde:
tx y ty , son las nuevas coordenadas en el eje x y en el eje y respectivamente.
Escalaci
on: modifica el tama
no del objeto. Para obtener este efecto, se multiplica cada par de coordenadas (x,y) por un factor de escala en la direccion
x y en la direccion y para obtener (x,y).
Para lo cual es necesario su representacion matricial:

Sx 0 0

As = 0 Sy 0
0 0 1

(3)

donde: Sx y Sy son los factores de escalacion en el eje x y eje y respectivamente.


Para realizar los tres cambios geometricos juntos es necesario multiplicar
las ecuaciones 1, 3 y 2, respectivamente.
X = A As At

(4)

donde:
X, es el resultado de la multiplicacion de las matrices.
Para mayor informacion acerca de la rotacion , traslacion y escalacion se
recomienda visitar la pagina citada.[3]

2.

Programa

El siguiente programa realiza la traslacion, rotacion y escalacion de un


conjunto de valores extraidos de una base de datos.
2

En caso de que no se desee hacer rotacion o/y escalamiento colocar el n


umero
1 en a o/y en e del programa. Para no realizar traslacion es necesario colocar
el dgito 0 en ty , tx .
Las ecuaciones utilizadas en el programa, son el desarrollo de la ecuacion (4).
Ejercicio 1: Rotar las letras A y O a un angulo de 67 grados, trasladarlas 3 en el eje x, 2 en el eje y, por u
ltimo ampliar su escala al doble.
% programa para graficar una base de datos con 2 columnas.
% con los datos extraidos
clc
clear
grid on
load(c:\lineal\datosfinal.txt); % extraccion de los datos
x=datosfinal(:,1);
y=datosfinal(:,2);
hold on
fill(x,y,c)
e=2;%escala para la figura
a=67;%angulo ha rotar
a1=(a*pi)/180;
tx=3;% coordenadas para la traslacion
ty=2;
x1=(e*cos(a1)*x)-(e*sin(a1)*y)+(e*cos(a1)*tx)-(e*sin(a1)*ty);
y1=(e*sin(a1)*x)+(e*cos(a1)*y)+(e*sin(a1)*tx)+(e*cos(a1)*ty);
ylabel(Eje y)
xlabel(Eje x)
fill(x1,y1,m)
axis([-10 40 -10 40])

40
35
30
25

Eje y

20
15
10
5
0
5
10
10

10

20

30

40

Eje x

Figura 1: Grafica Ejercicio 1.


Ejercicio 2: Rotar las letras A y O a un angulo de 90 grados.

15

10

Eje y

Como podemos observar solo se hizo la rotacion de 90 grados, para


esto fue necesario colocar e=1, ty =0, tx =0 en
el programa.

10

15
15

10

10

Eje x

Figura 2: Grafica Ejercicio 2.


4

15

20

3.

Conclusiones

Matlab es un programa eficiente para la ejecucion de cambios geometricos


(traslacion, rotacion y escalacion), tanto para funciones, como para conjuntos
de puntos, los cuales pueden ser extraidos de otro programa como el block
de notas.
Ademas cuenta con la opcion de poder ver las graficas desde la perspectiva
que se desee ya sea en 2D o 3D.

Referencias
[1] http://es.answers.yahoo.com/question/index?qid=
20080708113418AAaqU3F
[2] http://es.wikipedia.org/wiki/Traslaci%C3%B3n_(geometr%C3%
ADa)
[3] http://catarina.udlap.mx/u_dl_a/tales/documentos/mcc/cruz_
m_ia/capitulo3.pdf

Você também pode gostar