Google Classroom
GeoGebraGeoGebra Classroom

Cantor-set iterations

hungarian description

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