Wykres 3D Surface

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
limlum08
Posty: 4
Rejestracja: 03 kwie 2015 16:30
Wersja środowiska: LabVIEW 2014

Wykres 3D Surface

Post autor: limlum08 »

Witam.

Chciałabym poprosić o pomoc w stworzeniu wykresu 3D, położenie na osiach x,y i przypisane do powierzchni wartości wyrażone kolorami (oś z). Szukałam informacji w googlach, na tym forum i sama próbowałam coś stworzyć jednak nie wiem jak wprowadzić dane z, tak by odpowiadały odpowiednim punktom na płaszczyźnie x,y.

Proszę o pomoc.

Pozdrawiam,
limlum08.
robertmmarek
Posty: 20
Rejestracja: 03 sty 2015 11:06
Wersja środowiska: LabVIEW 2013

Re: Wykres 3D Surface

Post autor: robertmmarek »

W LabVIEW znajduje się przykład "3D Surface Graph.vi". Czy nie wyczerpuje on zagadnienia o które pytasz?
Awatar użytkownika
koofaya
Posty: 38
Rejestracja: 23 sty 2014 14:51
Wersja środowiska: LabVIEW 2014

Wykres 3D Surface

Post autor: koofaya »

Jeżeli podepniesz wektory X i Y rosnąco, to punkt (0,0) macierzy odpowiadającej wartościom Z będzie w lewym górnym rogu.

W twoim interesie jest, żeby wymiary się zgadzały.
Jeżeli X lub Y będzie za krótki, część wykresu zostanie obcięta. Jeżeli X lub Y będzie za długi, wymiary wykresu będą równane do tego krótszego.

EDIT: Nie wiedziałem o tym przykładzie =P. Tam zgodność wymiarów zapewniono poprzez generowanie danych w pętli for. Dzięki temu wiadomo, że X i Y będą miały po 40 elementów, a Z będzie macierzą 40 x 40.
limlum08
Posty: 4
Rejestracja: 03 kwie 2015 16:30
Wersja środowiska: LabVIEW 2014

Wykres 3D Surface

Post autor: limlum08 »

Dziękuję za odpowiedzi.
Znalazłam te przykłady, lecz nadal nie umiem połączyć wartości osi z.

koofayja
http://zapodaj.net/8847e3143a7e8.bmp.html
to udało mi się zrobić.
Co z czym i jak połączyć by poszczególne punkty płaszczyzny xy miały przypisane poszczególne wartości z?

np.: (2,5; 2,5; 141,6)
Awatar użytkownika
koofaya
Posty: 38
Rejestracja: 23 sty 2014 14:51
Wersja środowiska: LabVIEW 2014

Wykres 3D Surface

Post autor: koofaya »

No ale to musisz jakieś wartości w tych kontrolkach zadać, trochę poeksperymentować.

Ja wpisałem takie wartości:

X = Y = [0,1,2,3];
Z = [5,0,0,0
1,2,2,1
1,2,2,1
0,0,0,0]

Wtedy powinno Ci wyświetlić największy peak w punkcie (0,0). Nie wiem, jakimi danymi dysponujesz i co właściwie chcesz wyświetlać, więc ciężko mi coś więcej pomóc.
limlum08
Posty: 4
Rejestracja: 03 kwie 2015 16:30
Wersja środowiska: LabVIEW 2014

Wykres 3D Surface

Post autor: limlum08 »

Wpisałam dane i wyświetliły mi się piki w zadanych miejscach, czyli wygląda na to, że działa. Tylko nie wiem jak ustawić, żey to było coś takiego:
http://www.peteryu.ca/_media/tutorials/ ... _basic.png
zamiast pojedynczych pików w zadanych punktach, żeby to była "fala".

A dane, które muszę w ten sposób przedstawić to natężenie światła padające na powierzchnię kolektora, czyli xy - powierzchnia, z - natężenie
Awatar użytkownika
koofaya
Posty: 38
Rejestracja: 23 sty 2014 14:51
Wersja środowiska: LabVIEW 2014

Wykres 3D Surface

Post autor: koofaya »

Jeżeli będziesz miała odpowiednio dużą macierz i odpowiednio płynne zmiany wartości (jak w przypadku natężenia światła), to powstanie upragniona "fala". Nie sposób wpisywać na piechotę np. 500 x 500 pikseli, więc musisz dysponować danymi z jakiegoś detektora/kamery lub znać model matematyczny.
limlum08
Posty: 4
Rejestracja: 03 kwie 2015 16:30
Wersja środowiska: LabVIEW 2014

Wykres 3D Surface

Post autor: limlum08 »

Moje dane pochodzą z pomiarów pyranometrem, które sama robiłam. Kolektor został podzielony na kwadraciki o krawędzi 5cm (mniej więcej tyle zajmuje powierzchnia mierząca pyranometru). Czyli fala powinna powstać jeśliby dopasować wartość z natężenia do pola na jakim zostało zmierzone i tak dla wszystkich, wtedy granice przechodziłyby w miarę płynnie na granicach "kwadracików"
Wiesz może jak to zrobić?
Awatar użytkownika
koofaya
Posty: 38
Rejestracja: 23 sty 2014 14:51
Wersja środowiska: LabVIEW 2014

Wykres 3D Surface

Post autor: koofaya »

Sorry, że tak długo nie odpisywałem, ale Święta były i takie tam...

Jeżeli sama zrobiłaś pomiary, to zakładam, że wyniki masz zapisane w jakimś pliku. Zakładam też, że robiłaś pomiary systematycznie, np. lewo-prawo, góra-dół, więc są one jakoś uporządkowane. Wystarczy to zatem wczytać do LV, przeformatować do tablicy dwuwymiarowej i podać na wykres. Nie wiem, jak jeszcze Ci mogę pomóc, bo nie wiem jak wyglądają te dane i w jakiej formie są zapisane.

Jeżeli masz mało pomiarów, to "gładkiego" wykresu nie uzyskasz, chyba że musi być gładki, to można się pobawić w interpolację, ale to już osobna historia.
ODPOWIEDZ