Skocz do zawartości

Aspect

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Wszystko napisane przez Aspect

  1. Aspect

    Blad

    Wrzuciłem na FTP specyfikacje większości modułów. Pozostałe dwa - dzis wieczorem - ewentualnie jutro rano. Wszelkie wątpliwości proszę kierować na GG.
  2. Aspect

    Blad

    Do Intola i Piasia: Zastanawiam się, czy dużo szybciej nie było by gdyby pixele bitmapy i czcionki były zapisane w tablicy bajtów, gdzie każdy rząd pixeli to byłby jeden bajt (czyli pixele od 1 do 8 były by zapisane w jednym bajcie, od 9 do 16 w drugim itd) wtedy porównywanie sprowadzało by się do operacji XOR na odpowiadających sobie rzędach i sprawdzenie ile w wyniku jest zer - taka jest zgodność rzędu czcionki z rzędem bitmapy. To by się dało w asemblerze zapisać i chyba byłoby szybsze. Mam nadzieję, że nie zamotałem.
  3. Ja myślałem, że już ustalone, że następne spotkanie jest w niedziele o 23:00. Jeżeli nie to niniejszym to ustalam. Co do gifów animowanych, to myślę, że raczej nei będziemy się bawili w robienie potem animowanych ascii artów. Po prostu będziemy przerabiali tylko pierwszą klatkę (albo środkową - zobaczymy). Konwersją filmów do ASCII artów, jak jeszcze będzie nam się chciało rozbudowywać ten projekt, zajmiemy się później. to jest jedna z możliwości konwersji. Zajmuję się nią ja właśnie. Tylko ten sposób jaki Ty napisałeś jest niesty bardzo wolny (brute force), dlatego ja chciałem to zrobić za pomocą sieci Kohonena (powinno być szybsze, ale teraz zaczynam mieć wątpliwości). To co napisałeś podsunęło mi jednak pewien pomysł na "robotę" dla Ciebie. Mógłbyś się zająć, wczytywaniem dowolnej czcionki (o stałej szerokości znaków) do, powiedzmy, bitmapy w pamięci (wszystkie literki po kolei w bitmapie, mającej wysokość taką jak literka i szerokość jak łączna szerokość wszystkich literek). Napiszcie, czy sądzicie, że coś takiego się przyda. I jeszcze odrobinke odnośnie interfejsu między modułami. Między modułami, głownie, będzie przesyłany uchwyt do bitmapy. Twórców modułów, które te uchwyty otrzymują, nie obchodzi skąd te uchwyty będą (w programie testującym mogą sobie wczytać bitampkę z pliku, z zasobów, stworzyć w pamięci własną i na niej narysować - jak sobie chcą - jak ktoś potrzebuje botmape monochromatyczną to niech sobie odpowiednią zrobi). Wstępny obraz tego jak będzie wyglądała "wędrówka" danych między modułami przedstawia się następująco: moduły wczytujące wczytują plik graficzny, tworzą w pamięci bitmapę i przekazują uchwyt do niej dalej moduły modyfikujące modyfikują bitmapę z otrzymanego uchwytu i przekazują uchwyt dalej (możan też przyjąć, że po prostu modyfikują tę bitmapę i nie przekazują uchwytu, bo ten uchwyt istneije sobie w programie) moduły konwertujące konwertują bitmapkę z otrzymanego uchwytu do ciągu znaków Coraz bardziej obawiam się, że nei zdąże tego wszystkiego zaprojektować do jutra wieczorem (zwłaszcza, że wychodzę jutro o 12:00 i wracam 22:30 :) ), więc może urządzimy jeszcze jedno spotkanko w poniedziałek o 23:00?
  4. Ogłaszam wszem i wobec: Konwersję obrazka do odcieni szarości robi pinolec. Na GUI zgodził się Piasiu, więć Intolowi pozostało wymyślenie sobie jakiejś pracy :). Jeżeli nic nie uda Ci się wymyślić to dostaniesz wczytywanie pcxów i pngów, a może nawet i ikonek. Mam nadzieję, że nie obrazicie się również, jak najpierw wszystko wymyślę i ustalę (zaprojektuję ;-) ), a dopiero potem zajmę się pisaniem mojego modułu (co wiąże się z tym, że powstanie on długo długo po skończeniu Waszych modułów), a nie będę robić, jak planowałem, wszystkiego na raz. Postaram się do niedzieli wieczór (ewnentualnie do poniedziałku) napisać wam wszystkim dokładne specyfikacje wszystkiego ;-) i w ogole skończyć projektować. Ps. Cieszę się, że niektórzy z Was już zaczeli, a inni juz nawet skończyli pisać swoje moduły - to sie nazywa duch walki. :)
  5. Aspect

    Moduły

    Twardy mi właśnie uświadomił jak bardzo złe jest przechowywanie obrazków w kontekstach - jeżeli nie sprawi Wam to różnicy, to może trzymajmy te obrazki w pamięci jako bitampy i przekazujmy uchwyty do nich HBITMAP. Napiszcie z resztą jak wam najwygodniej - moze tablica jakaś?
  6. Aspect

    Problem z odczytem Edita

    Wczytaj tekst z edita jako normalny łańcuch znaków, a potem zamień ten łańcuch na double funkcją strtod().
  7. Aspect

    Moduły

    Nie no, właśnie dla Was jeszcze niczego nie przydzieliliśmy. Mieliście się zastanowić (wszyscy), który z wyżej wymienionych modułów wam odpowiada i napisać o tym wczoraj. Na razie przydziały są następujące: Twardy - moduł wczytujący jpegi pawlos - moduł wczytujący gify Nicon - moduł wykonujący skalowanie, obroty i odbicia obrazków pinolec - moduł zmieniający jasność, kontrast, itp obrazka DRACULA - moduł konwertujący obrazek do ASCII na postawie jasności ja - moduł wykonujący konwersję na podstawie kształtu Pozostała jeszcze sprawa tzw "programu zbiorczego" + GUI - to jest dużo roboty raczej, żmudnej i mało ciekawej chyba (ale ktoś to musi zrobić). To musi być jeden moduł, bo tego za bardzo nie da się rozdzielić. Do tego modułu widziałbym Piasia (ale jeżeli Intol chciałby to zrobić, to też nie mam nic przeciwko), ale jeżeli on się nie zgodzi (wolałby coś bardziej ambitnego), to możemy to zrobić jakoś razem, albo ja to złoże do kupy w wolnym czasie. Innymi propozycjami dla Piasia i Intola są: zajęcie się wczytywaniem jakiegoś innego popularnego formatu plików graficznych (png, pcx, tga, wmf, może jakiś wektorowych) zajęcie się wymyśloną (autorską) metoda konwersji obrazka do ASCII (tych metod w sumie nigdy za wiele, więc nie będzie żle jak się wszyscy nad nimi zastanowimy) może uda się wam wymyślić jeszcze cośco uważacie, że powinno znaleźć się w takim programie - liczę na waszą pomoc i zaangażowanie ;-) Jeżeli nie chcecie sami wybrać (tak też się może zdarzyć), to ja już wam coś odpowiedniego przydzielę.
  8. Aspect

    Moduły

    Myślę, że nie ma się nad czym zastanawiać. Zarejestruj ten kanał, Piasiu, i dzis sie spotykamy. [dopisano] Trzeci guzik od lewej pod moim postem ;). Własnie sprawdziłem jak wygląda wysyłanie maili za pośrednictwem forum. Nie da się wysyłać załączników :(. Mój adres email to marcinbialas@o2.pl. Przepraszam za zamieszanie. [/dopisano]
  9. Aspect

    Moduły

    Proponuję serwer: Gadu-Gadu, kanał: konferencja ;-). Ja się na IRCu nie znam zupełnie. Przedwczoraj zainstalowałem mIRCa. Według mnie DUŻO wygodniejsze jest GG (czasem serwer pada, co prawda, ale i tak lubie gadu). Z logiem rozmowy, również nie będzie wtedy problemu. Jeżeli jednak wolicie IRCa, to się dostosuję (nauczę się obsługi mIRCa - cinszka praca ;-) ). To chyba nicon lub Piasiu zaproponował IRCa, więc chyba Oni są najbardziej w tym obyci, niech więc któryś z Nich zaproponuje serwer. Dobra - wstępnie umawiamy się na jutro, na 23:00 (tylko ustalmy gdzie jeszcze ;-) ), jak będzie mała frekwencja, to przełożymy na niedzielę. Ale postarajmy się już coś zacząć działać, bo mi się ferie skonczą niedługo.
  10. Aspect

    Moduły

    Trzeci guzik od lewej pod moim postem ;).
  11. Aspect

    Moduły

    Tym modułem ( nic nie mówiąc nikomu ;-) ) ja się chciałem zająć. Myślałem, żeby to zrobić za pomocą sieci Kohonena (nie wiem czy mi się uda to zaimplementować - jak na razie miałem z tego tylko wykład), ewentualnie (w ostateczności) metoda "brute force", czyli porównywanie każdego pixela fragmentu obrazka z odpowiadającym pixelem znaku ascii, a potem wybranie najlepszego dopasowania (jak widać strasznie wooooolna metoda). Jeszcze nad tym pomyślę. Spotkanie, rozumiem, odbędzie się tak jak napisał DRACULA? Tak sobie myślę, że jak to ma być o 23:00 to może byśmy się wcześniej spotkali (jutro na przykład). Napiszcze czy wam pasuje czwartek 12.02.2004 g 23:00. Piasiu, napisałeś kiedyś, że wyrobiłeś sobie własny styl wyglądu aplikacji. Wyślij tu, proszę, jeżeli nie masz nic przeciwko temu, jakąś próbkę tego stylu (np. screenshot jednej ze swoich aplikacji). Jeszcze jedna sprawa: czy rezygnujemy z obsługi wszystkich formatów oprócz bmp, czy też olewamy tylko jpg (i może zamiast niego staramy się obsłużyć inne, prostsze - png, pcx)?
  12. Aspect

    Moduły

    No może rzeczywiście z wczytywania jpgów zrezygnujemy. W sumie dałem to po to tylko, żeby wszyscy mieli jakąś robotę. W takim razie będziemy musieli się zastanowić nad dodatkowymi sposobami przekształcenia - no jeszcze pomyślę nad tym. Mi sobota 21:00 nie pasuje niestety. Jeżeli w sobotę wieczorem będę w ogóle w domu to dopiero po 22:30. Jestem w dni powszednie do 15:00 i po 22:30. Ale spoko mozecie się spotkać i ustalić wszystko beze mnie, albo ja dojde po tej 22:30. Ja do tej soboty postaram się napisaćWam wszystko co myślę na temat tego projektu, a potem się dostosuję do tego co ustalicie. Wydaje mi się, że możemy już zamknąć grupę (nikt od dłuższego czasu się nie zgłasza) i uniewidocznić forum dotyczące projektu.
  13. Aspect

    Moduły

    Wstępnie (w wannie) wymyśliłem podział na następujące moduły: Moduł wczytujący do pamięci (jako DC) "dowolny" plik graficzny. Stwierdziłem, że nie ma sensu kożystać z gotowych biblotek - napiszemy własne, które przydadzą się nie tylko przy tym projekcie (a może nawet przydadzą się nie tylko nam). Ten moduł najprawdopodobniej (na pewno ;-) ) podzielimy na podmoduły, każdy zajmujący się osobnym typem pliku. Na razie myślę, że ograniczymy się na razie do *.jpg i *.gif (wczytanie bitmapy obsługuje już samo API. Moduł wykonujący "operacje" na kontekstach. Ten też podzielimy na podmoduły: skalowanie, obroty (o 90, 180, 270 stopni - banalne, o dowolny kąt - wymyśliłem już algorytm), lustrzane odbicia, itp... - żeby można było optymalnie ustawić obrazek wszelkie manipulacje jasnością, kontrastem i kolorem Ten moduł też będzie mógł byćwykorzystany nie tylko przez nas. Moduł "własciwy" zamiana obrazka (w DC) na ciąg znaków. Tu możemy się zastanowić nad kilkoma sposobami konwersji (każdy sposób dla jednego programisty), np.: biorący pod uwagę jasność poszczególnych częsci obrazka uwzględniający kształt poszczególnych części Interfejs użytkownika oraz główny program. To będzie tak zbiorcza część, która używa poszczególne moduły. To też niby mozna rozdzielić. Napiszcie co o tym myślicie. Zastanówcie się też co byście chcieli robić.
  14. Przepraszam za trzeci z kolei post jeden po drugim. Dev Cpp ma bardzo małe wymagania. Chodzi znośnie na p75 z 16MB ramu. Z resztą jak jeszcze miałem tylko stary komp (p75) to na nim pisałem również w Visual Studio 6.0 - to jest tylko kwestia przyzwyczajenia do prędkości.
  15. Chodziło mi oczywiście o notacje węgierską. To "-prefiksową" dodałem dla tych, którzy nie wiedzą, co to jest notacja węgierska (liczyłem, że razem z dalszymi przykładami da im to ogólny obraz). Niestety, teraz jak to czytam, to wyszło zupełnie inaczej niżchciałem i zamiast wyjaśnić - zaciemniłem. Przeciez ASCII-arty zawsze tworzy sie czionkami które mają nie zmienna szerokość więc wogole niewidze tutaj problemu... Napisałem tak dlatego, że kiedyś widziałem ładny art w Wordzie i myślałem, że był jakimś Arialem albo czymś. Okazało się jednak, że był zrobiony czcionką Courier New. Zdaję sobie sprawę, że na mnie spada ten obowiązek. Dlatego też jak najszybciej postaram się to zrobić. Jednak do środy jeszcze mam sesję i mój czas jest odrobinkę ograniczony. Jutro ostatecznie ustalimy szczegóły i od środy zajmę się projektowaniem tego wszystkiego.
  16. Ja także uważam, że na 8 członków grupy, 3 osoby zarządzające projektem to nadmiar biurokracji, ale obawiam się, że sam się z czasem nie wyrobię. Dlatego też mam prośbę do pawlosa (przepraszam, że nie na priv), żeby zgodził się być drugim moderatorem (albo choćby zastępował mnie "w chwilach mojej słabości" ;), ale tak serio to, liczę na to, że raczej obaj będziemy na równi w prawach i obowiązkach).
  17. Witajcie! Nie orientuję się dokładnie jak to jest z licencjami, ale używanie określonych kompilatorów/środowisk pociąga za sobą sposób, że tak to nazwę, rozpowszechniania programu. Czyli, jeżeli jakieś środowisko jest rozpowszechniane na zasadzie Open Source (np Dev Cpp), to na 100% programy w nim pisane także muszą byc Open Source. Wydaje mi się, że ten problem rożwiążemy w sposób następujący - każdy będzie pisał w czym będzie chciał :) (ale ze mnie dobry wujek ;) ), ale według ściśle ustalonych reguł, a ja to potem wszystko połączę. NAJPIERW napiszemy projekt, a POTEM się zdecydujemy czy będzie to OpenSource czy Freeware Projekt będzie podzielony na moduły (w jak najkrótszym czasie, jak już wszystko przemyślimy, dojdziemy do konsensusów, i dowiem się, czy zdałem ten zasrany egzamin ze sztucznej inteligencji, postaram się to zrobić ja, z niewielką (albo może i więlką) pomocą jednego z Was - ale o tym w innym temacie ;) ) Do każdego modułu przydzielę jedną (najchętniej, bo programiści to urodzeni indywidualiści ;) ) lub dwie osoby Moduł to będzie jeden (na razie ;) ) plik nagłówkowy *.h z interfejsem modułu oraz plik *.cpp z treścią wszystkich funkcji (najprawdopodobniej rozwiążemy to obiektowo, ale może okazać się, że w tak prostym projekcie nie trzeba) Do każdego takiego "modułu" dorobicie sobie osobny pliczek który będzie programem sprawdzającym działanie waszej części projektu (żebyście czasem nie pisali w ciemno :) ) Przyjmiemy sobie odpowiednią notację w nazywaniu zmiennych i funkcji (żeby każdy członek grupy łatwo mógł się zorientować w kodzie każdego z modułów, a także w przypadku gdyby to miał być OpenSource). Myślę, że najlepszą będzie notacja węgierska-prefiksowa (int - n, float - fl, napis - sz) , gdyż chyba większość z Was jej tu używa (może nawet nieświadomie ;) ). Nazwy funkcji zmiennych proponowałbym po angielsku (w razie tego OpenSource) - ale to też jest jeszcze do dyskusji. Co do tego co będziemy pisać. Myślę, że możemy napisać wszystkie te programy, które wymieniliście (ale nie na raz oczywiście - po kolei). Ja też sobie wymyśliłem, że moglibyśmy napisać program wykreślający wykresy funkcji, ale na początek chciałbym, żebyśmy wzieli jakąś mało skomplikowaną rzecz, żeby sprawdzić, czy nasza wspólpraca wypali (może się okazać, że, mimo szczerych chęci, jesteśmy zbyt wielkimi indywidualistami). W związku z tym "zarządzam", że na początek zajmiemy się programem do zamiany obrazków na ASCII-Arty. Jeżeli ktoś nie będzie się chciał zajmować tym projektem, może poczekać, aż będziemy robić coś, co mu się będzie podobało. Na pewno nie będzie tak, że jak ktoś teraz się nie zdecyduje, to potem nie będzie miał szansy. Co do szczegółów. Myślę, że do tego projektu nie będą potrzebne jakieś skomlikowane algorytmy, blending, przejścia z jednego obrazka w drugi. Uważam, że powinniśmy się zająć skalowaniem, obrotami, wyostrzaniem, przekzatałcaniem kolorowego obrazka w czarno-biały, itp., bo to w takiej aplikacji ma sens. Ja na razie "wymyśliłem" 2 sposoby przekształcania: podział obrazka na prostokąty, wyznaczenie ich jasności, i przypisanie odpowiednich znaków ASCII (to co pawlos mówił) podział na prostokąty, zamiana każdego na czarno-biały, a potem rozpoznanie jego kształtu i na tej podstawia przypisanei im znaków ASCII (to już ja mogę zrobić ;) ) Do zastanowienia, oprócz obsługi różnych formatów grafiki, jest również obsługa różnych formatów czcionek (nie wiem jak będzie z czcionkami o zmiennej szerokości znaków) To na razie na tyle (i tak już jest tego strasznei dużo). Jak mi się coś przypomni to napiszę.
  18. Jak widać, jeszcze na chwilkę do Was wróciłem. :D Cieszę się, że częscie z Was spodobał się pomysł z ASCII-Artami :). Jasne, można to zrobić w ten sposób, że się skorzysta z gotowych bibliotek do wczytywania różnych typów obrazków i innych podobnych rzeczy - i wtedy to będzie program dla jednej osoby (ale nawet mimo to nadaje się jako projekt "na rozgrzewkę" - jest sprawa interfejsu, algorytmów zamiany, zapis do pliku, itp... - takie proste moduliki, żeby grupa się dotarła i zeby zorientować się jakie kto ma możliwości, w czym jest najlepszy). Można również pobawićsię najpierw w stworzenie ogólnego API do obsługi różnego rodzaju grafiki i to potem wykorzystać w programie - to już będzie poważny i skomplikowany projekt. I jeszcze jedno. Przejrzałem wszystkie tematy odnośnie projektu i dodałem do grupy wszystkie osoby, które zgłosiły chęć należenia w postach (całe dwie osoby pawlos i Twardy :) ). Myślę, że jakoś pokonamy bariery językowe   . Zastanowimy się wspólnie nad tym jak już ogólny zarys projektu się wyłoni. Pracy dla nikogo nie zabraknie ;-). Do usłyszenia w poniedziałek!
  19. Zapewne w obsłudze kliknięcia myszą wywołujesz jakąś funkcjęodmalowującą okno, bo nie wydaje mi się, żeby okno odmalowywało się samoistnie po naciśnięciu klawisa myszy. Najlepiej wklej tutaj ten kawałek kodu w którym obsługujesz ten komunikat - wtedy będzie można powiedzieć coś więcej.
  20. Ponieważ zostalem moderatorem tej grupy (bez głosowania? ) chęć należenia do grupy należy zgłaszać do mnie na priva (podejrzewam, że do Pinolca też można). Wystarczy jak w treści/temacie wiadomości napiszecie subscribe - to ja juz zrozumeim o co chodzi - nie musicie pisać wypracowań. Nie chcialbym tez, zeby w grupie znalazl sie ktos wbrew swojej woli - dlatego wpisuje członków na wyraźne żądanie z ich strony. Mam nadzieję, że pawlos w niedługim czasie sie do mnie zgłosi :). Chciałbym jeszcze żebyście wybrali jakąś dodatkową osobę do zarządzania projektem, bo obawiam się, że jedna może nie mieć tyle czasu, może mieć przerwę w dostępie do kompa i netu (ja na przykład dziś wyjezdzam i bede w poniedzialek dopiero), a wtedy projekt stanie w martwym punkcie. Co do formy projektu jeszcze, to od razu chciałbym sprowadzić na ziemię osoby które liczą już kokosy zarobione na naszym projekcie: jeżeli ktokolwiek by chciał kupić nasz program to po pierwsze nie za 5000 ;-), a po drugie, myślę, że nie było by takich osób więcej niż 100. Nie wiem jak Wam, ale mi wystarczy sama satysfakcja, z tego że ktoś zechce używać programu który napiszemy (a wprowadzanei opłat tylko zniechęci potencjalnych użytkowników). Dlatego uważam, że najlepszym wyjściem jest OpenSource ewentualnie FreeWare. Też uważam, że na początek powinniśmy się zająć jakimś mniejszym projektem - zeby lepiej poznać swoje umiejętności, "smak pracy w grupie" ;-). Ja chciałem kiedyś sobie zrobić program, który zamienia obrazki w ASCII-Arty - więc może to na początek (to taka propozycja na wesoło :D ) Ps. Pomyślcie sobie nad tym wszystkim, powymyślajcie jakieśprzykładowe małe projekty do ewentualnej ankiety dla internautów. Ja będę w poniedziałek. Do usłyszenia!
  21. Mi tez podoba sie pomysl Intola - trzeba sie jednak zastanowić co to by mogło być . Jeżeli to nam się nie uda, to ja bym był najbardziej za IDE do jakiegoś kompilatorka. Co do środowiska to proponowałbym raczej coś darmowego (Dev na przykład - bardzo dobre moim zadniem). Ja nie wiem jak to jest ze strony prawnej, ani jak ktos moze sprawdzic na czym program był pisany, ale glupio by było, gdyby okazało się, że wyszło nam coś naprawdę fajnego, ale nie możemy tego opublikować (ja cały czas jestem za publikacją tego za darmo), ponieważ było tworzone na nielegalnych środowiskach. Rozwiązaniem mogło by być skompilowanie tego wszystkiego u mnie (tylko musiałbym w koncu pójść do sekretariatu i poprosić o licencję do mojego Visuala).
  22. Ja za tym FTPem za bardzo nei obstaję, ale wydaje mi się, że to coś więcej niż zabawa w winsocka. W moim mniemaniu byłby to menager plików (cos jak TC ;-) ) rozbudowany o możliwości łączenia się z serwerami FTP (też coś jak TC :D ). A, to już trzeba demokratycznei wybrać przez głosowanie. 8)
  23. Moje propozycje umieściłem niestety jeszcze w starym wątku, gdyż tego jeszcze wtedy nie było :?. Może jakiś moderator byłby tak miły i to przeniósł tutaj ;-).
×
×
  • Utwórz nowe...