Problem mit GeoGebra-Befehl Kurve (3D)

Friedrich Kayser shared this question 8 months ago
Answered

Hallo allerseits,


in der angefügten Datei wird versucht, eine Helix in 3D darzustellen. Dabei soll dem Benutzer erlaubt sein, die Achse der Helix gegen die z-Achse des GeoGebra-Systems um einen beliebigen Winkel beta (per Schieberegler) zu kippen. Außerdem soll die Helix um ihre Achse rotieren (können). Dazu soll der Drehwinkel alpha animiert werden.


Zur Umsetzung dieser Idee wird ein "user-Koordinatensystem" mit Basisvektoren u_x, u_y und u_z definiert. In diesem Koordinatensystem lässt sich die Helix (beschrieben durch die Paramete nturns und Steigung k) leicht beschreiben. Die so definierten Koordinaten der auf der Helix liegenden Punkte lassen sich dann mittels linearer Transformation in die Koordinaten des GeoGebra-Systems umrechnen. Das leisten drei Funktion xx(p), yy(p) und zz(p); dabei ist p ein Parameter mit Laufbereich 0...phimax (=nturns*360°).


Leider funktioniert aber die Darstellung der Kurve mittels

Kurve(xx(p), yy(p), zz(p), p, 0, phimax)


nicht zufriedenstellend: Je nach Wahl des Neigungsparamters Beta und eventuellen Drehungen im 3D-Grafikfenster werden nämlich nur (mehr oder weniger große) Teile der Helix dargestellt.


Im Gegensatz dazu kann man problemlos mittels


Folge((xx(p), yy(p), zz(p)), p, 0, phimax, phimax / 100)


eine Anzahl Punkte (hier: 100) gleichmäßig über die Helix verteilen und erhält dann ein den Erwartungen entsprechendes Bild. Da hier die gleichen Umrechnungsfunktionen (xx()...zz()) benutzt werden wie bei "Kurve", kann das Problem nicht durch diese Funktionen verursacht sein.


Vermutlich liegt die Ursache des Problems darin, dass man bei der Punktfolge explizit eine Schrittweite für die Variation des Parameters angeben kann, während diese Schrittweite bei "Kurve" offenbar durch einen internen Algorithmus bestimmt wird, der hier womöglich an seine Grenzen stößt?


Der Vollständigkeit halber erwähne ich hier noch, dass es natürlich kein Problem ist, einen Punkt (hier: A) mittels Schieberegler (hier: phi) entlang der Helix zu bewegen. Mit den drei letzten Zeilen im Algebra-Fenster kann man sich leicht davon überzeugen, dass die Funktionswerte xx(phi), yy(phi) und z(phi) tatsächlich zu jedem Zeitpunkt gleich den Koordinaten von A sind - andernfalls hätte ja auch der 'Folgen-Ansatz nicht funktionieren können.


Für Hinweise zur Lösung bzw. Umgehung dieses Problems bin ich dankbar!


Herzliche Grüße


Friedrich

Comments (4)

photo
1

Hallo und Willkkommen im Forum,

Grund des Problems: Die Helix befindet sich teilweise ausserhalb des Bereiches, der angezeigt wird (Clipping-Box).

In GGB-5

  • rechts-klick "Standard-Ansicht"
  • anschliessend Achse verschieben (Anzeigen: Achsen, Gitter, 0-Ebene, dann Mittelklick)

In GGB-6

  • rechts-klick "Standardansicht"
  • Danach erreicht man alle notwendigen Funktion über das oben rechts liegende Ikon (Hamburger). Nach einer Minute Pröbeln wirst Du alle relevanten Unter-Ikons gefunden haben.

2e8a16b949a14d367f8dd09644c8a027


.

photo
1

Hallo Rami,


vielen Dank für die schelle (und mutmaßlich hilfreiche) Reaktion, Ich werde sofort 'pröbeln', bin aber schon jetzt (fast) sicher, dass sich das Problem damit in Kürze in Luft auflöst...


Herzliche Grüße


Friedrich

photo
1

Hallo nochmal,


wie kaum anders zu erwarten, musste ich nicht sonderlich lange 'pröbeln', um mich davon zu überzeugen, dass sich das Problem auf die von Rami beschriebene Weise lösen lässt. Offenbar habe ich aber das Konzept der 'clipping box' noch nicht wirklich verstanden. Eine Punktmenge lässt sich ja unabhängig von dieser Begrenzung darstellen, nicht aber die Kurve. Das erscheint mir inkonsistent - aber das liegt wohl an meinem mangelnden Verständnis des Konzepts. Erste Versuche dem durch Suche nach entsprechenden Schlüsselworten abzuhelfen haben mich noch nicht wirklich weiter gebracht. Daher hier noch die Bitte um zielführende Hinweise.


Vielen Dank und herzliche Grüße


Friedrich

photo
1

Ja, auch für mich ist das inkonsequent und unlogisch. Und es gibt viele solcher Verhaltensweisen die man hinnehmen (und kennen) muss um mit Geogebra komplexere Anwendungen zu erstellen.

photo
© 2020 International GeoGebra Institute