15.07.2010 - Maciej Piróg
Część 1.
Część 2.
Część 3.
Część 4.
W czwartej części dopełnimy dzieła i dołożymy ostatnią cegłę brakującą do pełnego interpretera. Nadamy w końcu naszemu językowi kształt, czyli składnię konkretną.
|
13.07.2010 - Maciej Piróg
Część 1.
Część 2.
Część 3.
Część 4.
W trzeciej części cyklu stworzymy w końcu "dorosły" (choć bardzo prosty) język programowania przypominający język C oraz napiszemy samo serce interpretera, czyli klasy, które przechowują w pamięci oraz wykonują programy napisane w naszym języku.
|
11.07.2010 - Maciej Piróg
Część 1.
Część 2.
Część 3.
Część 4.
W drugiej części cyklu dotyczącego interpretera prostego języka programowania zajmiemy się parsowaniem, czyli przekształcaniem napisów reprezentujących wyrażenia w drzewa wyrażeń. Ponieważ umiemy już obliczać wartości wyrażeń przedstawionych jako drzewa, powstanie kalkulator (czyli interpreter języka wyrażeń arytmetycznych).
|
15.06.2010
Systemy cząsteczkowe są techniką pozwalającą na uzyskanie ciekawych efektów graficznych bez dużego nakładu pracy. Za ich pomocą realizowane są efekty, takie jak ogień, dym, deszcz czy śnieg. W tym artykule postaram się opowiedzieć, czym są systemy cząsteczkowe i pokazać realizację kilku efektów.
|
15.06.2010 - Krzysztof Dryś
Czy rachunek prawdopodobieństwa może się gdzieś przydać? Okazuje się, że tak - i to w pozornie odległej dziedzinie.
W tym artykule zobaczymy, jak wykorzystać rachunek prawdopodobieństwa do stworzenia algorytmu, który rozpoznaje części mowy.
Przekonajcie się, jak to możliwe, że te dwie rzeczy w ogóle mają coś wspólnego!
|
07.06.2010 - Filip Sieczkowski
W tym artykule opowiem nieco o zupełnie odmiennym od standardowego podejściu do tworzenia struktur danych ─ strukturach trwałych, a także przedstawię implementacje kilku najpopularniejszych struktur ─ stosów, drzew wyszukiwań binarnych i kolejek ─ w wersji trwałej.
|
10.05.2010 - Marcin Oczeretko
W tym artykule kończymy pisanie prostej gry w siatkówkę, rozpoczęte w części pierwszej.
|
10.05.2010 - Marcin Oczeretko
Wielu z nas myślało kiedyś o napisaniu własnej gry. Często jednak zapał mija podczas pracochłonnego pisania setek linijek kodu, aż w końcu wspaniały projekt umiera zapomniany. Korzystając z Microsoft XNA, możemy bardzo szybko stworzyć prostą grę i nie będzie to wymagało szczególnie dużego nakładu pracy. Jeśli tylko znasz podstawy języka C#, możesz jeszcze dziś zagrać w napisaną przez siebie grę!
|
26.04.2010 - Olgierd Humeńczuk
W poprzedniej części nauczyliśmy się jak tworzyć okno z przypiętym kontekstem Open GL, reagujące na podstawowe zdarzenia.
Umiemy także wyświetlić ( na razie za pomocą linii ) sześcian. W tej części zajmiemy się tematem światła w grafice czasu rzeczywistego
i m.in. nauczymy się korzystać z modelu, który oferuje biblioteka Open GL. Zapraszam do lektury.
|
26.04.2010 - Łukasz Milewski
Wyobraźmy sobie, że piszemy program albo sprawozdanie czy
książkę. Oczywiście cały czas zmieniamy wpisany tekst - poprawiamy
akapity, usuwamy i dodajemy funkcje, zmieniamy algorytmy i kolejność
rozdziałów. W tym wszystkim pomaga nam kolega - bardzo nam się
spieszy i przekonaliśmy go aby napisał za nas część pracy. W pewnym
momencie uświadamiamy sobie, że wczorajsza wersja danego rozdziału
była lepsza. Jednocześnie chcielibyśmy zachować jedno zdanie z
przedwczoraj. Dodatkowo nasz kolega właśnie przesłał swoją część i
domaga się aby szybko dołączyć ją do wyniku. Jak sobie z tym
poradzić? Zaraz poznamy rozwiązanie.
|
25.04.2010 - Łukasz Milewski
Najlepsze algorytmy to takie, które korzystają z
prostych idei i jednocześnie mają bardzo ciekawe
zastosowania. Niewątpliwie jednym z nich jest SeamCarving - algorytm opracowany w 2007
roku. Skaluje obrazy, biorąc pod uwagę ich
zawartość. Jednym z jego najbardziej praktycznych zastosowań jest usuwanie
obiektów ze zdjęć.
|
23.04.2010 - Olgierd Humeńczuk
Celem tego cyklu jest stworzenie gry komputerowej wzorowanej na pomyśle znanym z klasycznego już Arkanoid.
Postaramy się odmłodzić tę grę dodając jej jeden wymiar, dzięki czemu nie tylko zyska przydomek 3d ale pozwoli nam
się "pobawić" grafiką trójwymiarową. Grę będziemy pisać od podstaw w języku C++.
|
20.04.2010 - Krzysztof Dryś
Jak sprawić, by zdjęcia zajmowały mniej miejsca? Czy wszystkie kolory są równe? I jak wiedza zdobyta na biologii może przydać się w informatyce? Odpowiedzi na te wszystkie pytania znajdziecie w tym artykule!
|
20.04.2010 - Krzysztof Dryś
W tym artykule zajmiemy się szukaniem krawędzi na obrazach. Najpierw dowiemy
się, po co się to robi. Potem nauczymy się szukać krawędzi przy pomocy
komputerów. W tym celu posłużymy się takimi pojęciami jak: kwantyle, maksima
lokalne i pochodne. Okażą się one bowiem, zupełnie niespodziewanie,
bardzo przydatne w tym zagadnieniu.
|
17.03.2010 - Adam Błaszkiewicz
W poprzednim artykule utworzyliśmy proste okno w WinApi i wyrenderowaliśmy w nim oteksturowany trójkąt za pomocą Direct3D. Teraz, mając na celu zaprogramowanie trójwymiarowego labiryntu, zajmiemy się mniej technicznymi rzeczami i napiszemy kod bezpośrednio dotyczący samego labiryntu. Nie będziemy wykorzystywać praktycznie niczego nowego, wystarczy nam sama znajomość C++ i wiedza zdobyta podczas czytania poprzedniego artykułu.
|
15.03.2010 - Adam Błaszkiewicz
W tutorialu tym utworzymy labirynt 3D, używając DirectX. Będziemy mogli się w nim poruszać nie tylko w jednej płaszczyźnie, lecz także w górę i w dół - będzie to prawdziwie trójwymiarowy labirynt.
|
08.03.2010 - Krzysztof Kercz
Kontynuujemy nasze zmagania na drodze ku stworzeniu syntezatora mowy. Poprzednio opowiedzieliśmy o zamianie tekstu pisanego na ciąg fonemów i skończyliśmy na zaprojektowaniu algorytmu, który takiej zamiany dokonywał. Dziś osiągniemy kolejny stopień wtajemniczenia.
|
25.02.2010 - Agata Murawska
Czy zdarzyło Wam się kiedyś zakochać? Strasznie głupia sprawa, ale Alicja i Bob nie są pewni, co do siebie czują. Żadne z nich nie zdecyduje się powiedzieć drugiemu, że go (nie) kocha, póki nie usłyszy podobnej deklaracji od drugiej strony.
Sytuacja wydaje się bez wyjścia - póki któreś z nich nie "pęknie", będą trwali w zawieszeniu. Zawieszona Alicja nie jest w stanie programować, a Bob projektować protokołów kryptograficznych - trzeba więc coś zrobić, żeby pomóc nieszczęsnej parze.
|
23.02.2010 - Tomasz Górzny
W tym artykule prezentuję rozwiązania trzech zadań ze SPOJa. Wszystkie pochodzą
z (dość długiego) cyklu "Answer these queries" i (mimo dość podobnie
wyglądających sformułowań) wymagają połączenia kilku różnych, i to dość
nietrywialnych, pomysłów. Ze względu na zróżnicowany poziom trudności lekturę
polecam zarówno początkującym, jak i starym wyjadaczom.
|
19.02.2010 - Wiktor Janas

Każdy może czasem potrzebować k-tego elementu w n-wierzchołkowym drzewie. Przedstawimy kilka sposobów, mniej lub bardziej efektywnych, jak go znaleźć. Po drodze dowiemy się dlaczego STL wcale nie jest taki fajny, jak szukać mediany i że oszczędzanie połowy pracy na każdej operacji daje świetne efekty.
|