Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
Hallo Christian,
ich habe eine 3D Graphik erzeugt aus einem Datensatz von Punkten (mit ListPlot3D).
Sie haben eine Graphik erzeugt. Aber Sie haben nicht gesagt, ob die Eingangsdaten bereits ein Array darstellen oder nicht.
Nun moechte ich den interpolierten Datensatz wieder exportieren, aber in gleichmaessigen Abstaenden dx, dy.Wie kann ich das erreichen?
Deshalb behandelt man am einfachsten den allgemeinsten Fall dieser Hausaufgabe.
Seien die Daten In[166]:= data = RandomReal[{}, {50, 3}]; In[170]:= Clear[gS]; gS = ListPlot3D[data] veranschaulicht durch das Bildchen sperberIn.jpeg. Beachten Sie bitte, dass die Daten kein Array darstellen, Mma jedoch dem Augenschein nach ein aquidistantes Liniennetz darüber zieht. Dieses Liniennetz verschafft man sich, indem man In[172]:= Clear[pts, lines, getP] pts = InputForm[FullGraphics[gS]][[1, 1, 1, 1]]; lin = Cases[InputForm[FullGraphics[gS]][[1, 1, 1, 2]], _Line, 3]; getP[o_Integer] := pts[[o]]; eingibt. Die Funktion getP ist nur zur Vermeidung einer nasty error message da, die erscheint, wenn man in den Linien lin die Punktnummern direkt mit einer Regel durch die Punktkoordinaten ersetzt. Zur abrundenden Kontrolle zeichnet man das Liniennetz Graphics3D[lin /. o_Integer -> getP[o], PlotLabel -> "Sperberian Picture"] als Bildchen sperberOut.jpeg. Da Sie nun die Linien haben, können Sie andere Argumentwerte einer Linie mittels InterpolationFunction erhalten. Wenn Sie andere, mehr, oder weniger Linien bekommen möchten, nutzen Sie die Mesh Option von ListPlot3D. Gruss Udo. -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
sperberIn.jpeg
Description: JPEG image
sperberOut.jpeg
Description: JPEG image
Frühere | Chronologischer Index | Spätere | ||
Vorherige | Thematischer Index | Nächste |
DMUG-Archiv, http://www.mathematica.ch/archiv.html