Przeliczenie współrzednych polarnych na kartezjańskie

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
Jezier
Posty: 2
Rejestracja: 02 wrz 2006 00:00

Przeliczenie współrzednych polarnych na kartezjańskie

Post autor: Jezier »

Witam
Proszę o pomoc jak w temacie. Otóż próbuję przeliczyć string w formacie x.x,y.y(w formacie polarnym) na sting w formacie kartezjańskim x.x,y.y;
domyslam się ze należałoby rozbić string na dwie macierze-przeliczyć i znów wrzócic do stringa w odpowienim formacie. Brzmi fajnie tylko jak to zrobić.;-)
Moze ktoś podpowie?Bedę wdzięczny.Pozdrawiam!
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Przeliczenie współrzednych polarnych na kartezjańskie

Post autor: Mikrobi »

To co mi się nasuwa:
wydobyć ze stringa wartości
przeliczyć według odpowiedniego wzoru
wprowadzic do stringa

O ile dobrze kojarzę to albo nie ma tutaj potrzeby stosowania macierzy albo pytanie jest źle postawione.

Na czym polega problem? Operacje na stringach czy obliczeniowe?
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Jezier
Posty: 2
Rejestracja: 02 wrz 2006 00:00

Re: Przeliczenie współrzednych polarnych na kartezjańskie

Post autor: Jezier »

To moze opiszę problem obszerniej. W trakcie obróbki pewnego pliku otrzymuję string wielonijkowy w którym w każdym wierszu są zapisane wspołrzędne polarne w formacie x.x,y.y gdzie x.x to kąt z dokładnością do jednego miejsca po przecinku a y to promień zapisany analogicznie. Zeby przeliczyć na wspołrzedne polarne czy jak inni nazywaja kołowe należy użyć odpowieniego przeliczenia(wiadomo jakiego). Nie wiem jak zrobić operację przeliczenia. Po przeliczeniu muszę zapisać plik .txt w takim samej formie x.x,y.y tyle ze we wpołrzędnnych kartezjańskich (w ukladzie prostokątnym).Następnie muszę to wrzucić do AutoCada ale to juz prosta sprawa. Wszystko juz działa za wyjatkiem operacji przeliczenia. Nie mam pojecia jakich bloczków użyć czy stworzyć własne? Kiedyś, ładnych parę lat temu pisałem w labview pracę magisterską(sterowanie analizatora widma) ale juz wszystko zapomniałem i staram teraz sobie cos przypomnieć.W mojej pracy zawodowej dopadł mnie opisany problem i przypomniałem sobie o wspaniałym programie LabView ;-). Zastanawiam się jak LabView traktuje dane ze stringa?Jak znaki czy jaki liczby i czy faktycznie trzeba wrzucić te dane o macierzy i wtedy przeliczyc czy wystarczy zrobic cos prostrzego. Dlatego bardzo proszę o pomoc doświadczonych kolegów.;-)
Awatar użytkownika
Mikrobi
Posty: 1210
Rejestracja: 08 paź 2003 00:00
Wersja środowiska: LabVIEW 2017

Re: Przeliczenie współrzednych polarnych na kartezjańskie

Post autor: Mikrobi »

Trochę prościej było by gdybyśmy znali przykładowy plik, tekstowy. To co mi sie nasuwa: para: x.x,y.y pytanie: jaki znak jest między "x.x,y.y" a kolejnym "x.x,y.y" ? - stanowi on separator wiersza - "," to separator kolumn
Zatem dwukrotnie stosujesz funkcję "Spreadsheet String To Array":
- za pierwszym razem zamieniasz string na tablicę 1D (elementy to pary x.x,y.y),
- w pętli FOR zmiana każdego elementu tablicy 1D na dwa elementy tablicy korzystając z "Spreadsheet String To Array", tym razem jako separator wykorzystując "," - tablicę 2D z wyjścia pętli zamieniasz funkcją "Fract/Exp String To Number" na tablicę elementów DBL - tutaj uwaga: wejście "use system decimal point (T)" trzeba ustawić na FALSE, chyba, że domyślnym znakiem dziesiętnym w systemie jest właśnie "."
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
ODPOWIEDZ