Alrebraansicht unvollständig

FriedrichLaher shared this question 3 years ago
Answered

[vermutlich zu alte Version: 5.0.257.0-3D (Java 1.710_101-64bit,910MB,Giac/JNI)) 06 July 2016

]

siehe Bild: Die im Eigenschaften-Dialog angezeigte Zahl r fehlt in der Algebraansicht

Files: gg.png

Comments (16)

photo
1

Ist r vielleicht nur als Hilfsobjekt deklariert?


Oder hilft herunterscrollen im Algebra-Fenster?

photo
1

Und noch ein weiteres Rätsel dieser Art. Möglicherweise sogar dasselbe Rätsel.

Löblicherweise mit Datei-Anhang, sodass Interessierte auch eine Chance haben das Rätsel zu lösen.

aa0541f18fdb14732fe7f64cc8ab999f

@ Friederich Laher:

Es wäre interessant auch in Deine Datei reingucken zu können.

photo
1

Danke, ja ist ein Hilfsobjekt.;

ok, die Datei, die zu sagen scheint, ich hätte zuviel Zeit . Die Graphiken sind aus 50px großen HTML-Text entstanden,

aus dem Browserbidl durch GIMP - Bildschirmfoto übernomen, beschnitten und als png exportiert, aus dem geöffnetem Ordner per Drag&Drop ins Geogebrafenster gebracht.

photo
1

@rami zu Rätsel1.ggb


wurde für das hier hochladen der Rätsel1.ggb die geogebra.xml unversehrt gelassen? "NaN" (siehe Bild) macht mich mißtraurisch, auch wenn ich nichts von xml verstehe.

photo
1

ach, Fehlbedienung; da kommt das Bild

photo
1

Die ggb-Datei habe ich nicht mit unlauteren Mitteln verändert. Auch keinerlei Skripts (schon gar nicht JS).

Ich habe in der Eingabezeile eingegeben:


  1. a=1
  2. b=1
  3. c=a+b
  4. Dann habe ich objekt "c" fixiert
  5. und objekt "a" gelöscht.

Bis hierher hat GGB alles richtig/erwartungsgemäss gemacht.

Also das abhänginge c nicht mit-gelöscht und anstelle dem Löschen von a dieses auf undefiniert gesetzt (von Aussen nicht ohne weiteres ersichtlich). Damit wird das abhängige c ebenfalls undefiniert.

.

Dann habe ich in der AlgebraAnsicht mit den Anzeige-Optionen rumgespielt und in gewissen Konstellationen wurde keines der Objekte angezeigt.

Das scheint ein kleiner Bug zu sein, der aber nicht im Zusammenhang mit den Punkten 1..5 zu stehen scheint (wie ich mir in einer Ausgangsthese erhofft hatte).

.

Apropos "zuviel Zeit haben" :

Zeit entsteht (empfindet man) nur dann, wenn es keinen Spass macht.

Und falls es mir Spass machen sollte so werde ich gelegentlich versuchen Deine Idee mit Text anstelle von eingebundenen Grafiken zu erzeugen. (Schneller und präziser ginge es vermutlich mit einem Vektor-Grafik-Programm, das wäre aber langweilig und somit zu Zeitaufwändig)

photo
1

hm, interessant; genau betrachtet ist etwas nicht existetes ja tatsächlich undefiniert .

Und

ja, Spass machte meine selbstgestellte Fleißaufgabe, auch wenn mir ein paar Fehler passierten;

ach ja:

läßt sich eigentlich der "Zoom" irgendwie wieder auf exakt 100% einstellen nachdem estmal geändert worden ist?

photo
1

Beim Zoomen mittels Faktor oder %-Angabe ist jeder neue Zustand wieder 100%. Nicht ohne Grund gibt es die 100% Angabe beim Zoom in der rechts-Click-Auswahl nicht (es würde bedeuten: verändere nichts).

Am ehesten entspricht die Standardansicht diesen ominösen 100%. Da sich in der Standardansicht die Achsen 1:1 verhalten, entspricht das Verhältnis der Pixel-Anzahl der Bild-Breite und Höhe (Eckpunkt[5]) in der Standardansicht diesen 100%. Zusammen mit einem Bildmittelpunkt können dann die Eckpunkte errechnet werden.

Mit anderen Worten: Standardansicht wählen und Bild manuell zurechtrücken/verschieben (Allenfalls mit dem Skript-Command ZentralAnsicht[])

Oder aber die nicht ganz perfekte absolut-Zoomfunktion aus meinem Fundus verwenden Die Konstante zoomXYuno entspricht den 100%

Irgendwo in den tiefen des Forums hat "gno" dazu Grundlagenforschung betrieben, die eine perfekte Lösung ermöglichen würde.

photo
1

nochmals zu Rätsel1: würden auch Löschungen im Konstruktionprotokoll, das ich natürlich ansah; erscheinen, wäre es fast trivial gewesen. Sollte dies Protokollierung nicht wenigstens Option werden.

Was "Zoom" betrift ist es wohl am einfachsten, nach Augenmaß (Abstand der Einheiten auf den Achsen) einzustellen. Meist erfolgt für weitere Verwendung ohnehin viel Nacharbeit mit anderen Graphikwerkzeugen.

Das Unterfangen, allein mit ggb soetwas wie an eine Kurve gefesselten Text der sich den Änderungen der Kurve anpaßt zu schaffen, scheint mir unmöglich . ggb kann die Textgröße nicht feinstuffig genug variieren, die umgebende Box gedrehten Textes bleibt ich Achsen-parallel; es scheint zwar, über "Position" des Textes eine Bindung an einen Punkt auf einer Kurve möglich zu sein, aber drehen läß sich der Text dann nicht mehr. Es müßte wohl fast alles vorausberechnet werden.

photo
1

Sollte dies Protokollierung nicht wenigstens Option werden. -> ja, auch gekennzeichnet in der Algebra-Ansicht

Was "Zoom" betrift ist es wohl am einfachsten .... -> ja

.

Zu Text drehen:

ggb kann die Textgröße nicht feinstuffig genug variieren -> in JS mit punkt-Grössen Abstand möglich

aber drehen läß sich der Text dann nicht mehr -> er muss vorher gedreht werden

Es müßte wohl fast alles vorausberechnet werden. -> ja, vorallem der Dreh-Mittelpunkt (anhand der Eckpunkte)

.

Ebenfalls aus meinem Fundus:

Text entlang eines Kreisbogens, jedoch ohne Grössen-Aenderung und mit mangelhaftem Spacing als auch Mittelpunkt-Berechnung (inzwischen habe ich Ideen, wie das verbessert werden könnte).

Steht auch als Benutzertool zur Verfügung.

Siehe auch hier, die Lösung von Loco

photo
1

Danke, aber leider habe ich jetzt nicht die Musse, das zu studieren. Ich vermute, auch meine Arbeit ist aus dem ggb Code schwer verständlich.

Nach dem Zeichnen der Kurven

und

übernehmen je einer Graphik

wurden

deren Fußpunke nach dem Zeichen/Text den sie darstellt benannt,

indiziert

mit 0 für den linken Fußpunkt, mit 1, für den rechten

und

bei weiteren solcher Zeichen nach dem Index, nicht als Index,noch 2,3,..

AUF

der äußeren Kurve wurden entsprechende Punkte aber mit L und R als Indizii vorbereitet

und

dann die Positionen der Graphikpunkte auf die Kurvenpunkte gelegt (*), wonach durch Zug an diesen geeignetert Abstand vom vorherigem Zeichen und möglichst gute Berührung der 2ten Kurve, die nicht "geschnitten werden sollte, zu erreichen war.

(*)also

GraphPunktZindexz0[Zähler] auf KurvenPunktZindexL[Zähler]

GraphPunktZindexz1[Zähler] auf KurvenPunktZindexR[Zähler]

wobei

Z das Textzeichen/der Text ist und [Zähler] leer für erstmaliges Z, sonst 2,3,...]

wobei Zahlen noch ein "z" (Kleinbuchstabe z) voransteht.

Bei

Änderungen der Kurven wird man die Textverteilung meist manuell nachjustieren müssen da ggb selbst zwar immens Vieles, aber keine Funktionen für diese komplexe Aufgabe bietet ( z.B. die Position eines Punktes auf einer Kurve in Abhängikeit vom Durchschnitt zweier Pixelmengen zu variieren. )

photo
1

Ich schau mir das mal an. Wird 2 -3 Tage benötigen (die besten Lösungen kommen im/nach dem Schlaf)

photo
1

Da bin ich wieder.

Zunächst habe ich ein kleines Applet geschrieben, das beim Erstellen der Buchstaben-Bilder Unterstützung bietet.

Mit diesem Tool habe ich pro Buchstabe (Export + Import) etwa 60 sek benötigt. Die Grossbuchstaben habe ich mal erstellt. (Beilage 1 und 2: AbisZ.zip und BuchstabenExport01.ggb)

Im Sinne eines Entwurfes habe ich die Positionierung und Skalierung (also ohne Drehung und Spirale) im Applet "TextWithPic01.ggb" (Beilage 3) erprobt. Das Ganze folgt folgendem Lösungsprinzip:

Nicht das Importierte (orginal) Bild wird verschoben und skaliert sondern mit den verschachtelten Befehlen "Verschiebe[StreckeZentrish[]]" wird eine Kopie am gewünschten Platz erstellt.

Dazu muss das Bild skaliert werden (bestimmt durch die obere Begrenzung) und an den Eckpunkt[2] des vorangegangenen Buchstabens angehängt werden.

Dahinter verbirgt sich eine rekursive Verarbeitung: die Summe der Breite aller vorangegangenen Buchstaben bestimmt die Position des Aktuellen Buchstabens. Dazu gibt es verschiedene Lösungsansätze. Ich habe mich für die Tabelle entschieden (übersichtlich, keine Piruetten notwendig). Dort kann man sich ja mit relativ-Adressierung auf eine vorangäng berechnete Zelle beziehen. Mit "Herunterziehen" am kleinen schwarzen rechten Rechteck können die Zeilen kopiert werden (eine Zeile = 1 Buchstabe im aufzubereitenden Text)

Was in der Tabellenverarbeitung so alles benötigt wird, habe ich in Listen hinterlegt (die Bilder, die Eckpunkte, die Reihenfolge der Bilder (Namen) usw). Alle diese Listen haben einen synchronen Index. Das heisst der Index 3 zeigt auf das Bild pC und auf die dritte Liste innerhalb einer Liste mit den 4 Eckpunkten des Bildes mit dem Buchstaben C. Damit kann in der Tabellenverarbeitung indiziert (also ohne benannte Bildobjekte gearbeitet werden).

Spalten in der Tabelle:

A: Buchstaben Position innerhalb des aufzubereitenden Textes

B: Index in die oben erwähnten Listen (anhand des aktuellen Buchstabens Spalte A

C: Position für Eckpunkt-1 des Bildes (auf dem Pfad)

D: Zur Verfügung stehende Höhe beim Punkt aus C

E: Skalierungsfaktor für das Bild aus den Eckpunkten in der Liste und D

F: Position auf Pfad für Corner-2 des Bildes (wird in der folgenden Zeile benötigt)

G: Die Skalierte und verschobene Kopie des Orginalbildes (hier kommt dann noch drehen dazu)

.

Folgende Mängel bestehen noch:

Die Bilder sind mit der oberen Begrenzung bündig (anstelle der Schreib-Linie)

Das System für die Namensvergabe der orginal Bilder ist noch nicht geeignet um Spezial-Zeichen adressieren zu können.

Vermutlich muss zwischen dem Bild-Namen und dem Zeichen eine zusätzliche Uebersetzung eingebaut werden. Sicher müssen die Namen auch länger als 1-Stellig sein können (zB pSpace für eine Leerstelle, hier habe ich mich mit einem griechischen Buchstaben beholfen (alt s) )

.

Die Spirale habe ich ganz kurz angetestet. (Beilage 4: WirbMirbSpirStarkKrumm01)

Die sich überschneidenen Pfade (oben und unten) sind für die geschilderte Verarbeitungsform nicht geeignet.

Ich habe folgende Kurven verwendet:


  1. a = Kurve[(t r; t k), t, 0, 2π]
  2. b = Kurve[(t 1.4 r; t k), t, 0, 2π]

Ein Problem sind die eingeschränkten Möglichkeiten von Kurve bezüglich Schneiden[]. Um den Eckpunkt-2 zu platzieren habe ich anstelle eines Kreises auf der Tangente zum Eckpunkt-1 die Buchstabenbreite abgesteckt und den Nächsten Punkt auf der Spirale gesetzt. Das gibt eine sehr geringe Abweichung, die sich aber optisch nicht auswirken dürfte (ca 2 pixel reduzierter Zeichenabstand). Also, so meine ich, sind alle Voraussetzungen gegeben um mit dem bestehenden Lösungsansatz weiter zu kommen.

.

Vorschlag weiteres Vorgehen:

Ich warte mal Deinen Feedback ab

Ich korrigiere die oben erwähnten Mängel

Ich baue das Drehen basierend auf einer Tangente ein (das wäre auf einer Geraden 0°)

Du übernimmst den Rest

- Alphabet vervollständigen

- Text entlang Spirale (anstelle Gerade)

.

Wie gesagt: das ist ein Vorschlag, also eine der Möglichkeiten. Wie siehst Du das?

photo
1

Hallo rami,

danke

für Deine immense interessante Arbeit; ich muß meine fast 68 Lebensjahre vorschieben um zu entschuldigen, daß ich bisher kaum alles Verstehe; auch begriff ich nicht gleich daß die .bin Dateien in .ggb Dateien umzubenennen waren. Und daß ";" anstelle von "," eine Kurve in Polarkoordinaten erzeugt war mir auch nicht geläufig, und Die Tabellen-funktion hatte ich auch noch nie verwendet. Kleine schwarze Rechtecke sehe ich in der Tabelle keine.

Aufgefallen

ist mir aber, daß die Textzeichbilder weder in der Breite noch Höhe engbeschnitten sind.

Das

Skalieren ist natürlich für Archimdische Spiralen einfacher als für logarithmische. Und es war auch meine Absicht,

daß beide Kurven berührt werden sollten.

Aber "es" ist nun Dein "Baby" .

Gemacht habe ich das Ganze aus eigenem Antrieb für einen Bekannte der sich eine Webseite und Firmaauf-

bauen will und dem ich bei der Webseite helfe . Aber da ist für nichts viel Zeit für weiteres schöpferisches bleiben.

Und

Bildbeschneidurngen wirst Du wohl auch rationeller als ich mit gimp schaffen wenn Du das willst.

Tja,

was sich da aus einer so einfachen Frage zu "unvollständiger Algebraansicht" entwickelthat.

Wenn

es jetz DIR "am Herzen liegt" findest Du hoffentlich "Mitarbeiter".

Gruß

Fritz.

photo
1

Aber "es" ist nun Dein "Baby"


Das war ganz und gar nicht meine Absicht. Tut mir leid.

Frage: beneötigst Du für die Home-Page den Spiralen-Text in irgend einer Form?

Ich würde dann den jetzigen Stand zu Ende führen.

photo
1

Rami, wir werden schon zurechtkommen ; ob und wie es - im Namen meines Bekannten - publik wird ist noch offen;

Du darfts damit tun und lassen wie Dir zumute ist.

Gruß Fritz

© 2020 International GeoGebra Institute