O autorze

Nazywam się Jakub Tarkowski, mam 16 lat i jestem uczniem pierwszej klasy Liceum Ogólnokształcącego im. Mikołaja Reja w Kraśniku o profilu matematyczno-fizycznym. Interesuję się głównie programowaniem i matematyką. W wolnych chwilach zajmuję się tworzeniem aplikacji na platformy mobilne oraz programów desktopowych, głównie w językach C# i JavaScript.

Inforamcje

Głównym celem tego projektu jest zapoznanie czytelnika z nowym działem matematyki opisanym za pomocą języka relacji, oraz zachęcanie do dalszego poznawania młodych lub jeszcze nieodkrytych tajemnic tej dziedziny. Bogata oprawa wizualna strony pozwala w przyjemny i ciekawy sposób poszerzać wiedzę z zakresu teorii grafów. Szczególnym atutem tej strony są czytelne przezentacje, zawierające ogromną ilość przykładów. Każdy graf został osobno zaprojektowany tak, aby każdy użytkownik mógł w pełni zrozumieć zagadnienia.

W celu uruchomienia strony zalecane jest użycie najnowszych przeglądarek, takich jak Google Chrome lub Opera. Niestety niektóre wersje Mozilli Firefox i Internet Explorer nie najlepiej radzą sobie z witryną. Oprócz tego wymagane jest połączenie z intrnetem w celu wczytania bibliotek oraz niektórych czcionek.

Strona została napisana w językach: HTML5, PHP, CSS3 i JavaScript. CSS został w większości przypadków skompilowany z plików preprocesora Sass języka CSS. Paczka edytora Atom - "line-count" - zliczająca wszystie linie kodu na koniec dała następujące wyniki które zostały przybliżyłem do bardziej wiarygodnych wartości:

JavaScript ~15000
HTML ~6200
PHP ~2100
CSS/Sass ~1800
Razem ~26100

Bibliografia

Podczas zdobywania niezbędnych informacji korzystałem z poniżej wymienionej literatury.

  1. Robin J. Wilson: „Wprowadzenie do teorii grafów”, PWN 2007
  2. Kenneth A. Ross, Charles R. B. Wright: „Matematyka dyskretna”, PWN 1996
  3. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein: „Wprowadzenie do algorytmów”, PWN 2012

Wiadomości uzupełniające czerpałem ze źródeł internetowych.

  1. Algorytmy i Struktury Danych
  2. Wikipedia PL/EN
  3. Wykłady z matematyki dyskretnej
  4. Wolfram MathWorld
  5. Serwis Akademicki dr Adriana Horzyka

Wykorzystane technologie

Biblioteki i pluginy:

  • D3.js - potężna biblioteka graficzna służąca do manipulacji obiekatami modelu dokumentu strony na podstawie danych.
  • jQuery - ogromna biblioteka ułatwiająca poszuszanie się po modelu DOM za pomocą selektorów CSS, a następnie wykonywanie dowolnych zadań na wybranych elementach.
  • Three.js - biblioteka graficzna ułatwiająca pracę w 3D oparta na technologii WebGL
  • MathJax - biblioteka JavaScript stworzona do wyświetlania stylizowanych wzorów matematycznych $\LaTeX$'u'.
  • jQuery.scrollTo - mały plugin jQuery pozwalający na tworzenie anmacji scrollowania.
  • Dijkstras.js - zaimplementowany w języku JavaScript algorytm Dijkstry (na potrzeby strony został w pewnym stopniu zmodyfikowany).
  • Sass - preprocesor języka CSS, pozwalający na znacznie szybszą i wydajniejszą pracę nad wyglądem strony.

Grafika i oprogramowanie:

  • Atom - open source'owy edytor tekstowy stworzony przez serwis GitHub.
  • Fontello - zestaw webfont'ów wykorzystywanych na stronach internetowych.
  • Google Fonts - strona zawierająca szeroki wybór czcionek.
  • Inkscape - program graficzny operujący na plikach SVG.
  • Koala - aplikacja służąca do kompilowania języków Less, Sass, Compass i CoffeScript.
  • Xampp - dystrybucja serwera lokalnego Apache.