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
- La curva de Levy no es diferenciable ni rectificable en ninguna parte.
- En cualquier intervalo de la curva de Levy hay puntos de autointersección.
- La dimensión de Hausdorff del límite de la curva de Lévy es aproximadamente 1,9340. (La curva de Levy consta de dos partes iguales, cada una de las cuales es similar a la curva completa con un coeficiente de similitud , debido a la ausencia de autointersecciones significativas, su dimensión es exactamente ).
- Curve Levy: la copa del árbol de Pitágoras .
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