Dinamikus koordináták
- Szerző:
- Szilassi Lajos
- Témák:
- Koordináták
Mik azok a dinamikus koordináták?
Minden GeoGebra felhasználó tudja, hogy néha milyen hasznos lehet, ha egy pontot úgy tudunk mozgatni az egérrel, hogy "ragadjon rá" egy rácspontra, vagyis legyenek a koordinátái egész számok. Mint pl. itt.
A dinamikus koordináták alkalmazása azt teszi lehetővé, hogy egy - erre felkészített - egérrel mozgatott pont ne csak arra legyen képes, hogy rácspontra ragadjon, hanem arra is, hogy ragadjon rá olyan pontokra, vagy vonalakra, amelyet a GeoGebra program készítője erre a célra kijelöl. Ezt ragadó pontnak nevezi a GeoGebra kézikönyv
Mindez mire jó? Először ezt fogjuk bemutatni néhány korábbi applet elemzésével.
Példák a dinamikus koordináták alkalmazására
1. A Desarques alakzat hátterében:
Vizsgáljuk meg alaposan az anyag második appletjét. Itt azt próbáltuk bemutatni, hogy ebben a 10 pontból és 10 egyenesből álló alakzatban, ahol minden pontra 3 egyenes és minden egyenesre 3 pont illeszkedik, egyik pontnak sincs kitüntetett szerepe: közülük bármelyik lehet két centrálisan perspektív háromszögnek a centruma.
Figyeljék meg alaposan a mi szempontunkból ezt az appletet, amelynek a piros pont az egyetlen mozgatható pontja. Ha ezt a 10 pont közül bármelyiknek a közelébe visszük, akkor arra "ráragad", ... és történik valami. Egyszeriben megváltozik az ábra: az így kijelölt pont lesz a megjelenő két perspektív háromszögnek a centruma. Ha elmozdítjuk onnan az odaragadt pontot, akkor elmúlik a "varázslat", de másik pont közelében ugyanez megismétlődik. Mint később látni fogjuk, szabályozható, hogy milyen közel kell vinni ahhoz hogy "odaragadjon", vagy hogyan tudjuk onnan elhozni.
A mi szempontunkból azt kell megjegyeznünk hogy ezzel a módszerrel ki tudtunk választani a 10 pont közül egyet, és ez létrehozott egy "eseményt". Szkeptikus olvasóink azt mondhatják erre, hogy ezt egy -egy kattintással is elintézhettük volna. Ez igaz, de így könnyebb előállítani a 10 különböző eseményt. És talán látványosabb is.
2. A neuszisz szerkesztés hátterében:
Ha az első appletben kíváncsiak vagyunk az elnevezésekre, megjelenik egy pont, felette egy kérdőjellel. Ha ezt a pontot mozgatva közelébe visszük a vonalzónak, vagy a rajz bármely részletének, akkor arra ráugrik, és megjelenik az alakzat neve. Itt a dinamikus koordinátákat arra használtuk, hogy a dinamikus ponttal kiválasszunk-egy-egy objektumot, amivel kapcsolatban fel tudtunk írni egy-egy üzenetet.
Ugyanitt azt is bemutattuk, hogy a kezdő pozíciót, amikor a vonalzó pontosan a helyén van, gyakorlatilag lehetetlen "kitapogatni" a P pont mozgatásával.
Ezért a további három appletben, ha a P-pont "eléggé" közel került a "jó" beállításhoz, akkor a P-pont ráragadt a számunkra láthatatlan, de előre kiszámított jó pontra. Ez a "kegyes csalás" csak a dinamikus koordináták alkalmazásával érhető el.
Egy mintapélda a dinamikus koordináták alkalmazására
Feladat:
Messe az ABC Δ AB oldalát egy C csúcsa köré írt kör a D és E pontban! Legyen a DE szakasz felezőpontja F , a DCE körív felezőpontja G.
Különböző üzeneteket szeretnénk csatolni a D, E, F, G pontokhoz, valamint az AB szakaszhoz, a (DCE) körívhez, sőt ahhoz a helyzethez is, amikor a dinamikusan mozgatható V pont ezek egyikére sem ragadt rá.
Az alábbi applet ezt a (rész)problémát oldja meg, azzal a nem titkolt céllal, hogy majd "élesben" is alkalmazni fogjuk abban az anyagban, ahol azt fogjuk megvizsgálni, hogy a szabályos ötszög valóban átdarabolható-e szabályos háromszöggé az ott bemutatott módon.
A szerkesztés
Először állítsuk elő a feladatban leírt ábrát.
Meg kell határoznunk, hogy az egérrel mozgatott (alaphelyzetben szabad) V pontnak milyen közel kell kerülnie ahhoz az objektumhoz, amire rá szeretnénk ragasztani. Legyen ez a határ ε=Távolság(F,G)/2. Ha így választjuk ε-t, akkor ezzel kizártuk, hogy a DE körszelet belső pontja szabad pont maradjon.
Az alábbi appletben a Szerkesztés jelölőnégyzetet bekapcsolva láthatóvá tettük azokat a vonalakat, amelyeken belül érve V ráragad a hozzá legközelebb eső alakzatra.
A dinamikusan mozgó V pont "mögött" van két nem látható pont, amelyet most, a demonstráció kedvéért láthatóvá tehetünk. Ezek: M egy szabad (az egérrel mozgatható) pont, és L az M pontnak a szóba jöhet alakzatok halmazából vett M-hez legközelebbi pont. Ugyanis a GeoGebra LegközelebbiPont(<Tartomány>,<Pont>) parancsában a tartomány lehet olyan halmaz is, amelynek az elemei pontok, vagy vonalak. Pl. a mi esetünkben LP={D, F, E, G, i, j, l, m, q, r} , ahol az LP halmaz 4 pontból, az AB szakasz ε sugarú körein kívül eső legfeljebb 4 szakaszból és a (CDE) körív két körívéből áll.
Így az L pont az L=LegközelebbiPont(LP,M) paranccsal áll elő.
Így a keresett V pont a dt logikai értéktől függően ragad rá L-re, vagy mozog együtt M-el, ahol dt=Távolság(M, L)<ε.
Ezt nem csak most, hanem minden dinamikus koordinátákat alkalmazó applet kulcsfontosságú parancsa:
V=DinamikusKoordináták(M, Ha(dt, x(L), x(M)), Ha(dt, y(L), y(M)))
Sajnos ezt a Ha(<feltétel>,<akkor>,<különben>) szerkeszetű részt mindkét koordinátára (térbeli esetben mindháromra) külön fel kell írni.
Innen már csak meg kell tudnunk, hogy a V pontot az LP lista melyik eleme vonzotta magához (esetleg egyik sem): Eset={V ≟D,V ≟ F, V≟E, V≟G,Távolság(V, f)≟0,Távolság(V,d) ≟ 0,true} Ebből a pontosan egy true értéket tartalmazó listából kiválasztjuk, hogy melyik sorszámú elem az: p=Pozíció(true,Eset), végül kiíratjuk az Üzenet{} lista p -edik elemét, ami most éppen a V dinamikus változó aktuális helyére utal.
A fenti applet V pontját kicsit megmozgatva az egérrel, tapasztalhatjuk, hogy valóban az történik, amit a feladatban célul tűztünk ki, az üzenet is megjelenik, amit természetesen megváltoztathatunk.
Javasoljuk olvasóinknak, hogy önálló munkáikban bátran alkalmazzák ezt a látványos lehetőséget, amely csak az első pillanatra tűnik bonyolultnak.
Ha kimegy,.... akkor bejön!
Az alábbi appletben még egy egyszerű, de talán hasznos példát mutatunk a dinamikus koordináták alkalmazására.
Figyeljük meg, hogy ha az A , vagy B pontot kihúzzuk az egérrel a körvonalig, akkor átugrik a kör vele átellenes pontjába. Ez nem ugyanaz a 'jelenség, amit pl. a BelsőPont(Kör((0,0),10)) paranccsal érhetnénk el, hogy az így megadott pont "nem tud kimenni" az origó középpontú 10 sugarú körből.
Most ki tud menni. ... De azon nyomban be is jön a körvonal átellenes pontján.
Ezt a jelenséget az A pont esetben ezzel így állítottuk elő. Legyen:
- A_M egy tetszőleges szabad pont;
- A_K=x(A)^2+y(A)^2>100. Ezt a logikai értéket megkaphattuk volna a Távolság((0,0),A)>10 paranccsal is, de ha tudunk, könnyítsük meg a GeoGebra dolgát azzal, hogy az egér koordináták racionális számok, így az előbbi kérdés racionális számok összehasonlítása, kevésbé munkaigényes.
- A_L=LegközelebbiPont(Kör((0,0),10))
- A=DinamikusKoordináták(A_M, Ha(A_K, -x(A_L), x(A_M)), Ha(A_K, -y(A_L), y(A_M))) . Sajnos a DinamikusKoordináták() parancs számára mindkét (3D_s esetben mindhárom) koordinátára külön-külön fel kell tenni azt a logikai kérdést, amely a dinamikát vezérli.
- B_M szabad pont.
- B=DinamikusKoordináták(B_M, Ha((x(B_M))² + (y(B_M))² > 100, -x(B_M) * 100 / ((x(B_M))² + (y(B_M))²), x(B_M)), Ha((x(B_M))² + (y(B_M))² > 100, -y(B_M) * 100 / ((x(B_M))² + (y(B_M))²), y(B_M)))
![Az [b]A[/b] pont az [b]A[/b][sub][b]k[/b] [/sub](külső) pont [i] k[/i]-ra vonatkozó inverzének az O-ra vonatkozó tükörképe.
Az [b]A[/b] és [b]A[/b][b]k [/b]pontok közötti kapcsolat az un. [i]polárreciprocitás. ([/i]Ez épp úgy szimmetrikus transzformáció, mint pl. a tengelyes tükrözés)](https://www.geogebra.org/resource/rmhjrthu/XVm5LdhAdMWMIgiq/material-rmhjrthu.png)
Ezt a "fogást" itt használtuk fel: az elliptikus geometria kör modelljén úgy "viselkednek" a pontok, mint a fenti appletben.
Értékadás( )
Az Ertékadás() parancs egy a fentihez némileg hasonló hatású GeoGebra utasítás. Akkor használjuk, ha azt szeretnénk, hogy csak egy egy Geogebra objektum ideiglanesen Pl. egy kattintás ereejéig vegyen fel új értéket. mint pl.az alábbi feladatban:
Legyen adott két háromszög, ABC és PQR . Az Ugrás gombra kattintva az ABC ideiglenesen essen egybe a PQR háromszöggel.
Az "Ugrás" gomb sritjében van az a három parancs, amelyek a sciptre karrintva aktivizálódnak.
- Érték(A,P)
- Érték(B,Q)
- Érték(C,R)
- Érték(C,R)
- Érték(A,P)
- Érték(B,Q)