Levyho křivka
Curve Levy - fraktál . Navrhl francouzský matematik P. Levy . Ukazuje se, že pokud vezmeme polovinu čtverce tvaru / \, a pak nahradíme každou stranu stejným fragmentem a zopakováním této operace, v limitě dostaneme Levyho křivku.
L-systém , který generuje Levyho křivku:
proměnné : F
konstanty : + −
začátek : F
pravidla : -F++F-
úhel : 45°
Vlastnosti
- Levyho křivka není nikde odlišitelná a nerektifikovatelná.
- Na libovolném intervalu Levyho křivky jsou body vlastního průsečíku.
- Hausdorffův rozměr hranice Lévyho křivky je přibližně 1,9340. (Levyho křivka se skládá ze dvou stejných částí, z nichž každá je podobná celé křivce s koeficientem podobnosti , z důvodu absence významných průsečíků je její rozměr přesně .)


- Curve Levy - koruna pythagorejského stromu .
Variace
Standardní Levyho křivka je konstruována pomocí rovnoramenných trojúhelníků se základními úhly 45°. Variace Levyho křivky lze konstruovat pomocí rovnoramenných trojúhelníků s úhly jinými než 45°. Dokud je úhel menší než 60°, je každá nová čára kratší než čára, ze které je vytvořena, takže stavební proces směřuje k limitní křivce. Úhly menší než 45° vytvářejí fraktál, který je méně pevně "složený".
Příklad algoritmu v PHP
<?php
$i = 10 ;
$image = imagecreatetruecolor ( 640 , 480 );
imagefilledrectangle ( $image , 0 , 0 , imagesx ( $image ) - 1 , imagesy ( $image ) - 1 ,
imagecolorresolve ( $image , 255 , 255 , 255 ));
$barva = imagecolorresolve ( $ obrazek , 0 , 0 , 0 );
drawLevy ( $ image , imagesx ( $ image ) * 3/8 , imagesy ( $ image ) * 3/8 , imagesx ( $ image ) * 5/8 , imagesy ( $ image ) * 5/8 , $ i , $ color _ );
/**
* Nakreslí křivku mezi dvěma body.
* @return void
*/
function drawLevy ( $image , $xa , $ya , $xc , $yc , $i , $color ) {
if ( $i == 0 )
imageline ( $image , $xa , $ya , $xc , $yc , $barva );
else {
// A---B
// |
// C
$xb = ( $xa + $xc ) / 2 + ( $yc - $ya ) / 2 ;
$yb = ( $ya + $yc ) / 2 - ( $ xc - $ xa ) / 2 ;
drawLevy ( $image , $xa , $ya , $xb , $yb , $i - 1 , $barva );
drawLevy ( $image , $xb , $yb , $xc , $yc , $i - 1 , $barva );
}
}
záhlaví ( 'Typ obsahu: obrázek/png' );
imagepng ( $ obrazek );
imagedestroy ( $image );
?>
Příklad algoritmu v Pythonu 3
importovat želvu
želva . hideturtle ()
želva . tracer ( 0 )
želva . penup ()
želva . setposition ( - 100 , 0 )
želva . čekání ()
axiom , tempAx , logika , iterace = 'F' , '' , { 'F' : '-F++F-' }, 15
pro i v rozsahu ( iterace ):
pro j v axiomu :
tempAx += logika [ j ] if j v logice else j
axiom , tempAx = tempAx , ''
pro k v axiomu :
if k == '+' :
želva . vpravo ( 45 )
elif k == '-' :
želva . vlevo ( 45 )
jinde :
želva . vpřed ( 1 )
želva . aktualizovat ()
želva . hlavní smyčka ()
Viz také