Visnow struktury danych
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

VisNow – struktury danych PowerPoint PPT Presentation


  • 106 Views
  • Uploaded on
  • Presentation posted in: General

VisNow – struktury danych. Krzysztof S. Nowiński [email protected] Dane. Wizualizacja danych a wizualizacja informacji Dane: Struktura zadana a priori Geometria zwykle w przestrzeni fizykalnej Wartości głównie liczbowe Informacja Strukturę dopiero tworzymy

Download Presentation

VisNow – struktury danych

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Visnow struktury danych

VisNow – struktury danych

  • Krzysztof S. Nowiński

  • [email protected]


Visnow struktury danych

Dane

Wizualizacja danych a wizualizacja informacji

  • Dane:

  • Struktura zadana a priori

  • Geometria zwykle w przestrzeni fizykalnej

  • Wartości głównie liczbowe

  • Informacja

  • Strukturę dopiero tworzymy

  • Geometria dopiero do ustalenia

  • Wartości często tekstowe lub obiektowe


Dane geometria i struktura

Dane – geometria i struktura

  • Geometria:

    • Współrzędnepunktów w przestrzeni n-wymiarowej (n=1,2,3,4,...)

      • Zadane w sposóbnaturalnylubobliczone ne podstawiestrukturyczywartości

      • Podaneexplicitelubłatwe do wyliczenia w miarępotrzeby

  • Struktura

    • Określalogicznepowiązaniamiędzypunktami

    • Zazwyczajokreślazakresmożliwejinterpolacji

    • Zależna od problemu:

    • Miasta w Polsce –

      • Punkty (demografia)

      • Węzły grafu (komunikacja)

      • Wierzchołki triangulacji (obserwacje meteo)


Dane struktura

Dane -Struktura

  • Logikapowiązań

    • Przykłady:

      • Wiązaniawyznaczającestrukturęcząsteczki

      • Połączenialotnicze

      • Połączeniatelekomunikacyjne

      • PołączenialogiczneodsyłaczyWWW

  • Interpolacja

    • Jeżeliskończonyzbiórdanych jest wynikiemeksperymentalnegolubnumerycznegopróbkowania continuum

      • Możemyinterpolowaćwedługregułwyznaczonychprzezstrukturę

  • Struktura regularna – tablica 1- 2- lub 3-wymiarowa

  • Struktura nieregularna – powiązania opisywane explicite


Struktura

Struktura

  • Opisformalny - komórki

    • Zerowymiarowa

      • punkt

    • Jednowymiarowa

      • odcinek

    • Dwuwymiarowe

      • trójkąt, czworokąt

    • Trójwymiarowe

      • czworościan, piramida, pryzmat (graniastosłuptrójkątny), sześciościan

  • Zadanelistąwierzchołków

0

1

2

3

4

7

6

5


Siatka struktura geometria

Siatka - struktura+geometria

  • Siatkaregularnarównoległościenna

    • Strukturatablicy 1- 2- lub 3-wymiarowej (komórkisąodpowiednioodcinkami, czworokątamilubsześciościanami)

      • Opisstruktury:

        • {intndim; int dims[ndim]}

    • Geometria: siatkazłożona z odcinków, równoległoboków lub równoległościanów

      • Opisgeometrii:

        • {intnspace; float affine[4][nspace]}

        • affine[3] – początek układu

        • affine[0], affine[1],… - wektory krawędzi komórki

      • Współrzędneilistakomórekniemusząbyćpamiętane


Siatka struktura geometria1

Siatka - struktura+geometria

  • Siatkaregularnaze współrzędnymi

    • Strukturatablicy 1- 2- lub 3-wymiarowej (komórkisąodpowiednioodcinkami, czworokątamilubsześciościanami)

      • Opisstruktury:

        • {intndim; int dims[ndim]}

    • Geometria: punktyumieszczonedowolnie w przestrzeni

      • Opisgeometrii:

        • {intnspace; float coords[N * nspace]}

        • (nspace≥ndims, N – liczbapunktów (iloczynwymiarówsiatki)

    • Listakomórekniemusibyćpamiętana


Struktura1

Struktura

  • Siatkanieregularna

    • Wektor zbiorów komórek (CellSet)

      • CellSet:

        • Tablica cellArrays[8][]

        • cellArrays[i] – tablica węzłów komórek typu i, np. cellArrays[2] ma długość 3*nTriangles

        • Automatycznie tworzone boundaryCellArrays[4][]

    • Listykomórekmusząbyćpamiętane

    • Geometria: punktyumieszczonedowolnie w przestrzeni

      • Opisgeometrii:

        • {intnspace; float coords[N * nspace]}

        • (nspace≥ndims, N – liczbapunktów (iloczynwymiarówsiatki)

0

1

2

3

4

7

6

5


Pole siatka warto ci

Pole:siatka + wartości

  • Wartości są przechowywane w strukturach (klasach) pochodnych odDataArray

  • DataArray:

    • name – nazwa używana przy wyborze komponenty

    • type – typ danych w tablicy - od DataArray.BOOLEAN do DataArray.DOUBLEi DataArray.STRING

    • veclen – 1 gdy dane skalarne, >1 gdy wektorowe

    • nData– liczba elementów danych

    • Dane w tablicy o długości veclen * nData

  • Mogą być określone (typowo) dla punktów (node data) lub dla komórek w przypadku siatek nieregularnych (cell data) – każdy CellSet może mieć własny zestaw danych


Pole siatka warto ci1

Pole:siatka + wartości

  • Pole może zawierać dowolną liczbę danych dowolnych typów, skalarnych lub wektorowych

  • Dodatkowo, pole może zawierać maskę – tablicę danych typu booleanwskazującą, które punkty zawierają dane istotne – przykładowo, model falowania Bałtyku jest liczony na siatce prostokątnej, należy więc użyć maski równej falsedla punktów wewnątrz lądu.

  • Wszystkie tablice danych, współrzędne i maska mogą zależeć od czasu:

    • Timestep(krok czasowy) to para {floattime, <type>[] data}

    • Dla zadanego momentu t dostępna jest interpolacja kawałkami liniowa na chwilę t

    • Różne tablice danych mogą mieć różne szeregi chwil i odpowiadających im danych


Klasy danych i ich api

Klasy danych i ich API

  • Field – klasa abstrakcyjna

    • Nazwa (String name)

    • Liczba punktów (intnNodes)

    • Wymiar przestrzeni (intnSpace) – zwykle 3

    • Współrzędne (float[] coords)

      Płaska tablica {(x,y,z)0, (x,y,z)1,…} – może być null dla pola regularnego

    • Opcjonalna maska (boolean[] mask)

    • Wektor obiektów wartości (Vector<DataArray> data)

    • Rozmiary (float[][] extents)

      Zakres i-tej współrzędnej od extents[0][i] do extents[1][i] ustalany automatycznie (z możliwością nadpisania)

  • Podklasy

    • RegularField

    • IrregularField


Podklasy field

Podklasy Field

  • RegularField – siatka regularna

    • Wymiary(int[] dims)

      nNodes= dims[0]*dims[1]… ustawiane automatycznie

      nSpace ≥dims.length

    • Punkt początkowy i wektory komórki elementarnej

      (float[][] affine):

      affine[3] – punkt początkowy odp. Indeksom 0

      affine[0], affine[1], affine[2] – wektory komórki

    • Opcjonalnie współrzędne(float[] coords)

      Kolejność punktów jak pikseli w obrazie MxN (N wierszy po M znaków zapisywanych wierszami

      Reguła obowiązuje we wszystkich obiektach danych


Podklasy field1

Podklasy Field

  • IrregularField– siatka nieregularna

    • Współrzędne(float[] coords) - obowiązkowe

    • Zbiory komórek (ArrayList<CellSets> cellSets)

  • CellSet

    • Liczba komórek(intnCells) – generowana automatycznie

    • Liczba wartości danych(intnDataValues) liczba elementów tablic CellData – może być różna od nCells

    • Tablice komórek (CellArray[] cellArrays) – 8 tablic opisujących komórki różnych typów (point, segment, triangle, quad, tetra, pyramid, prism, hex)

    • Tablice komórek brzegowych

      (CellArray[] boundaryCellArrays) – generowane półautomatycznie tablice ścian komórek trójwymiarowych

    • Wektor obiektów wartości (ArrayList<DataArray> data)


Tablice warto ci

Tablice wartości

  • Abstrakcyjna klasa DataArray

    • Nazwa(String name)

    • Jednostka fizyczna(String unit) – używana w opisie osi, legendy barw etc.

    • Typ danych(int type)– jedna ze stałych DataArray.FIELD_DATA_BYTE … _DOUBLE

    • Długość wektora(intveclen) – rozmiar pojedynczego elementu danych – domyślnie 1 (dane skalarne)

    • Minimumdanych (float minv) używane do ustalenia zakresu suwaków, mapy kolorów etc., zwykle ustawiane na rzeczywiste minimum.; dla danych wektorowych ustawiane na 0

    • Maksimum danych(float maxv) – jak wyżej

    • Liczba danych(intnData)

  • Podklasy <Type>DataArray

    • Tablica danych(<type>[] data)


Field api

Field API

Klonowanie:

cloneBase()– tylko wymiary, geometria i maska – przez referencje

clone() – jw. + DataArrays

cloneDeep()– jak clone, ale poszczególne pola są klonowane

Standardowe akcesory do pól (nie ma setNNodes)

Akcesory do tablic danych:

getData()

setData(ArrayList<DataArray> data)

clearData()

getData(String s)

getData(int i)

addData(DataArraydataArray)


Regularfield api

RegularField API

Konstruktory:

RegularField(int[] dims)

RegularField(int[] dims, float[][] pts)

Klonowanie:

cloneBase()– tylko wymiary, geometria i maska – przez referencje

clone() – jw. + DataArrays

CloneDeep()– jak clone, ale poszczególne pola są klonowane

Standardowe akcesory do pól (nie ma setDims)

Dodatkowo:

getInvAffine()

getCoordsFromAffine() - niezalecane


Dzi kuj za uwag

Dziękuję za uwagę!

  • [email protected]


  • Login