Levy görbe
Görbe Levy - fraktál . P. Levy francia matematikus javasolta . Kiderül, hogy ha egy / \ alakú négyzet felét veszünk, majd mindkét oldalt ugyanazzal a töredékkel helyettesítjük, és ezt a műveletet megismételjük, akkor a határértékben megkapjuk a Levy-görbét.
L-rendszer , amely létrehozza a Levy-görbét:
változók : F
állandók : + −
kezdés : F
szabályok : -F++F-
szög : 45°
Tulajdonságok
Változatok
A szabványos Levy-görbe 45°-os alapszögű, egyenlő szárú háromszögekből készült. A Levy-görbe változatai 45°-tól eltérő szögű egyenlő szárú háromszögek felhasználásával is megszerkeszthetők. Amíg a szög kisebb, mint 60°, minden új vonal rövidebb, mint az a vonal, amelyből kialakult, így az építési folyamat a határgörbe felé hajlik. A 45°-nál kisebb szögek kevésbé szorosan „hajtogatott” fraktálokat eredményeznek.
Egy példa algoritmus PHP-ben
<?php
$i = 10 ;
$image = imagecreatetruecolor ( 640 , 480 );
imagefilledrectangle ( $image , 0 , 0 , imagesx ( $image ) - 1 , imagesy ( $image ) - 1 ,
imagecolorresolve ( $image , 255 , 255 , 255 ));
$szín = képszínfeloldás ( $kép , 0 , 0 , 0 );
rajzolt _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ );
/**
* Két pont közé rajzolja az illetékgörbét.
* @return void
*/
function drawLevy ( $image , $xa , $ya , $xc , $yc , $i , $color ) {
if ( $i == 0 )
képsor ( $image , $xa , $ya , $xc , $yc , $szín );
else {
// A---B
// |
// C
$xb = ( $xa + $xc ) / 2 + ( $yc - $ya ) / 2 ;
$yb = ( $ya + $yc ) / 2 - ( $xc - $xa ) / 2 ;
drawLevy ( $kép , $xa , $ya , $xb , $yb , $i - 1 , $szín );
drawLevy ( $image , $xb , $yb , $xc , $yc , $i - 1 , $szín );
}
}
header ( 'Tartalom típusa: image/png' );
imagepng ( $kép );
imagedestroy ( $kép );
?>
Egy példa algoritmus a Python 3-ban
import teknős
teknős . hideturtle ()
teknős . nyomkövető ( 0 )
teknős . penup ()
teknős . beállított helyzet ( - 100 , 0 )
teknős . függőben ()
axióma , tempAx , logika , iterációk = 'F' , '' , { 'F' : '-F++F-' }, 15
i esetén tartományban ( iterációk ) : j esetén axiómában : tempAx + = logika [ j ] if j logikában else j axióma , tempAx = tempAx , ' '
k - ra axiómában : if k == '+' : teknős . jobb ( 45 ) elif k == '-' : teknős . balra ( 45 ) más : teknős . előre ( 1 )
teknős . frissítés ()
teknős . főhurok ()
Lásd még