visnow struktury danych
Download
Skip this Video
Download Presentation
VisNow – struktury danych

Loading in 2 Seconds...

play fullscreen
1 / 17

VisNow – struktury danych - PowerPoint PPT Presentation


  • 156 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'VisNow – struktury danych' - apu


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
slide2
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, [] 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 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)
  • 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 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 DataArray
    • Tablica danych ([] 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 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

ad