Własności przekształceń izometrycznych, jednokładności i powinowactw.

W niniejszym artykule zostanie omówione składanie przekształceń występujące w nauczaniu matematyki w szkole średniej, takie jak: składanie izometrii, jednokładności i powinowactw prostokątnych.

Wzory analityczne opisujące te przekształcenia mają postać:

, , ,

, ,

Jak widać, każde z tych przekształceń ma postać: , gdzie współczynniki a, b, c, d, e, f to odpowiednie liczby rzeczywiste, zaś zmienne x i y występują w pierwszej potędze.

Weźmy na początek przekształcenie o współczynnikach: a=0, b=0.9, c=-0.4, d=-0.4, e=0, f=-0.5. Znajdźmy, przy pomocy odpowiedniego programu komputerowego, obraz kwadratu o wierzchołkach A(1,1), B(1,-1), C(-1,-1), D(-1,1) w tym przekształceniu (program ten, jak i pozostałe programy zastosowane w artykule, znajdują się w pliku skl-prz.zip).

program Jedno_przeksztalcenie; {Turbo Pascal 7.0}
uses graph,crt; var karta,tryb,n:integer; x,y,xNowe,yNowe:real;
{1} const t: array[1..6] of real=(0,0.9,-0.4,-0.4,0,-0.5);
begin
karta:=detect; initGraph(karta,tryb,''); randomize;
repeat
repeat
x:=random*2-1; y:=random*2-1;
{losowanie punktów kwadratu ABCD}
{2} until true;
putPixel(round(x*80+320),round(-y*80+240),white);
{rysowanie wylosowanego punktu}
n := 1;
repeat
xNowe := t[1] * x + t[2] * y + t[3];
{obliczanie nowych współrzędnych}
yNowe := t[4] * x + t[5] * y + t[6];
x := xNowe; y := yNowe;
putPixel(round(x*80+320),round(-y*80+240),n);
{rysowanie nowego punktu}
n := n + 1;
{3} until n>1;
{4} until keyPressed;
readLn; closeGraph;
end.

Patrząc na otrzymany rys.1 wydaje się, że nie ma nic ciekawego w tym przekształceniu - obrazem kwadratu jest banalny prostokąt. Jednak przekształcenie to kryje w sobie ciekawą własność związaną z punktem stałym. Aby znaleźć punkt stały tego przekształcenia należy rozwiązać układ równań: . Otrzymujemy punkt stały . Właśnie ten punkt ma bardzo ciekawą własność. Jeżeli wystartujemy z dowolnego punktu X i znajdziemy jego obraz X’ w tym przekształceniu, następnie znajdziemy obraz X’’ tego obrazu, itd., to już po kilkunastu krokach otrzymamy punkt stały P tego przekształcenia. Pokazuje to rys.2, który można uzyskać przy pomocy programu Jedno_przeksztalcenie nadając wskazanym liniom następującą postać: {3} until n>14; {4} until true;

Własność zbiegania się obrazów do punktu stałego jest również spełniona dla dowolnej figury, m.in. dla trójkąta. Kolejne obrazy trójkąta zbiegają się w punkcie stałym tego przekształcenia. Aby otrzymać rys.3 należy nadać liniom programu postać:

{2} until (x<0.2)and(y>0.1)and(y<2*x+0.6); {3} until n>14; {4} until keyPressed;

Powstaje ciekawe pytanie: Czy każde przekształcenie o postaci ma tę własność, że obrazy punktów (figur) zbiegają się w jednym punkcie?

Weźmy przekształcenie o współczynnikach: 0.5,-1.0, 0.5, 0.3, 0.6,-0.6 i wpiszmy je do programu w linii {1} w miejsce poprzednich współczynników. Po uruchomieniu otrzymujemy rys.4 przedstawiający obrazy trójkątów również zbiegające się w jednym punkcie. Jest to punkt stały tego przekształcenia P(1.6, -0.3).

Jednak dla przekształcenia o współczynnikach 0,1,0,-1,-1.4,1 obrazy trójkątów - rys 5 -nie zbiegają się w jednym punkcie chociaż przekształcenie ma punkt stały .

Dlaczego tak się dzieje? Otóż dwa pierwsze przekształcenia mają własność powodującą zmniejszanie się odległości punktów po przekształceniu. Takie przekształcenie nazywamy przekształceniem zwężającym lub zbliżającym. Ogólna teoria tych przekształceń zawarta jest w twierdzeniu Banacha [1], które mówi, że dla każdego przekształcenia zwężającego ciąg obrazów punktów (figur) jest zbieżny do punktu stałego. Przekształcenie z rys.5, chociaż ma punkt stały, nie jest przekształceniem zwężającym i dlatego obrazy punktów nie zbiegają się w jednym punkcie.

Weźmy teraz dwa przekształcenia przedstawione na rysunkach 3 i 4. Zbadajmy jaki obraz otrzymamy, startując od punktu (0,0) i przekształcając go przez oba przekształcenia, otrzymane obrazy znów przekształcając przez oba przekształcenia, itd. Ponieważ jednak ten sposób składania wymaga pamiętania dużej ilości punktów, więc zdecydowałem się na losowy wybór przekształcenia. Obraz końcowy nie będzie się różnił od właściwego obrazu, pod warunkiem, że pozwolimy komputerowi pracować około 3 min.

Odpowiedni program wykonujący to zadanie ma postać:

program Dwa_przeksztalcenia; {Turbo Pascal 7.0}
uses graph,crt; var karta,tryb,prz,skala:integer; x,y,xNowe,yNowe:real;
{1} const t: array[1..12] of real= (0,0.9,-0.4,-0.4,0,-0.5,0.5,-1,0.5,0.3,0.6,-0.6);
begin
karta:=detect; initGraph(karta,tryb,''); randomize;
x := 0; y := 0; skala:=80;
repeat
{2} prz := random(2);
{losowanie przekształcenia}
xNowe:=t[prz*6+1]*x+t[prz*6+2]*y+t[prz*6+3];
{obliczanie nowych współrzędnych}
ynowe:=t[prz*6+4]*x+t[prz*6+5]*y+t[prz*6+6];
x := xNowe; y := yNowe;
putPixel(round(x*skala+320),round(-y*skala+240),prz+3);
{rysowanie nowego punktu}
until keyPressed;
readLn; closeGraph;
end.

W wyniku działania tego programu otrzymujemy rys.6 przedstawiający figurę, której każda część jest podobna do całości. Figurę taką nazywamy fraktalem [2].

Można w prosty sposób wyjaśnić dlaczego otrzymaliśmy taką, a nie inną figurę. Wystarczy pamiętać jak działają oba przekształcenia i prześledzić drogę kilkunastu początkowych punktów tej figury. Jeśli najpierw wylosowało się pierwsze przekształcenie to obrazem punktu startowego (0,0) jest punkt (-0.4,-0.5), Jeśli następnie wylosuje się kilkakrotnie znów przekształcenie pierwsze to obrazy będą zbiegać się do punktu stałego (-5/8, -1/4), tworząc fragment ciemniejszej figury. Jeśli natomiast, jako pierwsze, wylosuje się przekształcenie drugie, to punkt (0,0) przekształci się na punkt (0.5,-0.6), a dalsze punkty będą albo tworzyć figurę prawą, zbiegając się do punktu stałego (1.6,-0.3) wtedy, gdy kolejne przekształcenia będą drugim przekształceniem, albo przejdą na lewą stronę, jeśli w którymś momencie wylosuje się pierwsze przekształcenie. Tak więc cała figura jest samopodobna ponieważ w lewej części odwzorowuje się kształt prawej figury, gdy punkty z prawej strony przechodzą na lewą, ale równocześnie przyjmuje ona własny kształt, gdy kilka razy pod rząd wybrane zostanie pierwsze przekształcenie. To samo można powiedzieć o prawej stronie figury.

Takie rozumienie tej figury oraz innych figur przedstawionych na następnej stronie, może przyczynić się do głębokiego zrozumienia geometrii a być może również do innego spojrzenia na wielu procesów zachodzących w Naturze. Pytanie, dlaczego drzewa, liście, chmury, płatki śniegu, wydmy, fale, góry, brzeg morski i wiele innych naturalnych tworów, powstałych w wyniku wielu milionów chaotycznych(?) ruchów cząstek, ma takie a nie inne kształty, zaczyna mieć naukową odpowiedź.

Rysunki poniżej otrzymano przy pomocy programu Dwa_przeksztalcenia. Jeśli jednak pod rysunkiem podana jest większa ilość przekształceń to należy zmodyfikować odpowiednio linie {1} i {2}. Wielkość rysunku regulujemy zmienną skala. Inne ciekawe figury można również uzyskać przy pomocy gotowego programu IFS.

Zobacz również artykuł Fraktale IFS zbudowane w oparciu o wielokąty foremne.

Eugeniusz Jakubas
Zamość, 1998r.

Literatura:

[1].R.Engelking, K.Sieklucki - “Geometria i topologia” - PWN - 1980r.
[2].H.O.Peitgen, H.Jurgens, S.Saupe - “Granice chaosu - fraktale” - PWN - 1996r.