Cantor square

Hungarian description
Itt C egy lista, aminek az első eleme a kiindulási szakasz [0,1]. [br]Az n+1-edik tag úgy keletkezik, hogy az n-edik tagnak minden szakaszának vesszük [br]az egyik végpontját és a hozzá közeleb lévő harmadolópontot összekötő szakaszt, ez alkot egy új szakaszhalmazt,[br]aztán ugyanezt megcsináljuk, csak a másik végpont-harmadolópont szakaszra is, ez is létrehoz egy új halmazt. [br]Az n+1-edik tag ezen két halmaz uniójaként jön létre.[br]Az Iteráció[függvény(n->n+1), változó(lista1), {kezdőérték(s)}, iterációk száma(n)] parancs pedig megadja az n-edik iterációt.[br]Így megkaphatjuk C-t (n iterációra):[br][br]s={Szakasz((0, 0), (1, 0))}[br][br]Iteráció([br]Unió([br][br]Sorozat([br]Szakasz([br]Metszéspont(Kör( Középpont(Elem(lista1, i)), Hossz(Elem(lista1, i)) / 2), Elem(lista1, i), 1), [br]Metszéspont(Kör(Metszéspont(Kör(Középpont(Elem(lista1, i)), Hossz(Elem(lista1, i)) / 2), Elem(lista1, i), 1), Hossz(Elem(lista1, i)) / 3), Elem(lista1, i))[br]), [br]i, 1, Hossz(lista1)[br]), [br][br]Sorozat([br]Szakasz([br]Metszéspont(Kör( Középpont(Elem(lista1, i)), Hossz(Elem(lista1, i)) / 2), Elem(lista1, i), 2), [br]Metszéspont(Kör(Metszéspont(Kör(Középpont(Elem(lista1, i)), Hossz(Elem(lista1, i)) / 2), Elem(lista1, i), 2), Hossz(Elem(lista1, i)) / 3), Elem(lista1, i))[br]), [br]i, 1, Hossz(lista1)[br])[br][br]), lista1, {s}, n)[br][br][Magyarázat:[br]Az adott szakasz mindenhol Elem(lista1, i), az egyik végpontja [br]a szakasz és a (szakasz felezőpontja) középpontú és (szakasz hosszának fele) sugarú kör metszéspontja:[br]A=[br]Metszéspont(Kör(Középpont(Elem(lista1, i)), Hossz(Elem(lista1, i)) / 2), Elem(lista1, i), 2)[br][br]az ehhez közelebbi harmadolópont a szakasz és az A középpontú, (szakasz hosszának harmada) sugarú kör metszéspontja:[br]B=[br]Metszéspont(Kör(A, Hossz(Elem(lista1, i)) / 3), Elem(lista1, i)) = [br]=Metszéspont(Kör(Metszéspont(Kör(Középpont(Elem(lista1, i)), Hossz(Elem(lista1, i)) / 2), Elem(lista1, i), 2), Hossz(Elem(lista1, i)) / 3), Elem(lista1, i))[br]][br][br][br]Ezután C^2 úgy kapható meg, hogy vesszük egy C szakaszainak bal oldali végpontját, ami úgy kapható meg, hogy [br]vesszük minden szakasznak az egyik végpontját és, ha jobbra van a szakasz középpontjától, [br]akkor tükrüözzük arra, ez lista_2.[br]Aztán két egymásba ágyazott sorozattal leképzünk minden (i,j) számpárt, ahol 1 < i,j < Hossz(lista1).[br]Így megkapjuk az összes négyzet bal alsó pontját (i;j)-ként.[br]Aztán vesszük az (i ; j) és (i+1/3^n ; j) pontokat és egy egyszerű sokszög paranccsal [br]egy négyzetet szerkesztünk föléjük :[br][Az x(A) lekéri A pont x koordinátáját.][br][br]lista2:[br]Sorozat([br]Ha([br][br]x([br]Metszéspont(Kör(Középpont(Elem(lista_1, i)), Hossz(Elem(lista_1, i)) / 2), Elem(lista_1, i), 1)[br]) [br]> [br]x([br]Középpont(Elem(lista_1, i))[br]), [br][br]Tükrözés(Metszéspont(Kör(Középpont(Elem(lista_1, i)), Hossz(Elem(lista_1, i)) / 2), Elem(lista_1, i), 1), [br]Középpont(Elem(lista_1, i))), [br]Metszéspont(Kör(Középpont(Elem(lista_1, i)), Hossz(Elem(lista_1, i)) / 2), Elem(lista_1, i), 1)[br]), [br]i, 1, Hossz(lista_1)[br])

Information: Cantor square