2016-04-06 19 views
1

Hier ist mein Problem: Ich habe eine 2D-Domäne (etwa ein Quadrat) in unstrukturierte Dreiecke unterteilt. Auf jedem Dreieck (mit T bezeichnet) definiere ich einen konstanten Skalar, bezeichnet mit f (T).3D-Visualisierung mit VTK/Paraview

Ich möchte die Oberfläche (T, f (T)) mit Paraview zeichnen.

So habe ich eine VTK-Datei wie folgt erstellt:

vtk DataFile Version 3.1 

my personnal comment here 

ASCII DATASET UNSTRUCTURED_GRID 

POINTS 4 FLOAT 

0 0 0 

0 1 0 

1 0 0 

1 1 0 

CELLS 2 8 

3 0 1 2 

3 1 2 3 

CELL_TYPES 2 

5 5 

CELL_DATA 2 

SCALARS Namedata double 

LOOKUP_TABLE default 

2 

-5 

I (dank Paraview) einen 3D-Plot sehen möchten. Idealerweise sollte die Visualisierung in diesem Beispiel aus zwei Dreiecken bestehen: Das erste sollte seine Z-Koordinaten gleich 2 haben und das zweite sollte seine Z-Koordinaten gleich -5 haben. Ich weiß nicht, ob etwas möglich ist oder ob das vtk-Format das Richtige für das ist, was ich versuche.

Wenn es nicht möglich ist, würde ich gerne nur die beiden Punkte darstellen (x-Koordinate der Dreiecksnummer 1, y-Koordinate der Dreiecksnummer 1, z-Koordinate = 2) und (x-Koordinate) der Dreieckszahl 2, y-Koordinate der Dreieckszahl 2, z-Koordinate = -5) mit oder ohne Interpolation.

+0

Die Syntax Ihrer Datendatei ist nicht ganz richtig. Es könnte einige Copy-Paste-Fehler geben, die hier ablaufen. (1) Die erste Zeile sollte mit einem '#' beginnen. (2) Die Datei sollte keinen doppelten Abstand haben. Sie haben nach jeder Zeile einen zusätzlichen Zeilenumbruch. (3) Zwischen 'ASCII' und' DATASET' sollte eine neue Zeile stehen. –

+0

@KennethMoreland Vielen Dank für diesen Kommentar, ich musste die Daten hier in eine falsche Syntax setzen, um lesbar zu sein. – user37238

Antwort

2

Dies ist nicht schwer in ParaView zu tun. Es gibt einen Filter namens "Warp By Scalar", der Geometrie in z-Richtung (oder einer anderen Richtung) basierend auf einem skalaren Feld übersetzen kann. Das einzige Problem ist, dass Warp By Scalar an Punktdaten arbeitet und Sie nach Zellendaten verzerren möchten. Du musst also zuerst ein paar Schritte machen.

  1. Fügen Sie den "Shrink" -Filter zu Ihren Daten hinzu. Setzen Sie den Parameter "Skalierungsfaktor" auf 1. Übernehmen. Ihre Daten werden gleich aussehen, aber sie werden die Dreiecke, die tatsächlich Punkte in Ihren Originaldaten teilen, aufbrechen.

  2. Fügen Sie den Filter "Zellendaten zu Punktdaten" zum Ausgang des Shrink-Filters hinzu. Sich bewerben.

  3. Fügen Sie den Filter "Warp By Scalar" zur Ausgabe von Cell Data to Point Data hinzu. Sich bewerben.

+0

Ok, lass es mich versuchen. – user37238