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.
- Robin J. Wilson: „Wprowadzenie do teorii grafów”, PWN 2007
- Kenneth A. Ross, Charles R. B. Wright: „Matematyka dyskretna”, PWN 1996
- 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.
- Algorytmy i Struktury Danych
- Wikipedia PL/EN
- Wykłady z matematyki dyskretnej
- Wolfram MathWorld
- 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.