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