Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic =...

43
Club de Ciencias: Universo Fractal José Ibrahim Villanueva Gutiérrez Consejo Zacatecano de Ciencia, Tecnología e Innovación 17 de Julio 2017

Transcript of Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic =...

Page 1: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Club de Ciencias: Universo Fractal

José Ibrahim Villanueva Gutiérrez

Consejo Zacatecano de Ciencia, Tecnología e Innovación

17 de Julio 2017

Page 2: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

1 El Universo Fractal

2 Los números complejos

3 Introducción a Processing: Dibujando líneas, círculos, polígonosa todo color

4 Equipos de Trabajo

Page 3: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

El Universo Fractal

Page 4: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Los Fractales

Un fractal es un objeto cuya estructura básica, aparentementeirregular, se repite a diferentes escalas.

Características de un objeto fractal:Irregular.Autosimilar.dim(Hausdorff-Besicovitch) >dim(topológica).Recursivo.

Page 5: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Historia

Benoît Mandelbrot (1924-2010) matemático polaco en losaños 70’s estudia los fractales con la ayuda de la computadora.Conjunto de Mandelbrot: Sea c un número complejocualquiera. Definimos{

z0 = 0 término inicial,zn+1 = z2

n + c relación de inducción.

Si la sucesión es acotada, es decir que existe una constante Ktal que |zn| < K para todo n, entonces decimos que cpertenece al conjunto de Mandelbrot.

EjercicioCalcule los primeros 10 valores de la sucesión {zn} parac = 0, 1,−1,−1.5,−2 y −3. Determinar si estos están en elconjunto de Mandelbrot.

Page 6: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Respuestas

Si c = 0 obtenemos {0, 0, 0, 0, 0, . . .}Si c = 1 obtenemos {0, 1, 2, 5, 26, . . .} claramente lostérminos se hacen cada vez más grandes, por lo tanto noexiste tal constante K para c, es decir 1 no está en elconjunto de Mandelbrot.Si c = −1 tenemos {0,−1, 0,−1, . . .} y esta sucesión esacotada ya que |0| < | − 1| = 1.Si c = −1.5 tenemos

{0,−1.5, 0.75,−0.9375,−0.6210,−1.11,−0.25, . . .}

En general si |zn| ≤ 1.5 entonces |zn+1| = |z2n − 1.5| ≤ 0.75.

Entonces −1.5 está en el conjunto de Mandelbrot.

Page 7: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

¿Cómo se ve el conjunto de Mandelbrot?

Page 8: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Más imágenes (Algoritmo de velocidad de escape)

Page 9: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Programación simple

¡Vamos a echarle un vistazo alProcessing!

Page 10: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Los números complejos

Page 11: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Los números naturales es el conjunto

N = {0, 1, 2, 3, . . .}.

Ellos nos ayudan a contar todo tipo de cosas, por ejemplo cultivosde bacterias

¡Hay infinitos números naturales!

Page 12: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Podemos sumar dos números naturales y el resultado será otronúmero natural:

Si a, b ∈ N ⇒ a + b ∈ N.

N tiene un elemento especial.Dado un número natural a 6= 0 ¿Existe b ∈ N tal que

a + b = 0?

No :(

Page 13: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Los números enteros

Z = {. . . ,−4,−3,−2,−1, 0, 1, 2, 3, . . .},

nos permiten solucionar la ecuación

x + a = 0, para todo a ∈ N.

Page 14: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Además de la suma, en los enteros también podemos definir otraoperación, la multiplicación:

a · b := a + a + · · ·+ a︸ ︷︷ ︸b veces

.

Cuando multiplicamos dos números enteros obtenemos un tercernúmero entero.Tenemos que 0 · a = 0 para todo a entero.Z tiene un elemento especial:

a · 1 = 1 · a = a, para todo a ∈ Z.

Page 15: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Si a 6= 0 y b son enteros, la ecuación

ax + b = 0,

no siempre tiene soluciones enteras.

EjemploSi a = 3 y b = −1, la ecuación

3x−1 = 0

no tiene soluciones enteras ya que ningún número enteromultiplicado por 3 es igual a 1.

¿Para qué números a la ecuación

ax = 1

tiene solución?

Page 16: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Los números racionales

Q ={m

n | m, n ∈ Z, n 6= 0},

son el conjunto de números que solucionan las ecuaciones del tipo

αx + β = 0, con α, β ∈ Z,

Ejemplo24/86 es solución a la ecuación 43x − 12 = 0.

Page 17: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Los números racionales Q están equipados de dos operaciones: Lasuma (Q,+, 0) y la multiplicación (Q,×, 1), un conjunto con dosoperaciones (abelianas, cerradas, compatibles, con inversos) sellama un campo.

Page 18: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

¿La ecuación x2 − 2 = 0 tiene soluciones racionales?Es decir, si denotamos

√2 una solución

¿√2 pertenece a Q?

Supongamos que sí, entonces podemos escribir√2 = p

q con p, q ∈ Z \ {0},

podemos suponer que p y q son primos relativos, tenemos

2 · q2 = p2,

implica que p2 es par y por lo tanto p también, entonces podemosescribir p = 2k para un entero k.

2 · q2 = 4k2 ⇒ q2 = 2k2,

por lo tanto q es par, pero esto contradice que p y q sonprimos relativos.

Page 19: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

√2 forma parte de una familia de números llamada irracionales.

Los cuales no podemos escribir como cociente de dos númerosenteros.La unión de estas dos familias forma el conjunto de los númerosreales R.

Page 20: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Si consideramos sucesiones de números racionales, es decirconjuntos de la forma

{an}n∈N = {a0, a1, a2, . . .} con ai ∈ Q,

decimos que una sucesión {an}n∈N con ai ∈ Q, converge a unpunto L si para cualquier distancia ε, por muy pequeña que sea,existe un índice N tal que la distancia de todos los miembros quele siguen de la sucesión al punto L es menor a ε.Por ejemplo, la sucesión1, 1 + 1/2, 1 + 1

2 + 12

, . . . , an = 1 + 11 + an−1

, . . .

converge a

√2.

Page 21: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Un número puede identificarse con varias sucesiones de números,por ejemplo el 2:

2 ↔ {2, 2, 2, 2, . . .},

2 ↔ {1987, 1986, 1985, . . . , 4, 3, 2, 2, 2, 2, . . .},

lo que nos importa es lo que pasa en la cola de la sucesión, es deciren el límite.

Page 22: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Definimos los números reales R como el conjunto desucesiones de números racionales que convergen, módulo lassucesiones que convergen a 0.Esta es la manera analítica de ver los números reales,geométricamente los números reales se identifican con la línearecta.

Page 23: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Pero si volvemos al álgebra, consideremos la ecuación

x2 + 1 = 0,

¿Tiene soluciones reales?

No :(

Page 24: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Si definimos i como un número tal que

i2 = −1,

entonces i es solución a la ecuación x2 + 1 = 0.Definimos los números complejos como

C = {a + bi | a, b ∈ R}.

Los números complejos forman un campo (podemos sumar, restar,multiplicar y dividir) algebraicamente cerrado. Es decir, laecuación

anxn + . . . a1x + a0 = 0, con ai ∈ C,

tiene exactamente n soluciones complejas.

Page 25: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Tenemos una correspondencia muy natural entre númeroscomplejos y puntos en el plano:

C = {a + bi | a, b ∈ R} ↔ R2 = {(a, b) | a, b ∈ R}

Para un número complejo z = a + bi. Denotamos <(z) = a laparte real y =(z) = b la parte imaginaria.

En forma polar:

z = a + bi=

√a2 + b2(cos(θ) + sin(θ)i)

= reiθ

Llamamos r =√

a2 + b2 = |z | el módulo del número complejoz = a + ib. Llamamos θ = arctan(b/a) el argumento de z .

Page 26: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

El conjugado y el inverso

Denotamos z = a − ib el conjugado de z = a + ib.

Pregunta: ¿Cómo se ve el conjugado z de un número complejo zen el plano?

Para todo número complejo z 6= 0 existe un número complejo z−1

llamado inverso tal que

z ∗ z−1 = 1.

Ejercicio

Demuestre que |z |2 = zz . Concluya que z−1 = z|z |2 .

Page 27: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Suma de dos números complejos

Sean z1 = a1 + ib1 y z2 = a2 + ib2 dos números complejos,

z1 + z2 = (a1 + ib1) + (a2 + ib2)= (a1 + a2) + i(b1 + b2)

en el plano tenemos

Page 28: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Parte real e Imaginaria

EjercicioSea z un número complejo. Describa <(z) y =(z) en términos de zy su conjugado z .

Page 29: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Multiplicación de dos números complejosSean z1 = a1 + ib1 y z2 = a2 + ib2 dos números complejos,

z1 · z2 = (a1 + ib1)(a2 + ib2)= a1(a2 + ib2) + ib1(a2 + ib2)= a1a2 + ia1b2 + ib1a2 − b1b2

= a1a2 − b1b2 + i(a1b2 + b1a2)

es menos intuitivo deducir el comportamiento de la multiplicacióncon este tipo de coordenadas. La solución es tomar coordenadaspolares z1 = r1eiθ1 y z2 = r2eiθ2 , entonces

z1 · z2 = (r1eiθ1)(r2eiθ2)= r1r2eiθ1eiθ2

= r1r2eiθ1+iθ2

= r1r2ei(θ1+θ2)

Page 30: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Multiplicación de dos números complejos

Por lo tanto

z1 · z2 = (r1eiθ1)(r2eiθ2) = r1r2ei(θ1+θ2)

Page 31: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Ejercicios

Desarrollar y representar en el plano las siguientes operaciones denúmeros complejos:

1 (1 + i) + (2 + i)2 (1− 4i)− (−9 + 6i)3 (3i) ∗ (2 + i)4 (3 + i) ∗ i5 (3 + i) ∗ i2

6 (3 + i) ∗ i3

7 (3 + i) ∗ i4

8 (3 + i) ∗ i5

9 (−4− 2i) ∗(−1

2 +√

32 i)

10 (−4− 2i) ∗(−1

2 +√

32 i)2

11 (−4− 2i) ∗(−1

2 +√

32 i)3

Page 32: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Ejercicios

Encuentre el módulo, el argumento y los inversos de los siguientesnúmeros complejos:

1 i2 (−2− 2i)3(−3

2 +√

272 i)

4 e2πi/5

Page 33: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Introducción a Processing: Dibujando líneas,círculos, polígonos a todo color

Page 34: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Interfaz de Processing

Abrir Processing.Escribir en la primera líneaprint("Hello World!");y presionar el botón play (o Ctrl+R).Sin el punto y comaprint("Hello World!")obtenemos un error.Podemos cambiar el tamaño del marco donde vamos a dibujarsize(300,200);

Podemos ponerle color al fondo del marcobackground(255);

Ahora probemosbackground(255,0,0);

Page 35: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Dos funciones importantes

La función setup nos permite definir los parámetros generalesde nuestra animación:void setup() {

frameRate(60);size(300, 200);background(255,0,0);smooth();}

La función draw ejecuta en ciclos las instrucciones quecontiene, entoncesvoid draw() {

point(100+random(100),50+random(100));}dibuja puntitos aleatorios en un cuadro de 100px×100px.

Page 36: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Lineas

Las coordenadas en el marco de Processing están dispuestasde la siguiente manera:

Para trazar una línea debemos de decirle a Processing lospuntos de llegada y de partida:void draw() {

line(10,50,150,200);}

Page 37: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Elipses y rectángulos

Para graficar elipses tenemos que especificar las coordenadasde su centro, y la medida de sus ejes, por ejemplovoid draw(){

stroke(255,0,0);noFill();ellipse(50,100,30,30);stroke(0,255,0);fill(200,100,0);ellipse(220,150,100,20);}

Para graficar rectángulos tenemos que especificar lo mismo:unas coordenadas donde pondremos el vértice superiorizquierdo del rectángulo y el tamaño de sus lados:void draw() { fill(100,100,12); stroke(255);

rect(0,0,50,100); fill(18,100,12); noStroke();rect(200,120,20,20); }

Page 38: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Variables en ProcessingEn Processing existen varios tipos de variables:

boolean Representan una dicotomía: true or false (1 ó 0)

boolean Circle = true;

int Representan números enteros.

int n = 255;

float Representan números racionales.

float x = 3.1416;

color En escala de grises o en formato RGB.

color gris_claro = color(200); // Escala de Grisescolor verde = color(0,n,0); // Formato RGB

String Son cadenas de caracteres alfa-numéricos sin valoralguno.

String nombre = "Andrea";

Page 39: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Globales y localesLas variables locales sólo están definidas en una parte de nuestroprograma y las globales son válidas en todo el código.

Globalespublic boolean Shot;public int H=600;public int W=600;public int imnumber=0;

Localesvoid Photo() {

if(Shot){PImage newImage = createImage(W, H, RGB);newImage = get();String[] name = {"Image", str(imnumber), ".jpg"};newImage.save(join(name, ""));imnumber++;Shot=false;}

}

Page 40: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Funciones útiles en programación

if: ejecuta un comando si se satisface cierta propiedad o no.Estructura:if(Condición){Acciones en caso positivo}else{Acciones en caso negativo}Ejemplo:void setup(){background(255);}void draw(){}void mousePressed(){if(mouseX>=width/2){fill(255,0,0);}else{fill(0,0,255);}noStroke();ellipse(mouseX,mouseY,4,4);}

Page 41: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Funciones útiles en programación

for: ejecuta una instrucción una cierta cantidad de veces.Estructura:for(n=Valor_inicial,Valor_final, Próximo_valor_de_n){Acción}

Ejemplo:void setup(){background(255);}void draw(){for(int n=0;n<=width;n=(n+1)*(n+1)){line(n,0,n,height);line(0,n,width,n);}}

Page 42: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Equipos de Trabajo

Page 43: Club de Ciencias: Universo Fractal · Respuestas Sic = 0obtenemos{0,0,0,0,0,... Sic = 1obtenemos{0,1,2,5,26,...}claramentelos términossehacencadavezmásgrandes,porlotantono existetalconstanteK

Armemos equipos de trabajoCriterios

En todo equipo siempre habrá al menos una chica y al menosun chico.En todo equipo siempre habrá alguien que tenga nociones deprogramaciónLas personas del equipo no se conocían.