Export einer Wertetabelle in einem bestimmten Format

EmaNymton shared this question 1 year ago
Answered

Hallo,

ich versuche gerade mit Geogebra folgenden Ablauf abzubilden, um einen Rotationskörper zu erstellen und zu drucken:


1. Eingabe von Punkten, die eine Umrissfunktion eines Körpers festlegen sollen.

2. Erstellen einer Kurve K durch die Punkte mit kubischen Splines.

3. Generierung einer Wertetabelle aller Punkte, die auf der Kurve K liegen (Abstand der Punkte fest vorgegeben).

4. Export der Wertetabelle in der Form [y_0,x_0],[y_1,x_1],...[y_n,x_y] (ja, x- und y-Werte sind vertauscht)


1.+2. habe ich hinbekommen, bei 3. kann ich es noch mit einer Tabelle lösen, allerdings weiß ich nicht, wie ich die Werte exportieren soll, bzw. ob das überhaupt mit Geogebra so geht, wie ich mir das vorstelle.


Hintergrund ist der, dass ich mit meinem Kurs gerne Rotationskörper vermessen möchte und diese dann mit openscad als 3D-Objekt erstellen will, um diese anschließend mit dem 3D-Drucker zu drucken. Um glatten Formen zu erhalten brauche ich aber so viele Werte wie möglich, die durch die Splinefunktion errechnet werden sollen. Das Exportformat wird von openscad so erwartet und ich will den SuS nicht zumuten 50-100 Werte per Hand zu ändern. ;)


Der Arbeitsablauf sollte also wie folgt aussehen:


1.SuS messen 10-15 Punkte des Körpers aus.

2.SuS geben die Punkte in Geogebra ein.

3.Geogebra bildet die Splinefunktion und die Wertetabelle mit 50-100 Werten.

4.SuS kopieren diese Werte in eine openscad-Vorlage und generieren damit das 3D-Objekt.


Über jede Hilfe wäre ich sehr dankbar und wenn es nur ein Hinweis oder Link auf ein Beispiel ist.


Gruß

EmaNymton

Comments (4)

photo
1

Ich wusste gar nicht, dass der Gattungsname von Borstentieren Sus ist... man lernt ja nie aus.

Im folgenden ein paar Tipps:

  1. Punkte-Koordinaten lassen sich simpel über die Tabelle eingeben und dann z.B. mit
    l1 = Folge((Zelle(1, k), Zelle(2, k)), k,1, 6)
    in eine Punkte-Liste umwandeln alternativ kann z.B. auch das Tabellenwerkzeug Liste von Punkten genutzt werden

    64px-Mode_createlistofpoints

  2. hast du vermutlich über den Befehl
    a = Spline(l1)
    gelöst
  3. um Punkte auf dem Spline a zu erhalten gibt es zwei Wege einer nutzt die Spline-interne Variable von 0 bis 1 der andere nutzt eine das Schneiden mit Geraden aus beide haben ihre Vor- und Nachteile
    l2 = Folge(a(k), k, 0, 1, 1 / 100)
    oder
    l2 = Folge( Schneide(a, Gerade((k,0), (k,1))), k, x(Element(l1, 1)), x(Element(l1, Länge(l1))), (x(Element(l1, Länge(l1)))-x(Element(l1, 1)))/100)
  4. das exportieren würde ich folgendermaßen bewerkstelligen: nutzen des Befehls
    TXT = Summe(Folge("[ " + (y(Element(l2, k))) + "," + (x(Element(l2, k))) + "]" + (Wenn(k < Länge(l2), ",", "")), k, 1, Länge(l2)))
    und dann auswählen des so generierten Textes und mit [F4] dessen Darstellung in die Eingabezeile kopieren und dort mit [Strg]+[A] -> [Strg]+[C] heraus kopieren (vorher evtl. noch die Runden-Einstellung abändern, dass auch genug Nachkommastellen mitgenommen werden und die Anführungszeichen am ende und Anfang wegnehmen)


Für andere:

Das ist doch ein Bug wenn ich für die Spline-Unterteilung den Schneidebefehl nutze und Punkte nicht erkannt werden:

l1 = {(0.32, 2.74), (2.56, 3.56), (4.5, 2.44), (7.58, 3.04), (9.86, 3.88), (13.6, 2.22), (15.86, 3.12), (17.56, 3.94), (20.24, 2.28)}
a = Spline(l1, 3)
l2 = Folge(Schneide(Gerade((k, 0), (k, 1)), a), k, x(Element(l1, 1)), x(Element(l1, Länge(l1))), (x(Element(l1, Länge(l1))) - x(Element(l1, 1))) / 100)
225f0cd2c65ab5d7b16fcd19d4c4f648

photo
1

Für die Punkte auf der Spline würde ich eher den Folge-Befehl mit dem Parameter verwenden, als zum Beispiel:

Folge(Punkt(a,i),i,0,1,0.1)

... wobei a die Spline ist. Dabei nutze ich den Parameter-Wert auf der Spline ... das ist das i ... hier sind es nur 10 Punkte, wegen Schritten von 0.1. Das ist wie Punkt 3. von -Loco-

Grüße, Birgit

photo
3

Länge(Folge(k, k, 0, 1, 1/10)) == 10+1

photo
1

Vielen vielen Dank, das klappt hervorragend!

photo
© 2020 International GeoGebra Institute