Wizualizacja płomienia

Podobne dokumenty
Rzutowanie z 4D na 3D

Wizualizacja pogody dla windsurferów

Instrukcja obsługi programu MPJ6

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

Język Java część 2 (przykładowa aplikacja)

Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej. Marek Gulanowski

Przykłady oprogramowania wykorzystujacego Qt

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Politechnika Wrocławska

Ćwiczenie nr 5 Zautomatyzowane tworzenie dokumentacji

Język Java część 2 (przykładowa aplikacja)

PROSTY PROGRAM DO MALOWANIA

LABORATORIUM 7 Cel: 1_1

System wspomagania harmonogramowania przedsięwzięć budowlanych

Aplikacja (oprogramowanie) będzie umożliwiać przygotowanie, przeprowadzenie badania oraz analizę wyników według określonej metody.

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Konsola operatora TKombajn

1. Okna modułów Dane i Wyniki można przemieszczać po ekranie, jeśli nie jest wciśnięty przycisk Maksymalizacji

Wprowadzenie do UML, przykład użycia kolizja

BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły

WPROWADZENIE DO ŚRODOWISKA SCICOS

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

ĆWICZENIE 3 Badanie obwodów trójfazowych z odbiornikiem połączonym w trójkąt

Katedra Elektrotechniki Teoretycznej i Informatyki

Program V-SIM tworzenie plików video z przebiegu symulacji

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Instalowanie dodatku Message Broadcasting

Programowanie obiektowe

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

IRONCAD IRONCAD Skróty klawiaturowe

Tworzenie prezentacji w MS PowerPoint

Dokumentacja projektu Makao karciana gra sieciowa

Tablet bezprzewodowy QIT30. Oprogramowanie Macro Key Manager

DesignCAD 3D Max 24.0 PL

Laboratorium MATLA. Ćwiczenie 6 i 7. Mała aplikacja z GUI

Instrukcja wprowadzania graficznych harmonogramów pracy w SZOI Wg stanu na r.

POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRYCZNY KATEDRA ENERGOELEKTRYKI LABORATORIUM INTELIGENTNYCH INSTALACJI ELEKTRYCZNYCH

Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi

Instrukcja obsługi programu Do-Exp

Agenda. Standard DMR DMR - MotoTrbo firmy Motorola Aplikacja dyspozytorska ConSEL. Przykładowe wdrożenia

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Genesis Evolution Sp6 -- program do obsługi maszyny sterowanej numerycznie - streszczenie referatu z dnia 7 maja 2010 roku.

Misja#3. Robimy film animowany.

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

HELIOS pomoc społeczna

Animowana grafika 3D Laboratorium 1

1. Wprowadzenie. 1.1 Uruchamianie AutoCAD-a Ustawienia wprowadzające. Auto CAD Aby uruchomić AutoCada 14 kliknij ikonę

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Cel ćwiczenia: Nabycie umiejętności poruszania się w przestrzeni programu Kuka.Sim Pro oraz zapoznanie się z biblioteką gotowych modeli programu.

ĆWICZENIE 2 Badanie obwodów trójfazowych z odbiornikiem połączonym w gwiazdę

INSTRUKCJA OBSŁUGI ❽ Wyniki analizy

Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI

Informacje techniczne. HP Sure View. Prywatność ekranu urządzenia za dotknięciem jednego przycisku. Może 2018 r. Informacje techniczne HP Sure View 01

VetLINK moduł MAPA Instrukcja obsługi

Zamienniki towarów 1/5. Program Handel Premium

POMOC / INSTRUKCJA OBSŁUGI

AUTOCAD teoria i zadania z podstaw rysowania Rysowanie linii, prostej, półprostej, punktu, trasy, polilinii. Zadania geodezyjne.

5.2. Pierwsze kroki z bazami danych

Wirtualne przyrządy kontrolno-pomiarowe

rysunkowej Rys. 1. Widok nowego arkusza rysunku z przeglądarką obiektów i wywołanym poleceniem edycja arkusza

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Tworzenie nowego rysunku Bezpośrednio po uruchomieniu programu zostanie otwarte okno kreatora Nowego Rysunku.

TWORZENIE OBIEKTÓW GRAFICZNYCH

INSTRUKCJA OBSŁUGI NVR 2708 NVR 2716

KARTA MODUŁU KSZTAŁCENIA

Obsługa programu Soldis

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Ćwiczenia 11 (12) (4 godziny). Wizualizacja i manipulacja w Matlabie

Wstęp Pierwsze kroki Pierwszy rysunek Podstawowe obiekty Współrzędne punktów Oglądanie rysunku...

STEROWNIK TUBY LED STM-64

PROGRAMOWALNE STEROWNIKI LOGICZNE

Obrabiarki CNC. Nr 10

Makra Access 2003 wg WSiP Wyszukiwanie, selekcjonowanie i gromadzenie informacji Ewa Mirecka

WPF 4.5 : księga eksperta / Adam Nathan. Gliwice, cop Spis treści

OPROGRAMOWANIE DEFSIM2

Laboratorium Programowanie Obrabiarek CNC. Nr H6

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

Dodanie nowej formy do projektu polega na:

Przygotowanie do pracy frezarki CNC

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ XVIII. ANALIZY I KOMENTARZE SPIS TREŚCI

Nr: 15. Tytuł: Kancelaris w systemie Windows 8 i Windows 8.1. Data modyfikacji:

I Tworzenie prezentacji za pomocą szablonu w programie Power-Point. 1. Wybieramy z górnego menu polecenie Nowy a następnie Utwórz z szablonu

Rozdział 5. Administracja kontami użytkowników

1. INSTRUKCJA OBSŁUGI WYŚWIETLACZA LCD C600E USB

1 Oprogramowanie wizualizacyjne IFTER EQU

Operacje na gotowych projektach.

5.4. Tworzymy formularze

Dia rysowanie diagramów

Projektowanie systemów zrobotyzowanych

Ćwiczenie 1: Pierwsze kroki

Politechnika Poznańska Instytut Technologii Mechanicznej. Programowanie obrabiarek CNC. Nr 2. Obróbka z wykorzystaniem kompensacji promienia narzędzia

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Wyświetlacz funkcyjny C6

Lekcja 5 - PROGRAMOWANIE NOWICJUSZ

Diagramy UML, przykład problemu kolizji

Transkrypt:

Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki Wizualizacja danych sensorycznych Wizualizacja płomienia Autor: Weronika Matlakiewicz Opiekun projektu: dr inż. Bogdan Kreczmer 4 czerwca 2010

SPIS TREŚCI SPIS TREŚCI Spis treści 1 Charakterystyka tematu projektu 2 2 Opis problemu 2 3 Funkcjonalność aplikacji 2 3.1 Tworzenie płomienia........................................... 2 3.2 Proces inicjacji.............................................. 2 3.3 Proces animacji.............................................. 3 4 Interfejs graficzny 3 5 Diagram klas 4 6 Diagram przepływu sterowania 4 7 Efekty pracy 4 7.1 Suwak................................................... 4 7.2 Przycisk Dmuchnij........................................... 4 7.3 Przycisk Rozprosz............................................ 5 7.4 Pola wyboru............................................... 5 8 Wnioski i podsumowanie 5 1

3 FUNKCJONALNOŚĆ APLIKACJI 1 Charakterystyka tematu projektu Celem projektu było stworzenie aplikacji przedstawiającej wizualizację płomienia, posiadającej graficzny interfejs użytkownika, który pozwala wpływać na zachowanie aplikacji. 2 Opis problemu Pierwszym istotnym elementem projektu był wybór programu wspomagającego tworzenie takich aplikacji. Po zapoznaniu się z różnymi programami i bibliotekami umożliwiającymi tworzenie animacji i wizualizacji, do realizacji projektu wybrano program QT4 wraz z biblioteką QGLViewer. Następnie należało opracować sposób realizacji płomienia. 3 Funkcjonalność aplikacji Aplikacja pozwala na oglądanie symulacji ognia. Panel administracyjny graficznego interfejsu użytkownika umożliwia zmianę wysokości płomienia, symulację działania podmuchu oraz rozproszenie ognia. Ponadto pozwala również wyświetlać dodatki do widoku w postaci siatki, osi X, Y, Z, oraz wskazania częstotliwości. Wszystkie te funkcje zostały opisane w rozdziale 7. 3.1 Tworzenie płomienia W projekcie przyjęto koncepcję płomienia złożonego z pojedynczych cząsteczek. Każda cząsteczka rodzi się w źródle ogniska, a następnie, aż do osiągnięcia wieku maksymalnego, jest animowana. Po śmierci cząsteczki jej miejsce zastepuje nowa, rodząca się w źródle. Aby jak najdokładniej odwzorować wygląd ognia założono, że będzie się on składał z głównego płomienia (składającego się z 3/4 wszystkich cząstecezek)o stałym położeniu źródła oraz z ognika, którego źródło jest mniejsze i porusza się wewnątrz głównego źródła. Współrzędne obydwu źródeł opisane są wzorami: x = norm cos(angle), y = norm sin(angle), z = param norm 2, gdzie paramater norm jest losowany z zakresów < 0; 0.1 > dla głównego ognia i < 0; 0.05 > dla ognika, natomiast parametr angle, dla obydwu źródeł, jest losowym kątem z zakresu < 0; 2π >. Parametr param dla głównego źródła wynosi 6.0, a dla ognika 3.0. 3.2 Proces inicjacji Podczas tworzenia cząsteczki następuje przypisanie jej wartości zmiennej wewn, od której zależy, czy będzie ona należała do głównego płomienia, czy do wewnętrznego ognika. Następnie, podczas wywołania funkcji Particle::init(), nastepuje określenie pozycji startowej każdej cząsteczki, z uwzględnieniem jej stanu zmiennej wewn. Cząsteczki płomienia głównego rodzą się w źródle głównym zaczepionym w początku układu współrzędnych, natomiast cząsteczki ognika rodzą się w źródle wewnętrznym poruszającym się zgodnie z równaniami: gdzie: dx = n cos(ϕ), dy = n sin(ϕ), dz = 3n 2, ϕ+ = współczynnik * rand()/rand MAX, n+ = V t + (a+a1)( t)2 2, V + = (a + a 1 ) t, a = n - moc przyciągania, a 1 = rand()/rand MAX - moc uciekania. 2

3.3 Proces animacji 4 INTERFEJS GRAFICZNY 3.3 Proces animacji Najważniejszą z napisanych funkcji jest Particle::animate(), ponieważ to ona odpowiada za animowanie ruchu cząsteczek. Pierwsza część funkcji obejmuje proces zmiany składowych prędkości cząsteczki, natomiast do drugiej części należy wyliczenie nowej pozycji elementu. Proces zmiany prędkości podzielony jest na trzy przypadki: normalny - kiedy żaden z przycisków nie jest aktywny, dmuchniecia - kiedy aktywny jest przycisk Dmuchnij, rozproszenia - kiedy aktywny jest przycisk Rozprosz. W przypadku normalnym, w każdym wywołaniu funkcji animate() zwiększana jest pionowa prędkość cząsteczki (składowa z). Każda cząsteczka otrzymuje również prędkości poziome (składowe x i y). w zależności od tego czy dana cząsteczka należy do głównego płomienia czy wewnętrznego ognika wartości te różnią się (ognik musi być węższy i dłuższy). Następnie losowo wybrane cząsteczki mogą otrzymać dużo większą prędkość pionową lub odznaczenie zmiennej losowa. w momencie, gdy któraś z cząsteczek posiada niezerową wartość zmiennej losowa w każdym wywołaniu funkcji animate() przyrost jej prędkość pionowej jest zmniejszany, natomiast zwiększane są prędkości poziome. Podczas gdy aktywny jest tryb dmuchnięcia do trybu normalnego dodane jest sukcesywne zmniejszanie prędkości pionowej i zwiększanie poziomej na różnych wysokościach płomienia. W przypadku rozproszenia funkcja animate() przestaje modyfikować składowe prędkości cząsteczki, dlatego jedyną prędkością jaka pozostaje jest prędkość inicjacyjna. 4 Interfejs graficzny Interfejs graficzny składa się z dwóch okien, głównego okna aplikacji oraz okna pomocy wywoływanego przy pomocy klawisza H. Okno główne (rys.1) składa się z dwóch części: pola animacji, wewnątrz którego można przy pomocy myszy sterować kamerą, panelu administracyjnego, który pozwala użytkownikowi wpływać na zachowanie animacji. Okno pomocy (rys.2) składa się z trzech zakładek: Rysunek 1: Okno główne. 3

7 EFEKTY PRACY opisu projektu, tabeli objaśniającej skróty klawiaturowe, tabeli sprzedstawiającej możliwości sterowania oknem przy pomocy myszy. Rysunek 2: Okno pomocy 5 Diagram klas Diagram klas wykonano w programie Software Ideas Modeler i przedstawiono na rysunku 3. 6 Diagram przepływu sterowania Diagram przepływu sterowania również wykonano w programie Software Ideas Modeler i przedstawiono na rysunku 4. 7 Efekty pracy Możliwości aplikacji najlepiej przedstawiają rysunki ilustrujące wpływ elementów panelu administracyjnego na okno animacji. 7.1 Suwak Suwak umieszczony w części panelu administracyjnego pozwala na zmianę wysokości płomienia, co przedstawiono na rysunku 5. 7.2 Przycisk Dmuchnij Przycisk pozwala na zasymulowanie strumienia wiatru skierowanego na płomień. Podmuch jest aktywny do momentu ponownego wciśnięcia przycisku. Rysunek 6 przedstawia wywołanie opisanej akcji. 4

7.3 Przycisk Rozprosz 8 WNIOSKI I PODSUMOWANIE Rysunek 3: Diagram klas w języku UML. 7.3 Przycisk Rozprosz Przycisk pozwala na zasymulowanie wybuchu płomienia, pozostawiającego jedynie tlącą się podstawę. Podobnie jak w przypadku przycisku Dmuchnij pierwsze wciśnięcie uruchamia akcję, natomiast kolejne ją wyłącza. Rysunek 7 obrazuje wywołanie opisanej akcji. 7.4 Pola wyboru Zaznaczenie każdego z dostępnych pól wyboru powoduje wywołanie jednej z akcji dostępnych w klasie QGLViewer. Dodatkowo włączenie którejś z tych akcji przy pomocy klawiatury, powoduje odznaczenie odpowiedniego pola wyboru. Dostępne pola wyboru to: FPS - wyświetla częstotliwość animacji, Grid - rysuje siatkę w płaszczyźnie XY, Axis - rysuje osie X,Y oraz Z. Wynik zaznaczenia dostępnych pól wyboru przedstawia rysunek 8. 8 Wnioski i podsumowanie Na rynku istnieje bardzo dużo programów służących do tworzenia wizualizacji i animacji zarówno dwu- jak i trójwymiarowych. Wybór jednego z nich, odpowiedniego do zrealizowania projektu, okazał się być najtrudniejszym zadaniem projektowym. Warto jednak było poświęcić więcej czasu na dobór środowiska pracy, ponieważ odpowiednie oprogramowanie pozwoliło na sprawne zrealizowanie pozostałych punktów harmonogramu, czyli stworzenie 5

8 WNIOSKI I PODSUMOWANIE Rysunek 4: Diagram przepływu sterowania dla aplikacji. głównego elementu projektu - aplikacji. Praca z biblioteką QGLViewer daje ogromne możliwości w zakresie tworzenia obrazów i animacji trójwymiarowych. Ze względu na bardzo dużą liczbę funkcji dostępnych w klasach tej biblioteki początkowa faza tworzenia własnej aplikacji przysparza wielu problemów, jednak jest to zrekompensowane dostępnymi przykładami, których kod pozwala na szybsze rozeznanie się w możliwościach biblioteki. Inaczej jest w przypadku programu QT4 Designer, który już po krótkim wprowadzeniu pozwala na szybkie i sprawne tworzenie graficznych interfejsów użytkownika. 6

8 WNIOSKI I PODSUMOWANIE Rysunek 5: Ilustracja działania suwaka. Rysunek 6: Akcja spowodowana naciśnięciem przycisku Dmuchnij. 7

8 WNIOSKI I PODSUMOWANIE Rysunek 7: Akcja spowodowana naciśnięciem przycisku Rozprosz. Rysunek 8: Ilustracja działania pól wyboru. 8