Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
Tarea Programada II: Curva de Koch.
Profesor: Constantino Bolaños Araya
Alumno: Gary Granados Umaña
Carné: B53188
Grupo: 14
15 de noviembre del 2017
Documentación de la tarea
In[1].
o Importamos matplotlib, una biblioteca para graficar en dos dimensiones.
In[2].
o Importamos numpy, pieza clave en lo que a computación científica y numérica respecta en
Python. Nos permite crear y manipular arreglos N-dimensionales, así como funciones de
álgebra lineal, transformada de Fourier, y capacidades de generación de números
aleatorios.
o Importamos skimage, que es una colección de algoritmos para procesamiento de
imágenes. Vamos a usar el submódulo [Link], el cual tiene una serie de funciones
para generar coordenadas apropiadas para dibujar figuras geométricas. En particular,
vamos a usar la función [Link], que nos permitirá dibujar los segmentos de
línea del fractal.
In[3].
o Establecemos número de parámetros para definir las dimensiones del área de dibujo.
o En la siguiente línea, el parámetro dtype indica a numpy que deseamos crear una matriz
de bytes, para que la computadora pueda luego dibujar la matriz como una imagen.
In[4].
❖ En esta sección se crea la función curva_cuadrática, la cual se define en función de una
imagen, el orden, un xy_inicio y un xy_fin.
❖ Seguidamente desempaquetamos las columnas y filas en variables
❖ Se procede a construir el caso base para la función de orden == 0.
➢ Dibujamos la línea constructiva
➢ Definimos pares ordenados (x, y) de inicio y fin para dibujar la línea
➢ Le damos nitidez a la línea
➢ Calculamos longitud y ángulo del lado del triángulo, para que funcione para cualquier
inclinación y que se construyan los triángulos de grado mayor correctamente. Para
ello se hizo el uso de las funciones [Link](a,b) y np.arctan2(y,x)
➢ Implementamos la fórmula para calcular matemáticamente el vértice del triángulo.
➢ Se procede a construir línea a línea el caso base, recursivamente, utilizando para cada
paso un punto diferente de la geometría del caso base (ignorando la línea del centro).
❖ Finalmente llamamos a la función y le colocamos las variables deseadas y el orden
deseado para construir la curva de Koch