Jaki program do wykresu

Pan jacek pozniak zanotował (po polsku):

No bo kto będzie chciał odgadywać, co przedstawia choćby taki EPS:

%!PS-Adobe-2.0 EPSF-1.2 %%BoundingBox: -200 -200 200 200

0 100 0 100 0 100 0 100 0 100 newpath moveto 216 rotate lineto 216 rotate lineto 216 rotate lineto 216 rotate lineto 216 rotate closepath fill

Tak se napisałem -- nie żeby udziwnić, tak się po prostu pisze.

Reply to
invalid unparseable
Loading thread data ...

W dniu 2017-07-12 o 16:36, Jarosław Sokołowski pisze:

Ale niektórzy (znaczy ja) są mało reformowalni no i przyzwyczajenie drugą naturą człowieka :(. Przygodę z PC zacząłem od napisania swojego systemu okienkowego (nie było jeszcze Turbo Vision). Do obsługi bitmap napisałem sobie klasę w C++ według książki "Formaty Plików Windows" z 94r. Dopiero z 5 lat temu użyłem obsługi bitmap dostępnej w Builderze. PNG, JPG nigdy nie obsługiwałem. Za to mamy swój własny, prosty, upakowany format zapisu bitmap. Ja te pliki generuję, brat ich używa.

Nigdy nie użyłem w moim programie niczego spoza Turbo C++, Borland C++ czy Builder C++, a tego co tam jest nie rozumiałem jako czyjeś biblioteki. No i maluje się obraz tzw. Leśnego Dziadka :). Przypuszczam, że główną przyczyną jest to, że programowaniem zajmuję się

2..3 tygodnie w roku - nie da się nadążyć za zmianami świata.

Jeszcze kilka lat temu żyłem w nieświadomości, że inni robią inaczej. Oczy otworzyła mi ta historia, że jakiś gość o coś się obraził i zabrał swój kawałek kodu (podobno 11 linijek) z jakiegoś serwera i tysiące programów na świecie przestały się kompilować. Cały czas nie mogę się temu nadziwić.

A masz pojęcie jak mnie Windows wpienia?! Na przykład dziś - dlaczego jak klikam na plik .svg (ten co wskazałeś) znajdujący się u mnie na dysku to otwiera mi się Internet Explorer i jeszcze każe coś wybrać (nie dało się zamknąć bez wybrania) którego normalnie nie używam (używam Opery). Wszystkie ślady Internet Explorera usunąłem, ale w Panelu Sterowania | Odinstaluj program nie ma go :(

To jest inna sprawa. Dopóki jakiś program robi sobie (czy innym) jakiś plik - nie wnikam. Ale jakbym miał go "ręcznie" modyfikować to musiałbym rozumieć wszystko. Jakbym miał bibliotekę, która wczytuje mi jpg, pozwala grzebać w jego pikslach, a potem zapisać to też bym nie wnikał w format.

Wątek powstał bo chciałem dowiedzieć się o programach do generowania (z równań) wektorowej grafiki (jak najbardziej związanej z elektroniką) bez wnikania w format pliku. Jak zapytałem, to nie miałem bladego pojęcia że ten plik graficzny okaże się plikiem tekstowym. Dla mnie szok.

To jest ta sytuacja, gdy jakiś program robi sobie dla siebie jakiś plik

- nie wnikam.

Pracuję nad tym aby się przełamać :).

Nie musisz, ale jakbyś mi tego nie napisał i miałbym (bez czytania instrukcji!) po zajrzeniu do tego pliku sam dopisać mój wykres to użyłbym wielu <line ...

Przekonałeś mnie. Mój wykres zrobię generując sobie bardzo długą (ze względu na te ostre załamania wykresu) serię punktów dla polyline (chyba, że znajdę jakieś polecenie malowania krzywych to wtedy zacznę od wyliczania tych punktów załamań i miedzy nimi za pomocą krzywych). Wykres ma w sumie jeden parametr, ale od niego zależy rozpiętość w pionie wykresu. Tak będzie szybciej. A Asymptote i Gnuplot odłożę sobie na "Święty Nigdy" - mam inne, pilniejsze rzeczy do douczenia się. P.G.

Reply to
Piotr Gałka

W dniu środa, 12 lipca 2017 19:47:22 UTC+2 użytkownik Piotr Gałka napisał:

Mam nadzieję że nie zaburzę dyskusji sugestia że bardzo sprawnie generuje sie grafikę za pomocą PHP. Tam jest troche bibliotek które generują wykresy całkiem sprawnie, to troche "pająkowate" rozwiązanie bo trzeba miec dodatkowo php zainstalowane ale całośc działa całkiem zgrabnie.

Ale to tak nawiasem, mysle ze svg jest lepsze i ma jedną ważną zalete: Jak już wykres zrobisz to nawet Pani Grazynka moze w takim wykresie zmienic kolorki, dodać jakis opis albo co pewnie niezbyt pożądane zazwyczaj - usunąć jakiś punkt pomiarowy :) I to wszystko jedną ręką na myszce a w drugiej może trzymać kromke ze smalcem ;)

Reply to
sczygiel

Bo, w praktyce, czasami nie mogą się dogadać i wtedy człowiek otwiera taki plik w edytorze tekstowym i koryguje. :) jp

Reply to
jacek pozniak

Pan Piotr Gałka napisał:

Dzisiaj w praktyce zawsze tak to wygląda, i to od dawna. Nikt z grzebiących w pikselach nie zastanawia się nad formatem, w jakim to będzie zapisane. Odczyta JPG, dostanie czystą bitmapę, pogrzbie sobie - i myk, każe zapisać w JPG, PNG, TIF czy co tam chce. Nikomu się nie chce wnikać w formaty.

Dltego warto czasem zadać takie pytanie. Można przeżyć miłe zaskoczenie i czegoś się dowiedzieć. Ale będę bezlitosny: pliki grafik bitmapowych też bywają plikami tekstowymi. I to własnie najstarsze, najdłużej używane formaty takie są. Na przykład plik XPM może wyglądać tak (pierwszy, jaki mi się wylosował na dysku, to naprawdę jest jeszcze w użyciu):

/* XPM */ static char * 3d7_xpm[] = { "18 18 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ........... ", " .. . ", " .. . ", " .. . ", " .. . ", " .. . ", " .. . ", " .. . ", " ... ", " .. ", " . ", " ", " ", " "};

Albo PBM (plik wyjęty ze źródeł kernela Linuksa, całkiem współczesny):

P1 # Standard black and white Linux logo

80 80 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 # resztę wycinam, bo nudna.

Jest jeszcze PGM, PPM i może o czymś zapomniałem. Każdy uniksowy program graficzny otwiera te formaty (jeśli autor złośliwnie nie zablokował takiej możliwości), więc obrazki można sobie tworzyć edytorem tekstowym i zapisać je potem choćby jako JPG.

A mnie się już zdarzyło dłubać w plikach MS Office otwierając zipy i edytując wewnętrzne iksemele. Co więcej, napisałem kiedyś skrypt, który wsadowo poprawiał coś w całym tabunie plików. I oszczędził dziesiątki dupogodzin operatora Excela.

Jasne! lepiej niż się załamać!

Są polecenia rysowania krzywych Beziera. Ale nie wiem czy to właściwa droga w tym przypadku.

Gnuplota bym nie odpuszczał. To tradycyjne oldskulowe narzędzie, które z naprędce wyplutych z jakiegoś programu dwóch kolumn liczb opisujących punkty wykresu robi przyzwoity wykres, dobierając przy tym wszystko co da się automatycznie dobrać. I wywołuje się to w jednej krótkiej linijce poleceń. Chyba podawałem jakiś przykład (z pamięci, więc nie ręczę za całkowitą poprawność). Ludzie od trzydziestu albo więcej lat to robią, zawsze tak samo, i są zadowoleni. Chociaż ostatnio takie pozyskane jakbądź dane pomiarowe oglądam firefoksem z javascriptu (wektorowo). W razie czego służę skleconym szybko, ale użytecznym systemem bojowym. W myszowaty sposób pokazuje wartości w punktach, pozwala powiększać wykres, a kod zajmuje może kilkanaście linijek (plus biblioteka).

Reply to
invalid unparseable

snipped-for-privacy@gmail.com trzymając w ręce kromkę ze smalcem napisał:

To już jest passe -- generowanie bitmap 'serverside'. Teraz przesyła się dane liczbowe, a obrazki tworzy na miejscu, JavaScriptem. Zdecydowanie zgrabniej to działa. Responsywne jest i elastyczne.

Reply to
invalid unparseable

Zdecydowanie

Java+HTML5.

Plus: odciąża serwer.

Minus: klient ma dostęp do kodu źródłowego.

Reply to
slawek

W dniu 2017-07-12 o 21:29, jacek pozniak pisze:

Tak mi przyszło do głowy, że dzięki temu jakby chciały przejąć kontrolę nad nami to mamy szansę zrozumieć co tam kombinują :) P.G.

Reply to
Piotr Gałka

Pan J.F. napisał:

Kod PS tworzony przez drajwery jest poza wszelką konkurencją, o tym już pisałem. Ale nawet ręczna robota jest taka jak widać. Z tym że przy robieniu wykresów znowu jest tak, że całość trzeba stworzyć tylko raz, a potem linię wykresu ciągnie się wyprowadzając z programu serię punktów w postaci "X Y lineto".

Reply to
invalid unparseable

Użytkownik "Piotr Gałka" napisał w wiadomości grup dyskusyjnych:ok53vj$fpc$1$ snipped-for-privacy@news.chmurka.net... W dniu 2017-07-12 o 13:43, slawek pisze:

No, jak to ma dzialac na roznych maszynach, to zwykly zmienny przecinek nie jest juz taki prosty, bo trzeba jakos przetlumaczyc formaty binarne. Co prawda od pewnego czasu swiat sie przestawil na Intela, to i problem mniejszy.

XML moze byc o tyle dobry, ze zapamietuje od razu strukture danych, i to czesto zmienna. Przy formacie binarnym musialbys sie namyslic dlugo. Choc i tak musisz sie pozniej namyslic ... albo sie dziwisz, ze 4GHz maszyna jest wolniejsza niz kiedys 100MHz, a 8GB RAM nie wystarcza :-)

Ale to jest jak mowimy o programach, pisanych od poczatku.

A mnie o takie ludzkie sprawy chodzilo - np trzeba z dwoch plytek zrobic jedna dla plytkarni. Albo mamy dobry program do schematow, dobry program do plytek, netliste trzeba miedzy nimi przeniesc. Czy jak widzisz - wykres narysowac na podstawie danych z arkusza.

Albo np dwa pliki JPK zlozyc w jeden. Czy np plik sie nie chce wczytac do programu ... i co zrobic ?

Tekstowe formaty maja zalety.

J.

Reply to
J.F.

W dniu 2017-07-12 o 23:11, Jarosław Sokołowski pisze:

Kiedyś drukarki umiały drukować tylko znaki więc grafikę się robiło dobierając znaki o odpowiednim wypełnieniu (masa kropek daje jaśniejszy odcień niż masa gwiazdek itp.). Jeszcze jak byłem w szkole to widziałem takie "obrazy" zajmujące 3 arkusze papieru. Na studiach miałem tylko jeden semestr ćwiczeń na temat programowania komputerów w języku wysokiego poziomu (Algol) i moim zadaniem było napisanie programu, który pouzupełnia przerwy w konturach obrazu. A obraz był malowany gwiazdkami.

W czasach XT zdarzyło mi się popełnić programik, który przerabiał jakiś plik z Orcada na netlistę do Racal-Redaca. Nie miałem opisu żadnego z tych formatów więc musiało być na zasadzie czytania ze zrozumieniem i zapewne pliki były tekstowe. Nie wiem dlaczego była taka potrzeba - czyżby Racal-Redac nie miał edytora schematów. W każdym razie wszyscy w koło (na Polibudzie) od razu przygarnęli mój programik.

Nie odpuszczam tylko odkładam. Najpierw dokończę zabawę z KiCadem, do której to zabawy i tak nie mogę w tej chwili wrócić.

Do takiego celu użyłem PSpice. W 2004 weszło CE i EMC. Miałem potrzebę przekucia teorii w praktykę. Mam oscyloskop cyfrowo/analogowy, który nie ma FFT, ale mogę z niego dostać serie próbek. W PSpice jest źródło napięcia sterowane próbkami z pliku i na oglądarce przebiegów można włączyć FFT. Czy to przypadkiem nie daje większych możliwości niż uzyskam z Gnuplota?

Tym sprzętem udało mi się zmierzyć pojemność własną dławika 100uH wynoszącą 0,4pF i według mnie pomiaru dokonałem z dokładnością rzędu 0,1pF. Ogólnie, cała moja koncepcja była błędna - chciałem jedną sekcją filtru objąć jak najszersze pasmo. Teraz już tak nie robię i zawsze łączę dwie sekcje - jedna dla wyższych, druga dla niższych częstotliwości.

Dzięki, ale od tego 2004 nie miałem potrzeby oglądania na PC danych pomiarowych. A jakbym miał to chyba znów użyję PSpice bo nie dość, że mam opanowaną jego oglądarkę to jeszcze mogę te dane przefiltrować dodając na schemacie kilka elementów lub bloków opisanych funkcjami transmitancji. P.G.

Reply to
Piotr Gałka

Pan Piotr Gałka napisał:

Nie znam PSpice, ale z tego co widzę, tego nie "wywołuje się w jednej krótkiej linijce poleceń". Czyli jednak inny obszar zastosowań. Gnuplot zdecydowanie nie jest Programem, Który Robi Wszystko. A nawet to co robi, czasem trzeba poprawiać. Zajrzałem teraz do skryptu, który nieprzerwanie od kilkunastu lat robi wykres. Oszacowałem, że musiał ich zrobić do tej pory około 40 milionów. Więc sprawdzone rozwiązanie. Znalazłem tam taką linijkę:

gnuplot $PLOT | sed 's/\x00\xEE\xEE/\xB0\xC0\xFF/' \

W zmiennej "PLOT" są parametry wywołania, z których wynika, że tworzy on plik GIF. A że nie da się ustawić w parametrach dowolnego koloru, więc edytor strumieniowy sed zamienia to co jest na bardziej wysmaczony odcień. Hackerka na pliku binarnym, ale działa. Dzisiaj w tekstowych formatach takie manipulacje są dużo łatwiejsze i bardziej pewne.

Reply to
invalid unparseable

Pan J.F. napisał:

Tak, to jest główny powód -- prostota. Ale fakty przeczą temu, co było wcześniej powiedziane. Komputerowi łatwiej jest czytać "ludzki", tekstowy format, niż binarny przeznaczony dla maszyn.

Tak przewidywał? Nie wiem, nie z nam się na MS Windows. Ale to Mac OS miał w pliku "resource fork" z ikonami i innymi takimi.

Ale dupę każdy ma swoją -- tak miałem wszystko szybciej.

Ja nie chcę wiedzieć jak. Zbyt wiele by to (moich) dupogodzin kosztowało.

Reply to
invalid unparseable

Pan J.F. napisał:

To tam jeszcze od Linusa Torvaldsa chyba jest. On miał wtedy ze dwadzieścia parę lat.

No ale ten plik PBM czytany jest właśnie przez kompilator, a grafika wstawiana w binarny kernel. Zresztą istnieje też format "c" zapisywany przez porogramy graficzne. Gotowy kod źródłowy w języku C (to znaczy deklaracja zmiennej to jest).

15 sekundowe raczej. Główna robota to rozpakowanie zipa i spakowanie go nazad.
Reply to
invalid unparseable

W dniu 2017-07-13 o 17:17, Jarosław Sokołowski pisze:

Nie za bardzo rozumiem po co potrzeba wywoływania w jednej linijce czegoś, czego efektem ma być wykres, który, jak rozumiem, ktoś ma obejrzeć, pomyśleć, pojeździć po nim kursorami, zastanowić się dlaczego akurat taki wyszedł, zmierzyć jakieś różnice dwu wykresów, czy np. odczytać fazę na jednym, gdy drugi przechodzi przez zero, itp.

Domyślam się, że ma to związek z jakimiś skryptami. Nie wiem, czy dobrze rozumiem to słowo. Ja mam tylko dwa baty (Backup.bat i Backup_r.bat) które robią .zip mojej kartoteki roboczej (całej/rzeczy zmienionych od ostatniej całej). Czy to są skrypty, czy nie za do końca?

Nigdy nie miałem nic wspólnego z unixem. Wydaje mi się, że tam jest to bardziej popularne.

Na podsumowanie dziękuję wszystkim za udział w moim wątku. Szczególnie Jarkowi. To, czego chciałem się dowiedzieć już wiem (nawet trochę więcej). Jak przyjdzie na to czas to skorzystam z tej wiedzy.

Jeszcze raz dzięki! P.G.

Reply to
Piotr Gałka

W dniu czwartek, 13 lipca 2017 18:13:39 UTC+2 użytkownik Jarosław Sokołowski napisał:

Ja tylko lekko skomentuję: Sporo formatów graficznych w dawnych czasach miało mocne koligacje z tym jak sie te dane prezentowały w pamięci komputera podczas wyświetlania. Tak było w przypadku grafik na c64 i na amidze. Lub ewentualnie jesli nie były dumpem pamięci to miały jakieś nieskomplikowane metody kompresji.

Dlatego wtedy formaty tekstowe dla grafiki nie były prawie wcale uzywane. Wyjatkami sa właśnie te wstawki w kodach źródłowych lub serie poleceń DATA w basicu.

I z drugiej strony: xml niby fajny jest, czytelny i intuicyjny ale ma między innymi te wade ze jak jest duzy i "fikuśny" to może byc trudno go wczytywać sekwencyjnie. Pamietam jak znajomy jakies 200MB xml-e próbował załadować aby po nich nastepnie "pojeżdzić" programem. Na komputerze z 2GB ram biblioteka sie przewracała bo nawet swapa zabrakło (system chyba 32bitowy byl).

W praktyce przy zrobieniu paru założeń takiego xml-a sie daje wczytać bez problemu ale jednak program sie robi nieco bardziej skomplikowany niż obsługa rekordu w pascalu :)

Ale i tak preferuje te tekstowe formaty. Troche z smutkiem obserwuje jak narzędzia sieciowe migrują w kierunku pomotanych formatów czy ogólnie pojetego szyfrowania. Nie będzie tak łatwo diagnozować co i dlaczego nie działa choć tu obok działa bardzo dobrze :(

Reply to
sczygiel

Użytkownik sczygiel napisał w wiadomości grup dyskusyjnych: snipped-for-privacy@googlegroups.com... W dniu czwartek, 13 lipca 2017 18:13:39 UTC+2 użytkownik Jarosław Sokołowski napisał:

Ale to w zasadzie nie na temat. Dumpy pamieci czy nie - jezyki programowania nie przewidywaly dolaczania danych binarnych.

DATA w basicu to ciagle tekst, DB czy DW w assemblerze to ciagle format tekstowy, w C tez tylko opis tekstowy byl mozliwy, i to ze sporym narzutem.

Byc moze w czasach gdy pamieci bylo 16 czy 64KB nie bylo to wielkim problemem - takie dane byly malutkie, nie bylo problemu zapisac bajt po bajcie :-)

Ale szyfrowanie w sieci jest konieczne :-(

J.

Reply to
J.F.

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.