Achsen Schritweiten der Grafikansicht 2

-Loco- shared this question 10 years ago
Answered

Hallo,

Gibt es eine Möglichkeit die Achsenschrittweiten der Einheiten des zweiten Grafikfensters auszulesen?

Die Schrittweiten des ersten Fensters lassen sich ja mit folgenden Befehlen ermitteln:

    AchsenSchrittweiteX[]

    AchsenSchrittweiteY[]

Wenn nicht, wie ermittle ich "zu Fuß" die gewünschten Werte?

Ich benötige die Werte um ein isometrisches Koordinatensystem mit entsprechenden Achsenbeschriftungen zu versehen.

Danke schon mal.

Loco

Comments (10)

photo
1

Im Handbuch finde ich direkt auch nichts dazu.


Habe aber das gefunden:

SetzeAktiveGrafikansicht[<Grafikfenster 1|2>]

http://wiki.geogebra.org/de...


Eventuell muss das im Script davor stehen und dann liefert dein Befehl den Wert von der anderen Ansicht.


Eine Rückmeldung wäre nett oder am besten wäre es, wenn du im Wiki

http://wiki.geogebra.org/de... und

http://wiki.geogebra.org/de...

eine Ergänzung dazuschreiben könntest.


Danke, Birgit

photo
1

Hallo, danke für die schnelle Antwort.

Nein, die Kombination mit dem Befehl

    SetzeAktiveGrafikansicht[<Grafikfenster 1|2>]

führt leider nicht zum Erfolg.

Ich habe die Befehle in Kombination jeweils über ein Skript (Schaltfläche) oder per Eingabe in die Eingabezeile getestet.

Das Resultat blieb das selbe, es wurden immer die jeweiligen Werte der ersten Ansicht ausgegeben.

Ich vermute, dass der genannte Befehl nur bei zu erzeugenden Objekten seine Wirkung zeigt,

aber der andere Befehl einfach unabhängig davon den im Programm errechneten Wert angibt.

Ein Test bei geschlossener erster Ansicht blieb ebenfalls erfolglos.

Danke schon mal.

Loco

photo
1

Hallo


Hier eine mögliche Lösung für die X-Achse im GrafikFenster-2.


Raymond

https://ggbm.at/554405

photo
1

Hallo,

Danke für diese Lösung.

Dank der gezeigten Möglichkeit die Anzahl der Pixel pro Einheit zu ermitteln (welche ich zuvor nicht kannte)

kann ich nun sogar die Skalenteilungsstriche und die zugehörigen Textpositionen in Pixelgrößen festlegen.

Ein weiterer Schritt zum perfekten isometrischen Koordinatensystem.

Jetzt müsste ich nur noch herausfinden wie man die Abmessungen der Textobjekte ausließt/ermittelt.

Nochmals vielen Dank für die mehr als hilfreiche Lösung.

Gruß

Loco

photo
1

Hallo,


Jetzt müsste ich nur noch herausfinden wie man die Abmessungen der Textobjekte ausließt/ermittelt.


    Eckpunkt[<TextObjekt>,<Eckpunkt-Nummer>]


Siehe auch angehängtes Beispiel

und

http://www.geogebratube.org/material/show/id/4483


Raymond

https://ggbm.at/554409

photo
1

Hallo,


Jetzt müsste ich nur noch herausfinden wie man die Abmessungen der Textobjekte ausließt/ermittelt.


    Eckpunkt[<TextObjekt>,<Eckpunkt-Nummer>]


Siehe auch angehängtes Beispiel

und

http://www.geogebratube.org...


Raymond

Hallo rami,

mich irritiert in der Beispieldatei etwas:

Zwischen dem Text als solchem und den Rändern des Textobjektes ist an allen 4 Seiten ein beträchtlicher Zwischenraum. Bei einer Drehung um 90° geht dieser Zwischenraum links und rechts gegen Null.

Das erschwert es ungemein, bei der Drehung irgendeines Objektes einen selbst erstellten Text so mitzudrehen, dass er seine Lage zum gedrehten Objekt nicht verändert.

Weißt du, wie die Randbreite entsteht? Ist sie (zunächst bei ungedrehten Texten) irgendwie von Geogebra vordefiniert?

Gruß Abakus

photo
1

Hallo abakus,


Nein, auch für mich haben die Abstände keine erkennbare Logik.

(Ursprünglich wollte ich mit diesem Arbeitsblatt eine Formel für den Mittelpunkt eines Textes ermitteln, bin aber nicht weiter gekommen)

Ob gedreht mit 0° oder ungedreht, es kommt dasselbe heraus.

Ein Teil mag darin begründet sein, dass es Unter- und ''Ueber-'' Längen (zB ^2) gibt.

Ich vermute, dass die Funktion Eckpunkt[<text>,<n>] im Hintergund eine LaTex Funktion nutzt (und dort über 7 Ecken begründet werden könnte)


Allenfalls könnte man die Eckpunkte etwas präziser ermitteln, wenn man den Abstand der Position des Textes zum Eckpunkt-1 mit einbeziehen würde. Ein anderer Ansatz könnte darin bestehen, dass man den Text um 90° dreht und die dortige Breite als Höhe im ungedrehten Zustand benutzt.


Raymond

photo
1

Hallo, danke für die Antworten.

Das Auslesen der Textabmessungen werde ich sicherlich noch gebrauchen könne.

Das Drehen des Textes erfolgt übrigens tatsächlich im Hintergrund über einen Latexbefehl

(Ist eigentlich Latex hier im Forum eingebunden?).

    $ \rotatebox { Drehwinkel als Zahl } { Text } $

Zum nächsten, dank der hilfreichen Lösungsvorschläge konnte ich die folgende Datei erstellen.

Es funktioniert alles, jedoch muss ich bei jedem öffnen der Datei die Folgen für das zweite Fenster

neu "eingeben" (per Anwahl - [F3] - [Enter]).

Zusätzlich stelle ich nun ein "laggen" bei der Arbeit mit der Datei fest.

Das liegt wohl an der hohen Anzahl der Elemente in der Ansicht.

Danke für die nützlichen Antworten.

Gruß

Loco

https://ggbm.at/554417

photo
1

Hallo,


Leider, Leider pflege ich ebenfalls diesen Programmierstil: soviel als möglich in einem Befehl zu verschachteln.

2 Wochen später verfluche ich mich dann, weil ich meinen eigenen Code nicht mehr lesen kann.


Die Motivation für diesen Stil könnte in diesem Fall darin liegen, dass so wenig als möglich Zeilen in ein anderes Arbeitsblatt übertragen werden müssen. Das könnte man aber per Makro um einiges eleganter lösen. Dann wäre auch die Möglichkeit gegeben, den Code wieder zu entflechten und gleichzeitig erheblichen an Performance zu gewinnen (dringend benötigt!).


Die fehlenden (optischen) Strukturierungsmöglichkeiten in GeoGebara kann man mit folgenden Programmierstil-Prinzipien teilweise umgehen:

- Verschachteln (in Massen)

- Präfix in der Namensvergabe

- Strukturen durch Makros und Sub-Makros

- Beschriftung als Kommentarfeld (im Konstruktionsprotokoll einschalten)

- Reihenfolge im Konstruktionsprotokoll (?)


Aber eigentlich wäre ein eingebundener Editor, der die Strukturen farblich und durch Einrücken sichtbar machen könnte, (zB Notepad++) eine feine Sache (ink. Kommentarzeilen).


Das Zentrale an diesem Arbeitsblatt ist die Beschriftung der Achsen.

In gewissen Situationen wäre es vermutlich wünschenswert, wenn man diese fix an den Rand stellen könnte, sodass sie auch

dann erscheint, wenn der Null-Punkt aus dem Bild wandert. Eine mögliche Alternative wäre die Beschriftungsachsen immer im Zentrum des Bildes zu haben (der Null-Punkt, falls er im Fenster ist, wäre dann speziell markiert, positive und negative Werte könnte man farblich absezten).


Der GGB- Fehler in Grafik-2 ist darauf zurück zu führen, dass im Zeitpunkt der Initialisierung des Programms, die Objekte ASX2 und ASY2 noch auf ''undefiniert'' stehen (weil die Eckpunkte anfänglich unbekannt sind), sodass die davon abhängigen Objekte ebenfalls undefiniert werden (und bleiben). Eine Umgehungslösung (per Skript) sehe ich im Augenblick (noch?) nicht.


Raymond

photo
1

Hallo,

ja es ist ganz so wie gesagt, diesen Stil habe ich mir angeeignet um die Zahl der Elemente klein zu halten

und dadurch mehr Übersicht zu erhalten. Auch um Elemente leicht in andere Dateien übertragen zu können.


Das Verschieben der Achsen an eine Andere Position, wenn der Nullpunkt auserhalb des Bildes ist, ist relativ leicht realisierbar.

Jedoch müsste man sich überlegen wie man mit den "schiefen Achsen" verfährt, denn diese an den Rand zu setzten wäre nicht so sinvoll.

Das belassen der Achsen im Bildzentrum wäre auch eine Lösung.

Die idealste Lösung wäre natürlich das isometrische Koordinatengitter, welches im Programm bereits vorhanden ist,

durch entsprechende isometrische Achsen zu ergänzen (soll kein Zaunpfahlwink sein).


Ursprünglich wollte ich mit der isometrischen Ansicht einen Graphen 3-ten Grades

und die zugehörigen cardanischen Teillösungen sowie Wurzeln im Zusammenhang darstellen.

Das wollte ich bis zu meinem Fachreferat realisieren. Ich denke das ist nun möglich auch wenn es "leicht" ruckelt.

Deshalb werde ich noch versuchen an der Performance zu schrauben (Makro, danke für den Tipp)

und danach wenn ich Zeit übrig habe an der Achsenverschiebung zu basteln.


Abschließend kann ich nur sagen dank der Tipps hier kann ich mir nun jederzeit selbst ein geeignetes Koordinatensystem basteln

oder die vorgeschlagene Datei dazu verwenden.

Gruß

Loco

© 2022 International GeoGebra Institute