Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
1
Del 3 "Visualization Pipeline"
2
Funksjonell (dataflyt-) modell
Transformasjon Konvertere data fra opprinnelig form til grafiske primitiver (typisk gjennom flere ledd) Representasjon (mer om dette i neste del!) INF2340 / V04
3
Prosess- og data-objekter
= dataflyt prosess-objekter: source filter filter mapper data-objekter: data data data forenklet notasjon: source filter filter mapper INF2340 / V04
4
Sammenkobling i praksis
source filter mapper GetOutput SetInput GetOutput SetInput GetInput GetInput GetSource GetSource data data data Kobling 2: x->SetInput(y->GetOutput()) Kobling 1: Et data-objekt opprettes som regel automatisk av "source" objektet. Merk: Et filter er en spesiell type "source"! INF2340 / V04
5
Type-matching ? ? ? ? Eksempel:
vtkProcessObject vtkProcessObject vtkProcessObject vtkDataObject vtkSource vtkSource vtkMapper vtkDataSet vtkFilter ? ? ? ? S F M D Eksempel: Filter-typen vtkWarpScalar skal ha et data-objekt av typen vtkPointSet som input. Et data-objekt av typen vtkPolyData går også bra siden dette er en spesialisering av vtkPointSet! INF2340 / V04
6
Eksekvering av "pipeline" (oppdatering av data-objekter)
C G A B D E Hvis D modifiseres ... F ... må denne delen av "pipeline" re-eksekveres (for å oppdatere E og F)! INF2340 / V04
7
Med andre ord ... Hvis E må oppdateres ...
C G Hvis E må oppdateres ... A B D E F ... må evt. hele denne delen av "pipeline" re-eksekveres! INF2340 / V04
8
Implisitt ("demand driven") synkronisering
Hvert prosess-objekt (vtkProcessObject) som kan ta "input" har en metode Update som kalles rekursivt bakover i "pipeline" for å oppdatere alt som har konsekvens for objektet selv. Hvert "source"-objekt (vtkSource) har en metode Execute som modifiserer (re-genererer) "output". Prosess- og data-objekter holder rede på når de sist ble modifisert og/eller utførte Execute. (Dermed utføres Execute aldri unødvendig!) Update kalles vanligvis automatisk hos mappere hver gang en scene må tegnes opp på nytt. Det er også mulig å kalle Update manuelt hos et vilkårlig objekt i en "pipeline"! INF2340 / V04
9
Fil: POLYDATA uten attributt-data vtkPolyDataReader vtkPolyDataNormals
vtkPolyDataMapper INF2340 / V04
10
Fil: POLYDATA uten attributt-data vtkPolyDataReader vtkPolyDataNormals
vtkElevationFilter vtkDataSetMapper INF2340 / V04
11
Fordi ... vtkElevationFilter vtkElevationFilter GetOutput()
GetPolyDataOutput() vtkDataSetMapper vtkPolyDataMapper Alternativ vtkDataSet Fordi ... vtkMapper vtkDataSetMapper vtkPolyDataMapper vtkPolyData INF2340 / V04
12
Fil: POLYDATA uten attributt-data vtkPolyDataReader vtkPolyDataNormals
vtkConeSource vtkElevationFilter vtkGlyph3D vtkDataSetMapper vtkPolyDataMapper INF2340 / V04
13
vtkStructuredPointsReader
Fil: STRUCTURED_POINTS med skalar-verdier vtkStructuredPointsReader vtkDataSetMapper INF2340 / V04
14
vtkStructuredPointsReader
Fil: STRUCTURED_POINTS med skalar-verdier vtkStructuredPointsReader vtkGeometryFilter vtkWarpScalar GetPolyDataOutput() vtkPolyDataNormals Fordi det ikke fins noen vtkDataSetNormals klasse! vtkPolyDataMapper INF2340 / V04
15
Hvorfor et vtkGeometryFilter ?
vtkStructuredPointsReader "output" av typen vtkStructuredPoints "input" av typen vtkDataSet vtkGeometryFilter "output" av typen vtkPolyData "input" av typen vtkPointSet vtkWarpScalar vtkDataSet vtkStructuredPoints vtkPointSet vtkPolyData INF2340 / V04
16
vtkStructuredPointsReader
Fil: POLYDATA uten attributt-data Fil: STRUCTURED_POINTS med skalar-verdier vtkPolyDataReader vtkStructuredPointsReader Genererer polygonflate med høyde = 0. vtkGeometryFilter Hevet polygonflate direkte fra fil! Hever polygonflaten i henhold til skalarverdiene. vtkWarpScalar vtkPolyDataNormals For Gouraud- sjattering vtkPolyDataNormals For Gouraud-sjattering Skalarverdier (for farge-avbilding) direkte fra fil! (Kopieres gjennom "pipeline".) vtkElevationFilter Genererer skalarverdier (for farge-avbilding). vtkPolyDataMapper vtkPolyDataMapper INF2340 / V04
17
Del 4 Datarepresentasjon
18
Diskrete data og interpolasjon
Et datasett er diskret (endelig mengde med numeriske verdier) Interpolasjon brukes for å finne verdier i vilkårlige mellomliggende punkter Gitt informasjon Interpoleres fra gitt informasjon INF2340 / V04
19
Punkt Definert i det vanlige (Euklidske) rommet INF2340 / V04
20
Celle Gruppe av punkter med veldefinerte naboforhold
Noen vanlige celletyper (VTK definerer i alt 12 typer): Node Polygon Linje Tetraeder Polylinje Hexaeder Triangel MERK: Ofte skjer interpolasjon på grunnlag av celletype! INF2340 / V04
21
Geometri Punkters romlige posisjon Ulik geometri! Lik geometri! x y x
INF2340 / V04
22
Topologi Naboforhold mellom punkter uavhengig av geometri
x y x y x y x y Lik topologi! Ulik topologi! INF2340 / V04
23
En gammel kjenning uvanlig topologi vanlig topologi INF2340 / V04
24
Data-attributter Skalarer Vektorer (Flate-)Normaler ...
F.eks.: temperatur, trykk, fuktighet ... Vektorer F.eks.: vindretning og -styrke, gradient i skalarfelt ... (Flate-)Normaler Spesiell type vektor med lengde = 1 ... INF2340 / V04
25
Et VTK datasett 1) Organiserende struktur Geometri Topologi Punkter
2) Data-attributter (vanligvis lokalisert i punkter) Punkter Celler Skalarer Vektorer Normaler ... INF2340 / V04
26
Structured Points - Regulær (implisitt) geometri og topologi Dårlig
Bra Lagringsplass Ytelse til visualiserings-algoritmer Lokal forfining Tilpasning til ulike former INF2340 / V04
27
Rectilinear Grid - Delvis regulær geometri -Regulær topologi Dårlig
Bra Lagringsplass Ytelse til visualiserings-algoritmer Lokal forfining Tilpasning til ulike former INF2340 / V04
28
Structured Grid - Irregulær geometri (punkter angis eksplisitt)
- Regulær topologi Dårlig Bra Lagringsplass Ytelse til visualiserings-algoritmer Lokal forfining Tilpasning til ulike former INF2340 / V04
29
Unstructured Grid - Irregulær geometri og topologi (både punkter og celler angis eksplisitt) Dårlig Bra Lagringsplass Ytelse til visualiserings-algoritmer Lokal forfining Tilpasning til ulike former INF2340 / V04
30
Polygonal Data - Cellene har 2D topologi
- Forøvrig samme egenskaper som Unstructured Grid Dårlig Bra Lagringsplass Ytelse til visualiserings-algoritmer Lokal forfining Tilpasning til ulike former INF2340 / V04
31
vtkDataSet vtkStructuredPoints vtkRectilinearGrid vtkPointSet vtkStructuredGrid vtkUnstructuredGrid vtkPolyData INF2340 / V04
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.