Trójwymiarowa wizualizacja danych przestrzennych
Transkrypt
Trójwymiarowa wizualizacja danych przestrzennych
Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI Trójwymiarowa wizualizacja danych przestrzennych Laboratorium 3. Cesium 1 Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI Wprowadzenie Cesium jest biblioteką umożliwiającą wyświetlanie informacji przestrzennej na powierzchni trójwymiarowego globu za pomocą przeglądarki internetowej. Jest to technologia oparta na standardzie WebGL, zatem nie wymaga ona instalacji dodatkowych wtyczek. Zadanie 0. Rozpakuj zawartość archiwum CesiumPortable.zip do nowego katalogu na dysku, a następnie uruchom program usbwebserver.exe. Poświęć kilka minut na zapoznanie się z zestawem przykładowych skryptów dostępnych w przeglądarce internetowej pod adresem http://localhost:8080/Apps/Sandcastle/index.html. Następnie stwórz kopię pliku HelloWorld.html znajdującego się w katalogu CesiumPortable/root/Apps i wykorzystaj ją do wykonania kolejnych zadań. Zadanie 1. (0,25 punktu) Uzupełnij kod strony w taki sposób, żeby wyświetlana scena zawierała trójwymiarowy model terenu (składający się m.in. z gór i dolin). Zadanie 2. (0,5 punktu) Dodaj do aplikacji nowy obiekt tekstowy, który będzie na bieżąco wypisywał następujące wartości: aktualną pozycję (długość geograficzną, szerokość geograficzną, wysokość) oraz wybrane przez Ciebie informacje o obrocie kamery. Ogranicz długość wypisywanych liczb do 3-4 cyfr po przecinku. Wskazówka: zapoznaj się z dokumentacją (http://localhost:8080/Build/Documentation/Camera.html) klasy Camera Zadanie 3. (0,25 punktu) Spraw, by przy uruchomieniu strony kamera automatycznie się ustawiała w wybranym przez Ciebie miejscu zawierającym teren o zauważalnie zróżnicowanej wysokości. Zadbaj o to, by obiekty dodawane w kolejnych etapach znajdowały się w zasięgu widoczności kamery. Zadanie 4. (1 punkt) Dodaj do sceny obrazek (billboard), nad którym wyświetlane będzie pole tekstowe (label) zawierające Twój numer indeksu - jeśli jest on parzysty, wówczas obrazek powinien przedstawiać żółty krzyżyk, w przeciwnym wypadku obrazek powinien zawierać błękitną strzałkę. Zadanie 5. (0,25 punktu) Umieść w świecie nowy obiekt entity posiadający bryłę typu cylinder. Jeśli masz parzysty numer indeksu, wówczas bryła powinna mieć kształt stożka, w przeciwnym wypadku powinna ona przyjąć formę półprzezroczystego walca. 2 Marek Kulawiak – Katedra Systemów Geoinformatycznych, Wydział ETI Zadanie 6. (1 punkt) Dodaj obiekt zawierający ścieżkę (path) w kształcie sześciokąta, który będzie otaczał bryłę z poprzedniego zadania. Spraw, żeby wzdłuż ścieżki poruszał się jakiś pojazd, którego podróż będzie rozpoczynać się o pełnej godzinie i trwać 60 minut. Zadanie 7. (0,25 punktu) Dodaj do strony przycisk umożliwiający włączanie i wyłączanie trybu interpolacji ścieżki z poprzedniego zadania (zinterpolowana ścieżka powinna mieć kształt przypominający okrąg). Aby przycisk elegancko się komponował z pozostałą częścią aplikacji, możesz skorzystać z poniższego przykładu: <div id="buttonContainer" style="position:absolute; z-index:1;"> <button onclick="toggleInterpolation()" class="cesium-button">Toggle interpolation</button> </div> Zadanie 8. (0,5 punktu) Dodaj kolejny przycisk, którego wciśnięcie będzie powodowało zmianę kierunku ruchu pojazdu z zadania 7. Wskazówka: najprostszym rozwiązaniem będzie usuwanie całego obiektu i zastępowanie go nowym. Przykładowe zadania poprawkowe: 1. Przygotuj stronę internetową, która za pomocą technologii Cesium będzie w możliwie największym stopniu przypominała w pełni wykonane ćwiczenie z Google Earth API. (4 punkty) 3