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!) 12/3-03 IN229 / V03 / Dag 7
3
Prosess- og data-objekter
= dataflyt prosess-objekter: source filter filter mapper data-objekter: data data data forenklet notasjon: source filter filter mapper 12/3-03 IN229 / V03 / Dag 7
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"! 12/3-03 IN229 / V03 / Dag 7
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! 12/3-03 IN229 / V03 / Dag 7
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)! 12/3-03 IN229 / V03 / Dag 7
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! 12/3-03 IN229 / V03 / Dag 7
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"! 12/3-03 IN229 / V03 / Dag 7
9
Fil: POLYDATA uten attributt-data vtkPolyDataReader vtkPolyDataNormals
vtkPolyDataMapper 12/3-03 IN229 / V03 / Dag 7
10
Fil: POLYDATA uten attributt-data vtkPolyDataReader vtkPolyDataNormals
vtkElevationFilter vtkDataSetMapper 12/3-03 IN229 / V03 / Dag 7
11
Fordi ... vtkElevationFilter vtkElevationFilter GetOutput()
GetPolyDataOutput() vtkDataSetMapper vtkPolyDataMapper Alternativ vtkDataSet Fordi ... vtkMapper vtkDataSetMapper vtkPolyDataMapper vtkPolyData 12/3-03 IN229 / V03 / Dag 7
12
Fil: POLYDATA uten attributt-data vtkPolyDataReader vtkPolyDataNormals
vtkConeSource vtkElevationFilter vtkGlyph3D vtkDataSetMapper vtkPolyDataMapper 12/3-03 IN229 / V03 / Dag 7
13
vtkStructuredPointsReader
Fil: STRUCTURED_POINTS med skalar-verdier vtkStructuredPointsReader vtkDataSetMapper 12/3-03 IN229 / V03 / Dag 7
14
vtkStructuredPointsReader
Fil: STRUCTURED_POINTS med skalar-verdier vtkStructuredPointsReader vtkGeometryFilter vtkWarpScalar GetPolyDataOutput() vtkPolyDataNormals Fordi det ikke fins noen vtkDataSetNormals klasse! vtkPolyDataMapper 12/3-03 IN229 / V03 / Dag 7
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 12/3-03 IN229 / V03 / Dag 7
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 12/3-03 IN229 / V03 / Dag 7
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 12/3-03 IN229 / V03 / Dag 7
19
Punkt Definert i det vanlige (Euklidske) rommet 12/3-03
IN229 / V03 / Dag 7
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! 12/3-03 IN229 / V03 / Dag 7
21
Geometri Punkters romlige posisjon Ulik geometri! Lik geometri! x y x
12/3-03 IN229 / V03 / Dag 7
22
Topologi Naboforhold mellom punkter uavhengig av geometri
x y x y x y x y Lik topologi! Ulik topologi! 12/3-03 IN229 / V03 / Dag 7
23
En gammel kjenning uvanlig topologi vanlig topologi 12/3-03
IN229 / V03 / Dag 7
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 ... 12/3-03 IN229 / V03 / Dag 7
25
Et VTK datasett 1) Organiserende struktur Geometri Topologi Punkter
2) Data-attributter (vanligvis lokalisert i punkter) Punkter Celler Skalarer Vektorer Normaler ... 12/3-03 IN229 / V03 / Dag 7
26
Structured Points - Regulær (implisitt) geometri og topologi Dårlig
Bra Lagringsplass Ytelse til visualiserings-algoritmer Lokal forfining Tilpasning til ulike former 12/3-03 IN229 / V03 / Dag 7
27
Rectilinear Grid - Delvis regulær geometri -Regulær topologi Dårlig
Bra Lagringsplass Ytelse til visualiserings-algoritmer Lokal forfining Tilpasning til ulike former 12/3-03 IN229 / V03 / Dag 7
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 12/3-03 IN229 / V03 / Dag 7
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 12/3-03 IN229 / V03 / Dag 7
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 12/3-03 IN229 / V03 / Dag 7
31
vtkDataSet vtkStructuredPoints vtkRectilinearGrid vtkPointSet vtkStructuredGrid vtkUnstructuredGrid vtkPolyData 12/3-03 IN229 / V03 / Dag 7
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.