Opis symulatora
- Podstawowe założenia.
- Uniwersalna struktura danych i algorytmów, pozwalająca na stworzenie:
- przeglądarki układów torowych
- edytora tras i układów torowych
- optymalnego renderingu 3D
- symulatora jazdy pociągiem
- symulatora nastawni
- CAD dla makiet kolejowych
- symulatora ekonomiki transportu (stąd nazwa - jest to projekt docelowy).
- Świat symulowany jest poprzez hybrydową strukturę:
- rzeba terenu itp. parametry geograficzne odwzorowane są poprzez macierz, której elementami są 3 bity
- na tej siatce osadzone są obiekty wektorowe, takie jak tory, drogi, rzeki, oraz modele 3D takie jak budynki, pojazdy itp.
- Wymiar bazowej kratki wynosi 100x100m, pierwszy bit określa wysokość jednego z rogów kratki (rzeźba terenu w danej kratce
tworzona jest przez 4 trójkąty równoramienne, których wierzchołki są w środku kratki na wysokości będącej średnią z wysokości czterech rogów).
- Nasypy, wykopy itp. ostre formy terenowe nie są bezpośrednio definiowane, wynikają one z algorytmu obliczającego, czy dany obiekt wektorowy
leży nad, czy pod powierzchnią kratki (za wyjątkiem sytuacji, gdy z tym obiektem związany jest jakiś obiekt 3D, np. inżynierski).
Oczywiście obiekt wektorowy może być wirtualny, można w ten sposób odwzorowywać żleby, kopce itp.
- W celu rozsądnej gospodarki pamięcią, kratki przechowywane są w macierzach o wymiarze 100x100, czyli w klastrach o rozmiarze 10x10km.
- Sieć komunikacyjna jest reprezentowana przez hierarchiczną strukturę: linie komunikacyjne, składające się z punktów eksploatacyjnych połączonych odcinkami,
odcinki składają się z elementów wektorowych połączonych szeregowo.
- Podsumowywując, potrzebujemy dwa zestawy plików: bitmapy opisujące teren, oraz plik tekstowy opisujący obiekty wektorowe.
DONE
- Zostały stworzone podstawowe struktury danych i niektóre procedury. Prototypy stworzono w Pascalu dla większej przejrzystości. Źródła do wglądu dla zainteresowanych osób.
- Zrobiono testowy programik do oglądania obiektów wektorowych na płaszczyźnie X-Y (2D).
- Zrobiono testowy programik j/w ale w wersji dla M$-Windows.
DOWNLOAD
TO DO
- Dokończenie podstawowych struktur wektorowych.
- Program wyświetlający statyczne struktury wektorowe (wireframe w zasadzie jest, tylko poprawić i uzupełnić)
- Program wyświetlający dynamiczne struktury wektorowe (kontekstowe sterowanie myszą urządzeń, np. zwrotnic)
- Program pozwalający na sterowanie pojazdem. Ten i powyższe programy w rzucie 2D.
- Edytor układów torowych.
- Plugin do przeglądarki WWW wyświetlający statyczne struktury wektorowe.
- Program wyświetlający poziomice, korzystający z danych bitmapowych (siatka wysokości).
- Program, wyświetlający struktury wektorowe na tle bitmapowych (test algorytmów dla nasypów, wykopów itp)
- Program, wyświetlający struktury wektorowe jako 3D wireframe.
- Algorytmy rysujące modele 3D wireframe (najpierw trzeba opracować język skryptowy opisujący model).
- Algorytmy rysujące modele 3D teksturowane.
- Algorytmy rysujące mapę 3D teksturowaną.
- Rozkłądy jazdy, obiegi taboru.
- Połączyć to wszystko.
- W między czasie: AI sterujące pojazdami, AI sterujące siecią komunikacyjną.
- Można budować niektóre symulatory, np. LocoDrive.
- AI sterująca pojazdami i siecią zgodnie z rozkładem jazdy.
- Implementacja klient-serwer.
- Symulatory on-line.
- Algorytmy makro i mikroekonomiczne.
- AI sterująca przewozami towarowymi.
Produkt finalny: Real Economy And Logistic MultiUser Simulator
- więcej informacji później
Komentarze i pytania: