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!
Przeliczenie współrzednych polarnych na kartezjańskie
Re: Przeliczenie współrzednych polarnych na kartezjańskie
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?
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?
Re: Przeliczenie współrzednych polarnych na kartezjańskie
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.;-)
Re: Przeliczenie współrzednych polarnych na kartezjańskie
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 "."
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 "."