Poniżej znajduje się instrukcja i założenia programu
Program operuje w 3 trybach widocznych na lewej stronie ekranu:
- Dodawanie
- Edycja
- Reguły
Kolejne wierzchołki dodajemy za pomocą lewego przycisku myszy. Do zakończenia tworzenia poligonu używamy prawego przycisku myszy.
Zapomocą lewego przycisku myszy ruszamy wierzchołkami, krawędziami oraz poligonami. Aby poruszyć poligonem należy ruszać zaznaczonym środkiem ciężkości poligona. Za pomocą prawego przycisku myszy możemy usuwać wierzchołki i poligony oraz dzielić krawędzie na pół.
Aby użyć trybu reguł należy najpierw zaznaczyć krawędź za pomocą lewego przycisku myszy. Wtedy za pomocą prawego przycisku myszy możemy kliknąć na inną krawędź aby utworzyć z nią relację równoległości. Po lewo znajduje się menu za pomocą którego można ustalić długość zaznaczonej krawędzi, ustalić że będzie ona stałej długości oraz usunąć istniejącą relacje z krawędzi.
W lewym dolnym rogu znajdują się 3 przyciski. Ich kliknięcie odpowiada za:
- Wyświetlenie pomocy
- Wyświetlenie predefiniowanej sceny
- Wygenerowania obecnej klatki za pomocą algorytmu Bresenhama.
Program zakłada, że w danym poligonie nie wszystkie krawędzie mają stale zdefiniowaną długość.
Algorytm relacji polega na zmianie wierzchołków krawędzi kolejno w obie strony od edytowanego wierzchołka dopóki nie trafimy na krawędź nie objętą żadną relacją. Jeśli krawędź jest objęta relacją stałej długości, odpowiedni wierzchołek jest przesuwany aby zachować tą długość i nie zmieniać obecnego kierunku krawędzi. Jeśli krawędź jest w relacji równoległości, poprawiamy drugą linie z relacji. Podczas działania tego algorytmu oznaczamy odwiedzone już krawędzi aby więcej ich nie modyfikować. Program nie posiada zdefiniowanego zachowania gdy wszystkie linie wielokąta są objęte relacją stałej długości.
Poniżej znajduje się automatycznie wygenerowana instrukcja uruchomienia programu. Oprócz informacji w niej zawartych wspomnieć należy o:
- Instalacji nodejs i npm
- instalacji rusta
- instalacji paczki rust do webassembly za pomocą komendy
cargo install wasm-pack
npm install# Builds the project and opens it in a new browser tab. Auto-reloads when the project changes.
npm start# Builds the project and places it into the `dist` folder.
npm run build-
Cargo.tomlcontains the standard Rust metadata. You put your Rust dependencies in here. You must change this file with your details (name, description, version, authors, categories) -
package.jsoncontains the standard npm metadata. You put your JavaScript dependencies in here. You must change this file with your details (author, name, version) -
webpack.config.jscontains the Webpack configuration. You shouldn't need to change this, unless you have very special needs. -
The
jsfolder contains your JavaScript code (index.jsis used to hook everything into Webpack, you don't need to change it). -
The
srcfolder contains your Rust code. -
The
staticfolder contains any files that you want copied as-is into the final build. It contains anindex.htmlfile which loads theindex.jsfile. -
The
testsfolder contains your Rust unit tests.