Farbe setzen in Abhängigkeit ob Geraden zueinander parallel sind

Julia shared this problem 5 months ago
Not a Problem

Hallo zusammen,

ich habe folgendes Problem. Ich möchte für meine 5er ein Geogebra-Applet erstellen, mit dem sie die Parallelität von Geraden bzw. Strecken erarbeiten können. Wenn die Strecken parallel sind und mit einem vorgegebenen Abstand übereinstimmen sollen 4 Punkte grün angezeigt werden. Alternativ könnte auch ein Text eingeblendet werden. Jedenfalls sollen sie wissen, dass die Aufgabe bewältigt ist.


Ich bekomme das leider mit dem Wenn-Befehl und setzeFarbe-Befehl nicht hin.

Ich hatte erst versucht nur die parallelen Strecken zu färben, weil dadurch weniger Bedingungen miteinander verknüpft werden müssen, aber auch das klappt nicht. Ich hatte in einem anderen Forenbeitrag gelesen, dass es mit dem Steigungsbefehl funktionieren könnte und habe dann zwei Geraden durch die Strecken als Hilfsobjekte gelegt. In dem Beitrag wurde aufgrund des manuellen Manövrierens empfohlen das in dieser Form zu schreiben "abs ( steigung[a] - steigung ) < 0.1"

Wenn ich folgendes eingeben "Wenn(abs(Steigung(a)-Steigung(b)<0.1 ),SetzeFarbe( p, "grün" ))" kommt der Hinweis unzulässiger Befehl. Wenn ich abs(<x>) weg lassen, färbt sich die Strecke direkt grün. Wenn ich den Wenn-dann-sonst-Befehl nutze, dann tut sich gar nichts.

Ich habe es jetzt noch mit der Boolsch'en Operation versucht, auch da bin ich gescheitert und mit dem Abstand-Befehl klappt es auch nicht.

Hier kurz die Beschreibung, wie das Applet funktionieren soll:

Zur Definition der Parallelität sollen die Schüler das Bild eines Autos, dessen Radmittelpunkte als Punkte gekennzeichnet sind über eine Schlucht mittels zweier Baumstämme befördern. Die Mitte der Baumstämme ist durch jeweils eine Strecke gekennzeichnet. Wenn sie die Baumstämme parallel zueinander platziert haben, sodass das Auto darüber fahren kann, soll dies auf irgendeinem Weg angezeigt werden. Am schönsten wäre natürlich, dass die Punkte des Autos an den Geraden andocken und es dann automatisch über die Schlucht fährt. Aber das übersteigt glaube ich bei Weitem meine Fähigkeiten...leider.

Hier der Link zu dem Applet: https://www.geogebra.org/m/vf7ynmpd

In der Anwendung würde ich dann noch erklären, dass der dreieckig gekennzeichnete Punkt zum bewegen und der Punkt, der als Kreis dargestellt ist, zum Drehen des Objektes/Bildes ist. Und nur das Bewegen-Werkzeug und Abstand-Werkzeug anzeigen lassen.


Ich würde mich über Hilfe sehr freuen. Die App funktioniert zwar auch so schon, aber eine Bestätigung, dass sie es richtig gemacht haben wäre super! :)


Viele Grüße

Julia

Comments (25)

photo
1

wenn abs ( steigung[a] - steigung ) < 0.1 deine parallelitäts bedingungen ist,

dann bringe sie nach setting advanced dynamic colors und multipliziere mit einem geeigneten zahlenwert um einen farbwert einzustellen.

kannst du grundsätzlich eine animation erstellen die das auto rüberbringt?

oder geht es darum sie bei zeit zu starten?

photo
1

Danke für deine Antwort. Leider verstehe ich nicht genau was du meinst.

Meinst du die dynamische Farbe, bei der man einen Schieberegler benötigt?

Ich habe jetzt noch ein bisschen an der Anwendung rumprobiert und eine Animation erstellt. Das ist ja soweit kein Problem, das Auto fährt jetzt über die Baumstämme. Ich habe dazu zwei Geraden durch die äußeren Baumstammpunkte gelegt und darauf einen Punkt, der abhängig von einem Schieberegler ist, definiert. Dann habe ich die Punkte des Bildes vom Auto in Abhängigkeit dieser Punkte gesetzt.

Dadurch sind irgendwie meine "Reifenmittelpunkte" an einer anderen Stelle, ich vermute, dass das daran liegt, dass das Auto jetzt die Breite des Abstands der Geraden hat und nicht mehr den ursprünglich von mir vordefinierten Abstand (ich hatte sie mithilfe von Geraden konstruiert, blicke aber noch kaum bei meinen Hilfsobjekten durch). Hatte die Eckpunkte von eine Strecke ursprünglich abhängig gemacht, sodass sie die Größe des Autos beim Drehen nicht verändert.

Zwar funktioniert die Animation, wenn die Baumstämme schon über die Schlucht platziert sind. Jedoch weiß ich nicht, wie ich diese starten lassen könnte, wenn die Baumstämme in ihrer Ausgangsposition liegen und erst dann platziert werden. Die Ausgangssituation soll so in der Art aussehen.11121856ef7a17701a18b0502a878b1a

Denkbar wäre natürlich auch, dass das Auto auf einer Kurve fährt, welche über die Baumstämme führt. https://www.geogebra.org/m/bmmt2rjm ich hab mal ne Kurve eingezeichnet, wobei ich keine Ahnung habe, wie ich diese auf der Geraden der Baumstämme enden lassen kann. So müsste die Kurve ja sich dynamisch verändern je nach Lage der Baumstämme. Und dann bestünde ja immer noch das Problem, wie ich Geogebra sage, dass es die Animation genau dann startet, wenn die Baumstämme parallel zueinander liegen. Denkbar wäre natürlich auch, dass die Kinder die Animation starten lassen könnten und das Auto verschwindet, wenn diese nicht parallel liegen...also in die Schlucht gefallen ist und weiter fährt, wenn die Baumstämme entsprechend liegen...

Aber wie ich das anstellen soll weiß ich nicht.Hatte mich bisher nur rudimentär mit Geogebra beschäftigt und noch nicht mit Befehlen gearbeitet. Kenne das nur von den Funktionen bei Excel, daher ist es mir nicht ganz fremd. Finde es aber schwierig, dass das, was ich eingegeben habe, danach nicht mehr zu sehen ist und weiß auch nicht, ob ich die bereits eingegebenen Befehle sichtbar machen kann und ggf. daran etwas ändern kann so wie es in Calc möglich ist.

photo
2

Zur Farbwahl siehe

/qYWyIT71lgYAAAAASUVORK5CYII=

musst DU mal aweng probiern wie das zusammen kommt - Du fährst ja fast senkrecht da kommen u.U sehr große Zahlen zustande - umbauen von links nach rechts fahren :wink:...


Die Animation schau ich mir erstmal an, bevor ich was dazu sagen kann...

Bis später....

photo
1

....und wech

photo
1

Server hängt.....

photo
1

Doubletten entfernt

photo
2

So, ich hab geschaut und ich muss sagen das ist mir zu viel gedöns :wink:

Ich hab mir erlaubt das radikal anders zu machen...

Wenn die Bäume parallel liegen werden die Rotations-Punkte grün - noch zu machen Abstandskontrolle (die Move-Point grün?)

Guckst Du https://www.geogebra.org/m/uadcvhpk


und wenn Du damit weiter machen willst, dann können wir daran arbeiten....

photo
1

Oh, wie toll! das ist ja großartig! :) Vielen Dank!


Um das annähernd so hinzubekommen hätte ich sicher ewig gebraucht, um mich da einzuarbeiten. Ja, wie gesagt, ich habe irgendwann mit meinen Hilfsobjekten auch nicht mehr durchgeblickt. Ich hatte nur überlegt, was ich selbst bewerkstelligen kann und so ne Animation erschien mir mit meinen Kenntnissen als unmöglich. daher kam ich auf die Idee mit den Radmittelpunkten und um diese am Bild zu fixieren wusste ich mir nicht besser zu behelfen als mit den vielen Strecken und Geraden...

Mir wird die Funktion über die das Auto fährt gar nicht angezeigt. Wie hast du sie denn definiert?

Wenn ich jetzt die Baumstämme verschiebe, verschwindet das Auto aus dem Bild, welches dann über sie fährt. Kann man das noch ändern?

Wenn du Lust und Zeit hast, würde ich das Angebot sehr gerne annehmen mit dir daran zusammen weiterzuarbeiten. Wobei ich wie gesagt, eher nur Schüler wäre, weil ich mich jetzt echt nicht mehr auskenne. ;)

Das ist echt toll! Ich freu mich, dass das so schon funktioniert. :)

photo
1

Hallo wieder,

ich hab meine aktuelle Version hochgeladen und es ist eine Menge Gedöns dazu gekommen :wink:. Du hat doch einen recht guten Stand erreicht. Dynamische App sind halt aufwändig...


Zeige die Definitionen an

/Dw0Q910IHlBpAAAAAElFTkSuQmCC

Die Funktion, also Kurs(x), fitte ich durch 3 Punkte. Je steiler die Baumstämme angestellt werden desto heftiger schwingt die Kursspur. Ich hab einen Punkt des Kurses lila + links zur Kurskorrektor eingesetzt und einen Punkt lila + rechts als Stopper. Wenn die Krümmung zu stark wird fährt der Wagen von den Stämmen runter deshalb gibt es das + auf halber Stammhöhe das erst grün wird, wenn eine Kurskorrektur einen passenden Abstand des Kurses zu den Stämmen einstellt.

Ich suche noch nach einer Kursfunktion die ziemlich waagerecht von links kommt die xAchse kreuzt und nach rechts abbiegt. Vielleicht hast Du eine Idee: sowas ___/''''''' in der Art?

Guckst Du an bekannter Adresse?

photo
1

vielleicht eignet sich Spline()

photo
1

hm,

hatte ich auch schon im kopf. dann ergeben sich andere probleme. die eingebauten splines sind parameterkurven. da gelingt es nicht das auto auszurichten. es muss vorne und hinten in die kurve eingehängt werden damit es einigermaßen natürlich fährt. hab dann die splines selber gemacht. das geht einigermaßen muss man aber zweimal machen, für je einen baum, und weil die nicht so glatt werden wie die parameterkurven und man dann doch wieder die kurve zurecht ruckeln muss hab ich aufgehört splines zu verfolgten.

vielleicht sollte ich aufhören kurven fahren zu wollen und einfach gerade rüber und wech...

photo
1

Ich habe mit Geraden ein Beispiel gemacht. Es geht auch da nicht ohne Gedönse (jede Menge Skripts).

Anhang: eine mögliche Lösung für die Führung des Fahrzeuges entlang der Spline()-Kurve (genaue Länge, approximativer Winkel)

photo
1

Ja,


auch eine Menge Gedöns ;-)

bleibt wohl nicht aus. Vielleicht sollten wir ein Abenteuerspiel draus machen Ruckelei mit Baum, Auto und der lila Maus ;-)...

photo
1

Ich hatte die letzten Tage so viel zu tun, dass ich gar nicht mehr rein geschaut habe. Uff, da kam ja jetzt echt noch einiges dazu. Ist vielleicht deine erste Lösung mit dem weniger Gedöns nicht sogar die bessere? Man könnte ja das Auto, das auf der Spur fährt ausblenden und erst wenn alles richtig liegt drüber fahren lassen? Ich weiß nicht ob es einfacher ist. Aber dann muss man vielleicht nicht die Kurve so doll anpassen!?

Danke, dass ihr euch so mit meinem Problem befasst und es auch zu eurem macht. Mit so viel Hilfe habe ich gar nicht gerechnet. Das ist echt toll! :)

photo
1

Mit Geraden, ohne gedöns und lila Mäusen.

Entspricht so ziemlich der ursprünglichen Intention.

Jetzt müssten nur noch die Kulissen eingeklinkt werden.

photo
1

Oh, das ist ja cool. Ich glaube das sollte für die Kinder gut verständlich sein. Mal schauen, ob ich das mit den Bildern hinbekomme... :)

photo
1

Nun,


die Kurve durch ein Segment zu ersetzen vereinfacht latürnich alles. Update hochgeladen...

photo
1

Und hier noch mit Kulissen

beachte Grafik2, wo die beweglichen Bilder im Original hinterlegt sind. In Grafik1 sind die beweglichen Bilder mit Verschiebe(Drehen(<original bild>)) realisiert. Dazu ist ein Referenzpunkt {ref} im Originalbild hinterlegt.

Die relevanten Masse sollten nur in den entsprechenden (3) Konstanten verändert werden, die Bilder (sollten) sich anpassen.

Dass das Fahrzeug frei verschiebbar ist (der Drehung des Baumes nicht folgt), hat natürlich einen Mehraufwand (gegenüber der Lösung von hawe) zur Folge. Der hält sich aber in Grenzen. Die "abgesicherte Area" und der beschränkte Drehwinkel der Bäume dient eigentlich der Vereinfachung des Programms. Er ist mit "Sicherheitsmassnahmen" gegenüber dem Schüler kaschiert.

Mit erträglichem Mehraufwand könnte das Objekt "Fahrtstrecke" zu einer Spline() erweitert werden. Ich finde aber die Lösung mit einer Strecke besser, da hier die "Ausrichtung" anschaulicher ist. Uebrigens: falls Du die Aufgabenstellung für den Schüler vereinfachen willst, dann besteht die Möglichkeit die beiden Objekte "ausrichtungLinks" und "ausrichtungRechts" immer anzuzeigen (ändern: KonditionAnzeigenObjekt in Eigenschaften/Erweitert)

Die einzelnen "OK...." Objekte enthalten implizite Toleranzwerte (Winkel, Distanzen). Die könnten gegebenenfalls verändert werden.

Auch, bevor ich es vergesse: üblicherweise werden Anfragen, wie die vorliegende, als "Frage" und nicht als "Problem" eröffnet. In diesem Forum verstehen sich Probleme als Fehler/Mängel in GGB selbst. Deshalb auch die Markierung mit "kein Problem" durch die Moderatoren.

photo
1

verbesserte Version 2

- Ausrichtung Links und Rechts wird dann eingeblendet wenn sie benötigt wird

- Die verschiedenen Parallelen wechseln die Farbe von gelb zu grün, wenn OK

- Die präzise Nachjustierung erfolgt (fast unmerklich) einmal, wenn OKall (erstmalig/soeben) erfüllt ist und bevor die Animation läuft.

photo
1

Oh, super. Du hast das ja jetzt sogar für mich mit dem einfügen der Kulisse übernommen. Danke!

Durch den Mehraufwand mit dem parallelen Homeschooling und gleichzeitig Wechselunterricht kam ich jetzt gar nicht dazu weiter zu machen und wollte mich eben dran setzen.

Das ist echt super! Dankeschön.

Mittlerweile bin ich im Thema auch schon weiter und sie haben es während einer Videokonferenz mit Spielzeugautos und Stiften gelöst. Kann mir aber das Applet super für die Zukunft für die Besprechung der Gruppenarbeit vorstellen (falls im Raum ein Beamer zu Verfügung steht). Muss sie dazu aber wohl noch ein klein bisschen modifizieren. Da sie ja die Abstandsgleichheit paralleler Geraden herausarbeiten sollen. Aber ich glaube das bekomme ich hin :) Vielleicht stelle ich es ihnen auch nochmal zur Festigung des Begriffs parallel vor der Klassenarbeit zur Verfügung. Ich war diese Woche entsetzt, wie wenig aus der Homeschoolingphase hängen geblieben ist! Keine Ahnung was ich falsch gemacht hatte...


Durch eure Hilfe habe ich aber echt etwas zum Umgang mit Geogebra dazu gelernt. Jetzt muss ich wohl noch die Anwendung üben. Bin gerade am Erstellen eines Applets zum Erarbeiten des Messens von einem Abstand von einem Punkt zu einer Geraden und ich bekomme die Animation nur Rückwärts zum laufen. Learning by doing.


Jedenfalls vielen Dank für eure Hilfsbreitschaft!!! :)

photo
photo
2

Folgende Möglichkeit.

Farbcode Schwarz lautet (0,0,0). Farbcode Grün lautet (0,1,0)

Und nun definierst du:

f=Wenn[abs(Steigung[a] - Steigung[b]) < 0.1, 1, 0]

Sind die Geraden also "parallel" so erhält f den Wert 1 anderenfalls 0.

Und im Eigenschaftsdialog (Erweitert dynamische Farben) der Geraden setzt du

Rot 0

Grün f

Blau 0

Wie man Farbcodes ermittelt, weißt du das?

photo
1

Danke, das klingt gut :)

Nein, weiß leider nicht, wie man Farbcodes ermittelt. Arbeite mich erst so richtig in Geogebra ein. Ich schau mal, ob ich es herausfinden kann. Aber wenn du es mir erklären könntest wäre das natürlich super ;)

photo
1

@Julia

Richte doch mal 3 Schieberegler a,b,c ein von 0 biss 255 (ganze Zahl) ein und irgendein Objekt. Und nun gibst du bei den dynamischen Farben ein. a/255, b/255,c/255. Und nun vergleiche a,b,c mit den Zahlen in der Farbpalette.

Andere Alternative.

k=Wenn[cos(Winkel[a, b]) > 0.99985, true, false]

Mit anderen Worten. Wenn der Winkel zwischen a und b weniger als 1° beträgt, dann bekommt k den Wert true anderenfalls false.

Und in den Skriptingteil von k setzt du

Wenn[k, SetzeFarbe[a, "Grün"], SetzeFarbe[a, "Rot"]]

Wenn[k, SetzeFarbe[b, "Grün"], SetzeFarbe[b, "Rot"]]

Alles klar?

photo
1

Ok, ich versuche das später auch mal, dass ich es in anderen Projekten dann auch umsetzen kann. Muss jetzt noch schnell die Wochenpläne für meine Schüler für kommende Woche fertig machen :)

photo
1

Ich habe es endlich mit den Farben ausprobiert und es funktioniert prima! Danke! :)

photo
© 2021 International GeoGebra Institute