DMUG-Archiv 2004

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: ListSurfacePlot3D, Frage

Guten Abend Jens,

es gibt wenigstens 2 Möglichkeiten, Ihre Daten darzustellen:

Seien xyI Ihre Daten:
In[3]:= Remove[xyI];
xyI = {{{-3, -3, 0.007280052}, {-2.5, -3, 0.01019222}, {-2, -3, 0.002912045},
  {-1.5, -3, 0.01019222}, {-1, -3, 0.005824149}, {-0.5, -3, 0.01164818},
  {0, -3, 0.005824149}, {0.5, -3, 0.004368067}, {1, -3, 0.007280171},
{1.5, -3, 0.01019216}, {2, -3, 0.005824029}, {2.5, -3, 0.001456141}, {3, -3, 0}, {3, -2.5, 0.007280111}, {2.5, -2.5, 0.007280171}, {2, -2.5, 0.01310426}, ...}}

In[5]:= Dimensions[xyI]
Out[5]={1, 169, 3}

Das sollte Ihnen zu denken geben. ListSurfacePlot3D[] erwartet Datengruppen statt einer Pipe, damit es gewissermassen Streifen auslegen kann in der x-y-Ebene. Wg. 169 = 13*13 empfiehlt sich die Zerlegung in 13-er Gruppen, dabei sehen Sie, dass die (n + 1)-te Gruppe bzgl. der ersten Arguments gegenläufig zur n-ten Gruppe geordnet ist. Wenn es eine stetige Oberfläche werden soll, sagen Sie also:

In[7]:= <<Graphics`Graphics3D`
In[54]:= ListSurfacePlot3D[Sort[#, First[#1] < First[#2] &]& /@ Partition[Flatten[xyI, 1], 13],
BoxRatios-> {1, 1, 1/GoldenRatio}, Axes -> True]

Dieses Bildchen ist im Anhang. Wenn Sie sich selber keine Gedanken über Stetigkeit und nächste Nachbarn machen wollen, dann funktioniert direkt:

In[35]:= <<DiscreteMath`ComputationalGeometry`
In[40]:= TriangularSurfacePlot[Flatten[xyI, 1], BoxRatios-> {1, 1, 1/GoldenRatio}]

Wenn Sie genau hinsehen, stellen Sie fest, dass die Triangulation nicht dieselbe ist wie bei ListSurfacePlot3D.

Mit den besten Grüssen
Udo.

Jens Peters wrote:

Lieber Mathematica Gruppe,

ich habe einen 3D Datenarray, der in der x-Variablen ansteigt und dann
(in
der nächsten Zeile)  wieder fällt.
Statt der üblichen Sägezahncharakteristik also ein
Dreieckscharakteristik für x.

Es ist mir nicht gelungen, diese Daten mit ListSurfacePlot3D
darzustellen.
Muß ich tatsächlich die Daten bei jeder zweiten Zeile drehen, also nach
Erreichen des Maximums?

Im Anhang sende ich die Daten von einem funktionierenden und
meinem nicht funktionierenden Beispiel.

Über eine Hilfe würde ich mich sehr freuen.


Mit freundlichen Grüßen

Jens Peters

GIF image

Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html