Presentacion Fractales

15
PRACTICA 3 : FRACTALES PATRICIA REVUELTA MARTINEZ

Transcript of Presentacion Fractales

Page 1: Presentacion Fractales

PRACTICA 3 : FRACTALES

PATRICIA REVUELTA MARTINEZ

Page 2: Presentacion Fractales

OBJETIVO

* Poder entender un poco mejor el manejo de la herramienta MATLAB.

* Conocer las aplicaciones y la creación practica de los fractales.

* Ver las diferentes maneras que se pueden crear fractales dependiendo de las funciones

Page 3: Presentacion Fractales

DESCRIPCION

•Teóricamente me he basado en la transformación de los puntos, mediante la formula :

* Las 5 funciones depende del fractal en concreto que vamos a realizar.

* El Fractal en concreto dibuja todos los puntos que hemos obtenido aleatoriamente de la transformación.

f

e

y

x

dc

ba

y

x

*

*

Page 4: Presentacion Fractales

IMPLEMENTACIÓN

La implementación la he realizado sobre un árbol, mediante 7 funciones:

- Hay 5 funciones que son las del propio árbol.

- Hay 1 función que es la que se encarga de la transformación

de los puntos que hemos obtenido de las funciones.

- Hay 1 función que es simplemente la crea todos los puntos aleatorios y dibuja el fractal

Page 5: Presentacion Fractales

CÓDIGO

* Las 5 funciones del árbol son las siguientes:

1)

% función que le pasamos un punto como vector que son las coordenadas de los ejes

function p = funcion(punto)

% obtenemos la coordenadas de los ejes que el hemos pasado

punto = [punto(1);punto(2)];

% Tanto la matriz como el vector de traslación esta sacado de los ejemplos

% vistos en clase(funciones)

% matriz para crear el árbol

matriz = [0.195 -0.448; 0.334 0.443];

% vector de traslación

vectorTraslacion = [0.443; 0.245];

% calcula la operación para obtenemos en vector de trasformación

p = matriz*punto+vectorTraslacion;

% obtenemos un vector de transformación

p = [p(1) p(2)];

Page 6: Presentacion Fractales

CÓDIGO

2)

% función que le pasamos un punto como vector que son las coordenadas de los ejes

function p1 = funcion1(punto)

% obtenemos la coordenadas de los ejes que el hemos pasado

punto = [punto(1);punto(2)];

% Tanto la matriz como el vector de traslación esta sacado de los ejemplos

% vistos en clase(funciones)

% matriz para crear el árbol

matriz = [0.462 0.414 ; -0.252 0.361];

% vector de traslación

vectorTraslacion = [0.251;0.569];

% calcula la operación para obtenemos en vector de trasformación

p1 = matriz*punto+vectorTraslacion;

% obtenemos un vector de transformación

p1 = [p1(1) p1(2)];

Page 7: Presentacion Fractales

CÓDIGO

3)

% función que le pasamos un punto como vector que son las coordenadas de los ejes

function p2 = funcion2(punto)

% obtenemos la coordenadas de los ejes que el hemos pasado

punto = [punto(1);punto(2)];

% Tanto la matriz como el vector de traslación esta sacado de los ejemplos

% vistos en clase(funciones)

% matriz para crear el árbol

matriz = [-0.058 -0.07; 0.453 -0.111];

% vector de traslación

vectorTraslacion = [0.598 ; 0.097];

% calcula la operación para obtenemos en vector de trasformación

p2 = matriz*punto+vectorTraslacion;

% obtenemos un vector de transformación

p2 = [p2(1) p2(2)];

Page 8: Presentacion Fractales

CÓDIGO

4)

% función que le pasamos un punto como vector que son las coordenadas de

% los ejes

function p3 = funcion3(punto)

% obtenemos la coordenadas de los ejes que el hemos pasado

punto = [punto(1);punto(2)];

% Tanto la matriz como el vector de traslación esta sacado de los ejemplos

% vistos en clase(funciones)

% matriz para crear el árbol

matriz = [-0.035 0.07; -0.469 -0.022];

% vector de traslación

vectorTraslacion = [0.488; 0.507];

% calcula la operación para obtenemos en vector de trasformación

p3 = matriz*punto+vectorTraslacion;

% obtenemos un vector de transformación

p3 = [p3(1) p3(2)];

Page 9: Presentacion Fractales

CÓDIGO5)

% función que le pasamos un punto como vector que son las coordenadas de los ejes

function p4 = funcion4(punto)

% obtenemos la coordenadas de los ejes que el hemos pasado

punto = [punto(1);punto(2)];

% Tanto la matriz como el vector de traslación esta sacado de los ejemplos

% vistos en clase(funciones)

% matriz para crear el árbol

matriz = [-0.637 0.0;0.0 0.501];

% vector de traslación

vectorTraslacion = [0.856 ; 0.251];

% calcula la operación para obtenemos en vector de trasformación

p4 = matriz*punto+vectorTraslacion;

% obtenemos un vector de transformación

p4 = [p4(1) p4(2)];

Page 10: Presentacion Fractales

CÓDIGO

* Función de transformación de los puntos:

function [vector,pu] = transformacion(punt)

vector = [];

pu = [];

% bucle para recorrer todos los puntos

for i=1:size(punt)

% obtenemos un vector de dos puntos y aplicar a las funciones

puntos = [punt(i,1);punt(i,2)];

% aplicamos las funciones creadas pasandole el punto

p = funcion(puntos);

p1 = funcion1(puntos);

p2 = funcion2(puntos);

p3 = funcion3(puntos);

p4 = funcion4(puntos);

% guardamos en el vector los puntos en columna

vector = [vector;p;p1;p2;p3;p4];

% guardamos en pu los punto como un vector fila

pu = [pu;p p1 p2 p3 p4];

end

Page 11: Presentacion Fractales

CÓDIGO

* Función de la creación de los puntos y su dibujo:

Function puntosGenerados=dibujaFractal(punto,numIteraciones)

puntosGenerados = [punto];

while numIteraciones~=0

[nuevosPuntos, puntos] = transformacion(puntosGenerados);

puntosGenerados = [nuevosPuntos];

numIteraciones = numIteraciones-1;

end

% vamos a dibujar los diferentes puntos de las 5 funciones, cada una de un color

plot(puntos(:,1),puntos(:,2),'b.');

hold on;

plot(puntos(:,3),puntos(:,4),'r.');

plot(puntos(:,5),puntos(:,6),'g.');

plot(puntos(:,7),puntos(:,8),'g.');

plot(puntos(:,9),puntos(:,10),'y.');

Page 12: Presentacion Fractales

CONCLUSIONES

Captura del árbol obtenido:

Page 13: Presentacion Fractales

CONCLUSIONES

* La complejidad del programa no es muy grande, debido a que ya se ha utilizado anteriormente. Lo que realmente se hace complicado es la transformación de los puntos.

* Saber que se hace muy difícil la creación de un fractal, ya que la realización de un fractal mínimo requiere sobre 7 funciones dependiendo de la figura a realizar.

Page 14: Presentacion Fractales

FUTUROS TRABAJOS

* La ambición seria poder realizar un proyecto que estuviera compuesto por fractales completamente.

* También poder ver las múltiples formas que se pueden adoptar en los fractales dependiendo de la matrices y vectores de translación.

Page 15: Presentacion Fractales

FIN TRABAJO

gracias