Primjena biblioteke VTK u vizualizaciji znanstvenih podataka - Pmf
Primjena biblioteke VTK u vizualizaciji znanstvenih podataka - Pmf Primjena biblioteke VTK u vizualizaciji znanstvenih podataka - Pmf
Dodatak A VTKvis3D Programi u dodacima A i B opˇsirniji su primjeri koncepata vizualizacije opisanih u prethodnim poglavljima. VTKvis3D je program za iscrtavanje grafova funkcija dviju varijabli zadanih vrijednostima u pojedinačnim točkama. Podaci o funkciji čitaju se iz tekstualne datoteke. Svaki redak datoteke sadrˇzi vrijednosti x i y varijable, te vrijednost funkcije u toj točki (z koordinta). Program učitava podatke o točkama te kreira plohu u prostoru povezujući točke u mreˇzu trokutova pomoću filtera za triangulaciju. Svakoj točki pridruˇzuje se skalarna vrijednost z koordinate. Ploha se iscrtava na ekranu, obojana s obzirom na skalarne vrijednosti. Uz plohu program iscrtava i indeks boja i vrijednosti skalara, te koordinatni sustav. Sa slikom iscrtanom na ekranu omogućena je standardna interakcija pomoću miˇsa i tipkovnice. U sklopu interakcije dodana je mogućnost spremanja kreiranog objekta u datoteku. Proces spremanja datoteke pokreće se pritiskom na tipku “u”. Datoteka predstavlja vtkPolyData objekt zapisan u XML formatu. Uz već opisane obične tekstualne datoteke, program moˇze pročitati i prikazati sadrˇzaj i takvih datoteka. Izgled programa moˇze se vidjeti na slici 3.7 na strani 17. 27
VTKvis3Dmain.cxx #include "CommandInterpretation.h" #include "Message.h" #include "vtkMySaveCallback.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main( int argc, const char* argv[] ) { CommandInterpretation *command=new CommandInterpretation(argc, argv); //NEPOZNATA NAREDBA if(command->isUnknown()) Message::exitError("Nepoznati parametri. Pokrenite program sa opcijom -h za pomoc."); //HELP if(command->isHelp()) { Message::help(); return 0; } vtkPolyDataMapper *mapp=vtkPolyDataMapper::New(); vtkMySaveCallback *save=vtkMySaveCallback::New(); //CITANJE IZ TXT DATOTEKE if(command->isFileTxt()) { //txt datoteku citamo pomocu vtkSimplePointsReader vtkSimplePointsReader *simpleReader=vtkSimplePointsReader::New(); simpleReader->SetFileName(command->getFileName()); double bounds[6]; simpleReader->Update(); simpleReader->GetOutput()->GetBounds(bounds); //tockama se dodjeljuju skalarne vrijednosti pomocu vtkElevationFilter-a vtkElevationFilter *elf=vtkElevationFilter::New(); elf->SetInputConnection(simpleReader->GetOutputPort()); elf->SetLowPoint(0,0,bounds[4]); elf->SetHighPoint(0,0,bounds[5]); 28
- Page 1 and 2: Sveučiliˇste u Zagrebu Prirodoslo
- Page 3 and 4: Ovaj diplomski rad obranjen je dana
- Page 5 and 6: Uvod Vizualizacija je proces kreira
- Page 7 and 8: Spajanjem filtera sa podatkovnim ob
- Page 9 and 10: Izvrˇsavanje cjevovoda Na primjeru
- Page 11 and 12: vtkRectilinearGrid Slika 2.1: Skupo
- Page 13 and 14: Podatke je moguće pridruˇziti sam
- Page 15 and 16: Jednostavan primjer je klasa vtkCyl
- Page 17 and 18: Slika 3.3: Triangulacije dobivene p
- Page 19 and 20: Umjesto toga, metoda GenerateValues
- Page 21 and 22: writer->SetFileName("file.vti"); wr
- Page 23 and 24: Poglavlje 4 Grafički prikaz i inte
- Page 25 and 26: Svjetla i kamere Osim vidljivih obj
- Page 27 and 28: Sljedeći primjer demonstrira kreir
- Page 29 and 30: Slika 4.5: vtkPiecewiseFunction fun
- Page 31: Poput stilova interakcije, 3D kontr
- Page 35 and 36: vtkRenderer *ren= vtkRenderer::New(
- Page 37 and 38: CommandInterpretation.h #ifndef COM
- Page 39 and 40: void setInputConnection(vtkAlgorith
- Page 41 and 42: VTKvis4Dmain.cxx #include "CommandI
- Page 43 and 44: { } //funkcija "prozirnosti" skalar
- Page 45 and 46: } name="VTKvis4D - "; name.append(c
- Page 47 and 48: } unknown=false; help=false; filevt
- Page 49 and 50: } ss
Dodatak A<br />
<strong>VTK</strong>vis3D<br />
Programi u dodacima A i B opˇsirniji su primjeri koncepata vizualizacije opisanih u<br />
prethodnim poglavljima.<br />
<strong>VTK</strong>vis3D je program za iscrtavanje grafova funkcija dviju varijabli zadanih vrijednostima<br />
u pojedinačnim točkama.<br />
Podaci o funkciji čitaju se iz tekstualne datoteke. Svaki redak datoteke sadrˇzi vrijednosti<br />
x i y varijable, te vrijednost funkcije u toj točki (z koordinta). Program učitava<br />
podatke o točkama te kreira plohu u prostoru povezujući točke u mreˇzu trokutova pomoću<br />
filtera za triangulaciju. Svakoj točki pridruˇzuje se skalarna vrijednost z koordinate.<br />
Ploha se iscrtava na ekranu, obojana s obzirom na skalarne vrijednosti. Uz plohu<br />
program iscrtava i indeks boja i vrijednosti skalara, te koordinatni sustav.<br />
Sa slikom iscrtanom na ekranu omogućena je standardna interakcija pomoću miˇsa i<br />
tipkovnice. U sklopu interakcije dodana je mogućnost spremanja kreiranog objekta u<br />
datoteku. Proces spremanja datoteke pokreće se pritiskom na tipku “u”.<br />
Datoteka predstavlja vtkPolyData objekt zapisan u XML formatu. Uz već opisane<br />
obične tekstualne datoteke, program moˇze pročitati i prikazati sadrˇzaj i takvih datoteka.<br />
Izgled programa moˇze se vidjeti na slici 3.7 na strani 17.<br />
27