Curva de gravamen

Curva Levy  - fractal . Propuesto por el matemático francés P. Levy . Resulta que si tomamos la mitad de un cuadrado de la forma /\, y luego reemplazamos cada lado con el mismo fragmento, y repitiendo esta operación, en el límite obtenemos la curva de Levy.

Sistema L que genera la curva de Levy:

variable  : F constantes  : + − inicio  : F reglas  : -F++F- ángulo  : 45°

Propiedades

Variaciones

La curva de Levy estándar se construye usando triángulos isósceles con ángulos base de 45°. Se pueden construir variaciones de la curva de Levy utilizando triángulos isósceles con ángulos distintos de 45°. Siempre que el ángulo sea inferior a 60°, cada nueva línea es más corta que la línea a partir de la cual se forma, de modo que el proceso de construcción tiende a la curva límite. Los ángulos de menos de 45 ° producen un fractal que está menos "doblado".


Un algoritmo de ejemplo en PHP

<?php $i = 10 ; $imagen = imagecreatetruecolor ( 640 , 480 ); rectángulollenadodeimagen ( $imagen , 0 , 0 , imágenesx ( $imagen ) - 1 , imágenesy ( $imagen ) - 1 , imagecolorresolve ( $ imagen , 255 , 255 , 255 )); $color = imagecolorresolve ( $imagen , 0 , 0 , 0 ); drawLevy ( $ imagen , imágenesx ( $ imagen ) * 3/8 , imágenesy ( $ imagen ) * 3/8 , imágenesx ( $ imagen ) * 5/8 , imágenesy ( $ imagen ) * 5/8 , $ i , $ color _ ); /** * Dibuja la curva de impuestos entre dos puntos. * @return void */ function drawLevy ( $imagen , $xa , $ya , $xc , $yc , $i , $color ) { if ( $i == 0 ) imageline ( $imagen , $xa , $ya , $xc , $yc , $color ); más { // A---B // | // C $xb = ( $xa + $xc ) / 2 + ( $yc - $ya ) / 2 ; $yb = ( $ya + $yc ) / 2 - ( $xc - $xa ) / 2 ; drawLevy ( $imagen , $xa , $ya , $xb , $yb , $i - 1 , $color ); drawLevy ( $imagen , $xb , $yb , $xc , $yc , $i - 1 , $color ); } } encabezado ( 'Tipo de contenido: imagen/png' ); imagenpng ( $imagen ); destrucción de imagen ( $imagen ); ?>

Un algoritmo de ejemplo en Python 3

importar tortuga tortuga _ tortuga escondida () tortuga . rastreador ( 0 ) tortuga . penup () tortuga . setposition ( -100 , 0 ) tortuga . _ pendown () axioma , tempAx , lógica , iteraciones = 'F' , '' , { 'F' : '-F++F-' }, 15 para i en rango ( iteraciones ): para j en axioma : tempAx += lógica [ j ] si j en lógica else j axioma , tempAx = tempAx , '' para k en axioma : si k == '+' : tortuga . derecha ( 45 ) elif k == '-' : tortuga . izquierda ( 45 ) otra cosa : tortuga . adelante ( 1 ) tortuga _ actualizar () tortuga . bucle principal ()

Véase también