Projekty
Efekt 3D w Modelowaniu Przestrzennym PDF Drukuj Email
Wpisany przez Administrator   
sobota, 16 października 2010 19:20

Wstępne pomysły dotyczące tego projektu.

Plan działania

  1. Określenie środowiska pracy
  2. Etapy pracy

Określenie środowiska pracy

Ze względu na to że koło ma propagować otwarte standardy trzeba stosować otwarte systemy.
Do wyboru mamy FreeBSD lub Linuxa. Według mnie lepszym rozwiązaniem będzie Linux.
Jako język programowania proponuję C/C++.
Jeszcze zostaje wybranie gry na którą później będziemy pracowali.


cmaster: Ja bym się skupił żeby najpierw zrobić silnik graficzny umożliwiający "nasze" efekty… Chyba że myślimy o przerabianiu gotowej gry (!). Innymi słowy ja bym na początek zrobił proste demo z wszechobecnym imbryczkiem w roli głównej…
nerull7: Jedyne co jest do przerobienia w grze to ustawienie kamery użytkownika. Głównie chodzi mi o napisanie algorytmu obsługi tej kamery.


Etapy pracy

  1. Dyskusja nt. projektu
  2. Uzgodnienie ostatecznego kształtu projektu
  3. Pisanie kodu rozpoznawania twarzy oraz jej przybliżonej pozycji w przestrzeni
  4. Implementacja kodu w grze
 
Spotkanie 1 PDF Drukuj Email
Wpisany przez Administrator   
sobota, 16 października 2010 19:18

Wybrany system kontroli wersji:

Wybrana metodyka

Wymagania funkcjonalne wersji 0.0.1

  • widok główny zawiera domyślnie 4 okna:
    • okno kodu - okno, w którym użytkownik może wprowadzić kod asemblera, zawiera menu (przyciski):
      • uruchom
      • uruchom ze śledzeniem instrukcji
      • wykonaj następną instrukcję
      • przerwij program
      • wznów program
      • zakończ program
    • okno pamięci - pokazuje stan pamięci
    • okno rejestrów - pokazuje stan rejestrów
    • okno schematu - pokazuje predefiniowany schemat mikrokontrolera
  • użytkownik może ukryć/pokazać każde z okien
  • użytkownik może kazać programowi wykonanie wprowadzonego kodu asemblera (wybiera opcję "uruchom", "uruchom ze śledzeniem instrukcji" lub "wykonaj następną instrukcję")
    • program wykonuje kod wprowadzony w oknie kodu zmieniając stan pamięci, rejestrów i wyjścia
  • użytkownik może na bieżąco śledzić w oknie kodu wykonywane instrukcje (wybiera opcję "uruchom ze śledzeniem instrukcji", przydałoby się opóźnić "skok" do następnej instrukcji, by animacja była płynna)
  • użytkownik może zatrzymać działanie programu w dowolnej chwili (wybiera opcję "przerwij program") a następnie wznowić jego działanie z tego samego momentu (wybiera opcję "wznów program")
  • użytkownik może zakończyć działanie programu w dowolnej chwili (wybiera opcję "zakończ program")
  • użytkownik może wykonać jedną, następną instrukcję (wybiera opcję "wykonaj następną instrukcję")
  • program powinien być kompatybilny z rzeczywistym procesorem (wprowadzony kod powinien działać tak samo w naszym emulatorze, w RIDE i na rzeczywistym procesorze)

Jak to zrobimy (i w jakiej kolejności ;))?

  • stworzymy najpierw emulator procesora 8051 (moduł czytający z pamięci kolejne opkody i wykonujący operacje na pamięci, rejestrach itd.)
  • kod asemblera będzie tłumaczony na kod maszynowy (asemblacja) i umieszczany w pamięci
  • zaprojektujemy GUI używając odpowiedniej biblioteki (np. jQuery UI): okienka kodu, pamięci i rejestrów.
  • początki interfejsu do tworzenia układów (flash)

Oczywiście zanim przystąpimy do pisania właściwego kodu będziemy, zgodnie z TDD, pisać odpowiednie testy (może potem wrzuci się tu linka z jakimś artykułem o dobrych i złych praktykach pisania testów w TDD).

 
Specyfikacja implementacyjna PDF Drukuj Email
Wpisany przez Administrator   
sobota, 16 października 2010 19:16

Specyfikacja implementacyjna

spt.png
  • oparty na systemie operacyjnym Linux
  • 2 niezależne procesy (wyświetlanie i zarządzanie) klienta:
    • wyświetlanie - własny lub przerobiony WM pod X11
    • zarządzanie - demon pracujący w tle

Wybór sprzętu i języka programowania

Po stworzeniu prototypu, można przejść do realizacji systemu na Wydziale (ekran + sprzęt). W tym celu musimy wybrać sprzętu i zdecydować się na język programowania. Sprzęt będzie nam ograniczał dostępne języki i odwrotnie. Musimy także uwzględnić całkowity koszt obranego rozwiązania, a także wziąć pod uwagę koszty eksploatacyjne.

Dobrze by było wybrać kilka języków programowania najlepiej nadających się do naszego projektu i pod ich kątem przeglądać możliwe rozwiązania sprzętowe. Z uwagi na charakter koła chcielibyśmy też aby sprzęt był w miarę "otwarty" - dobra dokumentacja, swobodna możliwość "hackowania".

 
Spotkanie 1 PDF Drukuj Email
Wpisany przez Administrator   
sobota, 16 października 2010 19:11

Wreszcie udało się ruszyć z miejsca. Pierwsze spotkanie projektu o kryptonimie "google killer" jest już za nami. 5 sierpnia 2010 spotkaliśmy się w czteroosobowym gronie w sali GE229. Wciąż gęsta mgła dookoła, ale wydaje się, że przynajmniej wiemy na czym stoimy.

Zaczęliśmy od lekkiego wprowadzenia w technologie P2P, a dokładniej DHT. W szczególności skupiliśmy się na protokole Kademlia i wydaje się, że wiemy już zgrubsza jak on działa. Kademlia jest najpopularniejszą implementacją DHT, chcemy spróbować wykorzystać ją w naszym projekcie.

Zastanawialiśmy się, czy dałoby się uruchomić węzeł DHT bez instalowania czegokolwiek na komputerze. Niestety wygląda na to, że odpowiedź jest negatywna. Jeśli trzeba coś instalować, to czy ma to być wtyczka do przeglądarki?, czy też jakiś rodzaj samodzielnej aplikacji? Wydaje się, że pisanie wtyczki jest gorszym rozwiązaniem, bo jest mniej uniwersalne.

Na koniec rozdzieliliśmy się zadaniami: Łukasz Makowski ma przetestować Pythonowe biblioteki do Cademlii, Mateusz Kamola i Piotr Frankowski mają potestować inne sieci oparte o Cademlie, a piszący te słowa Bartosz Sawicki pomyśli nad rozproszonym uwierzytelnianiem autorów treści przechowywanej w systemie.

Ustaliliśmy, że następne spotkanie odbędzie się pod koniec sierpnia.

 
0xff: Coroczne wydarzenia PDF Drukuj Email
Wpisany przez Administrator   
sobota, 16 października 2010 19:03

Coroczne wydarzenia:

Trzecia sobota września - Software Freedom Day

Co roku trzecia sobota września to Software Freedom Day.

Propozycja jest taka, aby Koło w ten dzień zaznaczało swoje istnienie jakoś szczególnie. Na przykład:

  • konkurs dotyczący FLOSS dla uczniów szkół średnich
  • jednodniowy kurs komputerowy dla seniorów

Uzyskanie dofinansowania na tegoroczną imprezę może się nie udać, ale w 2011 Linux będzie obchodził 20 urodziny…

cmaster: Ja jestem za :)

 

17 maja - Światowy Dzień Społeczeństwa Informacyjnego

Poprawiony: sobota, 16 października 2010 19:05
 
<< pierwsza < poprzednia 1 2 3 4 5 następna > ostatnia >>

Strona 1 z 5
Copyright © 2010 – Template by KOTIK on the GPLv3 license. Wróć na górę