Sierpinského trojúhelník v AS3
V tomto článku si ukážeme, jak v ActionScript 3 snadno rekurzivně nakreslit fraktál, a to konkrétně Sierpinského trojúhelník.
Sierpinského trojúhelník
Sierpinského trojúhelník je fraktálový obrázek, který lze vytvořit např. tímto způsobem:- Nakreslíme černý trojúhelník
- Z černého trojúhelníku odstraníme "vnitřní trojúhelník" a tuto funkci zavoláme na tři menší trojúhelníky, které vznikly v okolí
Kód v AS3
var limit:int = 6;
function drawTriangle(x:Number, y:Number, level:int, size:Number):void
{
if(level==0) // pokud jsme na 0. úrovni, nakreslíme čer. troj.
with(graphics)
{
clear();
beginFill(0x00);
moveTo(x, y-size);
lineTo( x + size * 1.73/2, y + size/2);
lineTo( x - size * 1.73/2, y + size/2);
moveTo(x, y-size);
endFill();
}
if(level == limit) return; // pokud jsme se zanořili do limitu, nepokračujeme
with(graphics) // nakreslíme bílý trojúhelník
{
beginFill(0xffffff);
moveTo(x, y+size/2);
lineTo( x - size * 1.73/4, y - size/4);
lineTo( x + size * 1.73/4, y - size/4);
moveTo(x, y+size/2);
endFill();
}
// nakreslíme trojúhelníky kolem
drawTriangle(x, y - size/2, level+1, size/2); // horní
drawTriangle(x - size * 1.73/4, y + size/4, level+1, size/2); // pravý dolní
drawTriangle(x + size * 1.73/4, y + size/4, level+1, size/2); // levý dolní
}
ahoj ... Snažím se napsat v Flash Sierpinského trojúhelník, ale nefunguje. Někdo by mi uměl poslat Fla soubor, abych věděl, jak to funguje? (nagy33attila@gmail.com)
předem děkuji