SlideShare una empresa de Scribd logo
1 de 15
PRACTICA 3  :   FRACTALES PATRICIA REVUELTA MARTINEZ
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
DESCRIPCION ,[object Object],*  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.
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
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)];
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)];
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)];
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)];
código 5) % 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)];
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
código * Función  de la creación de los puntos y su dibujo: FunctionpuntosGenerados=dibujaFractal(punto,numIteraciones) puntosGenerados = [punto]; whilenumIteraciones~=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.'); holdon; plot(puntos(:,3),puntos(:,4),'r.'); plot(puntos(:,5),puntos(:,6),'g.'); plot(puntos(:,7),puntos(:,8),'g.'); plot(puntos(:,9),puntos(:,10),'y.');
conclusiones Captura del árbol obtenido:
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.
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.
Fin trabajo gracias

Más contenido relacionado

La actualidad más candente

Aritmetica
AritmeticaAritmetica
AritmeticaBOTICA
 
Cajero en C++
Cajero en C++Cajero en C++
Cajero en C++IngridBs
 
Programa en java para calcular promedios
Programa en java para calcular promediosPrograma en java para calcular promedios
Programa en java para calcular promediosCarmen Nereira
 
Código python para saber cuántos dígitos hay a la izquierda y a la derecha de...
Código python para saber cuántos dígitos hay a la izquierda y a la derecha de...Código python para saber cuántos dígitos hay a la izquierda y a la derecha de...
Código python para saber cuántos dígitos hay a la izquierda y a la derecha de...Xiib Eve
 
Algunas funciones de matlab para manejo de vectores
Algunas funciones de matlab para manejo de vectoresAlgunas funciones de matlab para manejo de vectores
Algunas funciones de matlab para manejo de vectoresJhasson Maldonado
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicasCarlos
 
Ordenamiento shell
Ordenamiento shellOrdenamiento shell
Ordenamiento shellAngel Duarte
 

La actualidad más candente (14)

Interpolaion c++
Interpolaion c++Interpolaion c++
Interpolaion c++
 
Aritmetica
AritmeticaAritmetica
Aritmetica
 
Function secante
Function secanteFunction secante
Function secante
 
Cajero en C++
Cajero en C++Cajero en C++
Cajero en C++
 
Funciones Clase1
Funciones Clase1Funciones Clase1
Funciones Clase1
 
Programa
ProgramaPrograma
Programa
 
Practicar metodos
Practicar metodosPracticar metodos
Practicar metodos
 
Libreria graphics
Libreria graphicsLibreria graphics
Libreria graphics
 
Programa en java para calcular promedios
Programa en java para calcular promediosPrograma en java para calcular promedios
Programa en java para calcular promedios
 
Código python para saber cuántos dígitos hay a la izquierda y a la derecha de...
Código python para saber cuántos dígitos hay a la izquierda y a la derecha de...Código python para saber cuántos dígitos hay a la izquierda y a la derecha de...
Código python para saber cuántos dígitos hay a la izquierda y a la derecha de...
 
Algunas funciones de matlab para manejo de vectores
Algunas funciones de matlab para manejo de vectoresAlgunas funciones de matlab para manejo de vectores
Algunas funciones de matlab para manejo de vectores
 
05 sentencias basicas
05 sentencias basicas05 sentencias basicas
05 sentencias basicas
 
Ordenamiento shell
Ordenamiento shellOrdenamiento shell
Ordenamiento shell
 
Funciones
FuncionesFunciones
Funciones
 

Similar a Presentacion Fractales

Similar a Presentacion Fractales (20)

Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
 
Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
050 Componentes de un programa Python.pdf
050 Componentes de un programa Python.pdf050 Componentes de un programa Python.pdf
050 Componentes de un programa Python.pdf
 
Operaciones aritméticas Básicas en Matlab
Operaciones aritméticas  Básicas en Matlab Operaciones aritméticas  Básicas en Matlab
Operaciones aritméticas Básicas en Matlab
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
Matlab2009b -clase2
Matlab2009b  -clase2Matlab2009b  -clase2
Matlab2009b -clase2
 
Mat lab01
Mat lab01Mat lab01
Mat lab01
 
Matlab
Matlab Matlab
Matlab
 
Matlab1
Matlab1Matlab1
Matlab1
 
Clase 10
Clase 10Clase 10
Clase 10
 
Fundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octaveFundamentos de computación(ICM) en octave
Fundamentos de computación(ICM) en octave
 
Tema 3
Tema 3Tema 3
Tema 3
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 

Último

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 

Último (11)

Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Presentacion Fractales

  • 1. PRACTICA 3 : FRACTALES PATRICIA REVUELTA MARTINEZ
  • 2. 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
  • 3.
  • 4. 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
  • 5. 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)];
  • 6. 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)];
  • 7. 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)];
  • 8. 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)];
  • 9. código 5) % 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)];
  • 10. 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
  • 11. código * Función de la creación de los puntos y su dibujo: FunctionpuntosGenerados=dibujaFractal(punto,numIteraciones) puntosGenerados = [punto]; whilenumIteraciones~=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.'); holdon; plot(puntos(:,3),puntos(:,4),'r.'); plot(puntos(:,5),puntos(:,6),'g.'); plot(puntos(:,7),puntos(:,8),'g.'); plot(puntos(:,9),puntos(:,10),'y.');
  • 12. conclusiones Captura del árbol obtenido:
  • 13. 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.
  • 14. 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.