generacja elipsy

Tematy związane z LabVIEW FPGA oraz programowaniem układów.
bezi
Posty: 6
Rejestracja: 30 paź 2009 11:43
Wersja środowiska: LabVIEW 7.1

generacja elipsy

Post autor: bezi »

Witam. Czy może mi ktoś podpowiedzieć jak wygenerować elipsę która będzie zmieniać się w czasie w zakresie kątów od 0 do 90 stopni tzn na wyjściu będzie płaską linią tylko na osi x następnie przy 45 stopniach będzie kołem a dochodząc znów do 90 stopni będzie płaska z tym że pokrywać sie będzie z osią y. Będę wdzieczny za jakiekolwiek wskazówki. :)
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

generacja elipsy

Post autor: vugie »

Rozumiem, że chodzi o obracanie promienia wodzącego o stałej długości przy założeniu stałej sumy kwadratów długości półosi równej kwadratowi długości tego promienia?

Kłania się równanie parametryczne elipsy:
x=a*cos(t)
y=b*sin(t)

gdzie a i b to długości półosi, a t nalezy do <0;2*pi>
w Twoim przypadku a i b muszą spełniać zależności:
a^2+b^2=R^2
b/a=tg(alpha)

gdzie R to długość promienia wodzącego, a alpha to kąt o jaki go chcesz obrócić.

Rozwiązanie, że tak powiem, na tacy. A jaki to ma związek z LabVIEW FPGA?
bezi
Posty: 6
Rejestracja: 30 paź 2009 11:43
Wersja środowiska: LabVIEW 7.1

generacja elipsy

Post autor: bezi »

Równanie elipsy znam, ale jakoś tego w całość nie mogłem skleić. Będę próbować dalej. Elipsa ma prezentować stan polaryzacji światła. Czy ma to coś wspólnego z LabVIEW FPGA ? Sądząc po pytaniu to nie. Proszę więc administracje o ulgowe potraktowanie i przeniesienie tematu w adekwatne miejsce.
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: generacja elipsy

Post autor: jogurt_owocowy »

vugie pisze:Rozumiem, że chodzi o obracanie promienia wodzącego o stałej długości przy założeniu stałej sumy kwadratów długości półosi równej kwadratowi długości tego promienia?
:D
"Taaaaak... Dokładnie o to chodzi"
vugie
Posty: 383
Rejestracja: 17 lis 2006 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Warszawa

generacja elipsy

Post autor: vugie »

Chciałem uściślić, bo mogło chodzić jeszcze o obrót zrzutowanej rozmaitości 1 rodzaju zdefiniowanej w przestrzeni nieeuklidesowej na zdegenerowaną przestrzeń niższego rzędu przy użyciu homogenicznego operatora rzutowania.
Ale to by miało jeszcze mniej wspólnego z FPGA. Czy istnieje moduł Quantum Computing do LabVIEW?
bezi
Posty: 6
Rejestracja: 30 paź 2009 11:43
Wersja środowiska: LabVIEW 7.1

Re: generacja elipsy

Post autor: bezi »

bardzo zabawne =))
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: generacja elipsy

Post autor: jogurt_owocowy »

Napisz, bezi, czy masz problem z samym LV (bo jesteś początkujący) czy z wygenerowaniem samej elipsy.

Jeśli to pierwsze (tak bym obstawiał), to najpierw spróbuj narysować elipsę o zadanych długościach półosi a i b za pomocą XY Graph - to będzie połowa sukcesu.
Drugą połową będzie sparametryzowanie współczynników a i b w zależności od wspomnianego przez Ciebie kąta, a wyznaczysz je łatwo z układu równań podanych przez vugiego (tak będzie najładniej, choć chyba można zrobić to szybciej generując zbiór punktów (x,y) dla okręgu, a potem zrzutować go równolegle, żeby otrzymać elipsę).
bezi
Posty: 6
Rejestracja: 30 paź 2009 11:43
Wersja środowiska: LabVIEW 7.1

Re: generacja elipsy

Post autor: bezi »

Powiem szczerze o co chodzi. Problem jest z technicznym utworzeniem tej elipsy w LabView a nie z zależnościami jakie ją tworzą. Wiem że na osi OX umieszczam cos(alfa)cosx, gdzie alfa to mój kąt zawarty miedzy 0 a pi/2, a na oś OY wprowadzam sin(alfa)cosx, z tym że powinienem ująć także przesuniecie w fazie o pi/2. Skeljam te VI-aje niby działają ale nie mam ciągłości. Próbuje tez umieścić wszystko w pętli while. Jeśli chcecie to pomóżcie ;;)
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: generacja elipsy

Post autor: jogurt_owocowy »

Nie mam dostępu do wersji 7.1, więc załącznik jest obrazkowy.

Stała 100 podłączona do terminala N pętli for określa ilość punktów elipsy.
Drobny szczegół (ale diabeł je lubi): jeśli ustawisz tutaj mniejszą wartość (np. 10), to zobaczysz, że elipsa jest "niedorysowana" do końca. Jeśli Ci to przeszkadza, to do wektora wychodzącego z pętli for doklej (za pomocą Build Array) wartość 1.

Pozdrawiam
Załączniki
drawing ellipse flowing between xy x and y axis.png
bezi
Posty: 6
Rejestracja: 30 paź 2009 11:43
Wersja środowiska: LabVIEW 7.1

generacja elipsy

Post autor: bezi »

Dzięki wielkie :) Obiecuje że się poprawie. B-)
bezi
Posty: 6
Rejestracja: 30 paź 2009 11:43
Wersja środowiska: LabVIEW 7.1

generacja elipsy

Post autor: bezi »

Zrobiłem ten programik, fakt prosty, ale to nie jest to o co mi chodziło. Moja elipsa ma interpretować elipsę polaryzacji świetlnej, czyli np dla alfa 45 stopni powinno wyjść koło. Zgodnie z teorią elipsa powinna również obracać się, a nie puchnąć od płaskiej powierzchni na osi OX przez zwiększanie promieni a i b. To jest bardziej złożone zagadnienie. Jednakże dziękuje za udzieloną pomoc.
ODPOWIEDZ