Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej. Marek Gulanowski

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej. Marek Gulanowski"

Transkrypt

1 Wizualizacja danych sensorycznych Projekt Tworzenie grafiki stereoskopowej Marek Gulanowski 9 czerwca 2010

2 Spis treści 1 Wstęp Koncepcja Forma realizacji Klasa AnaglyphViewer Generowanie grafiki Przykład wykorzystania klasy AnaglyphViewer Koncepcja programu Sposób użycia klasy AnaglyphViewer Interfejs graficzny Podsumowanie 8 1 Wstęp 1.1 Koncepcja Tematem projektu było generowanie grafiki stereoskopowej. Jako cel realizacji projektu obrano zbudowanie biblioteki programistycznej, umożliwiające proste generowanie takiej grafiki. Sformułowano następujące postulaty dotyczące tworzonej biblioteki. 1. Wykorzystanie środkowiska Qt4. 2. Generowanie grafiki w środowisku OpenGL. 3. Wykorzystanie biblioteki libqglviewer. Tworzenie grafiki stereoskopowej wymaga dostarczania odmiennych obrazów dla każdego z oczu obserwatora. Najprostszą realizacją takiego założenia jest zastosowanie okularów z filtrami, przepuszczającymi różne barwy składowe, np. czerwoną i niebieską (dla tego typu okularów przeznaczona jest niniejsza implementacja). Obrazy generowane dla poszczególnych oczu mają wtedy różne barwy, ale pomimo tego przez ludzki mózg składane są w jeden obraz i tworzą iluzję trójwymiarowości. Istnieją inne, dużo bardziej zaawansowane technologię generowania obrazu stereoskopowego, jednak każda z nich wymaga albo użycia specjalnego projektora, ekranu, albo okularów aktywnych (przesłaniających na zmianę po jednym oku). Zaletą grafiki anaglifowej jest możliwość korzystania z dowolnego monitora i stosowania bardzo tanich okularów. 1.2 Forma realizacji Podjęto decyzję o stworzeniu klasy AnaglyphViewer, która umożliwiałaby umieszczanie widgetu z grafiką wyświetlaną w formie anaglifu w programach budowanych w środowisku Qt4. Ponadto, w celu weryfikacji działania klasy, postanowione zbudować prosty program w środowisku Qt4, zawierający widget klasy AnaglyphViewer. Założono minimalną funkcjonalność tej aplikacji, gdyż była ona w zamierzeniu jedynie ilustracją użycia stworzonej klasy. 1

3 2 Klasa AnaglyphViewer Klasa AnaglyphViewer jest klasą pochodną klasy QGLViewer, zdefiniowanej w bibliotece libqglviewer. 2.1 Generowanie grafiki Klasa libqglviewer udostępnia m.in. następujące metody wirtualne. 1. paintgl(), realizująca cały proces generowania grafiki. 2. predraw(), przygotowująca do rysowania figur. 3. draw(), rysująca figury. 4. postdraw(), rysująca dodatkowe elementy (za pomocą QPainter). Działanie metody 1 polega na kolejnym wywołaniu funkcji 2, 3, 4. Aby wykorzystać klasę libqglviewer, należy w programie stworzyć klasę pochodną tej klasy. Warunkiem koniecznym i wystarczającym dla takiej klasy pochodnej jest zdefiniowanie funkcji wirtualnej draw. Jej zadaniem jest narysowanie wizualizowanego obiektu za pomocą funkcji biblioteki OpenGL. Istotny jest tutaj fakt, iż implementując funkcję draw wystarczy wywołać funkcje rysujące, nie należy natomiast realizować funkcji OpenGL niższego poziomu, takich jak np. czyszczenie buforów kolorów czy głębokości wierzchołków. Tym zajmuje się funkcja paintgl, której definiowanie w klasie pochodnej nie jest obowiązkowe. Zgodnie z powyższym, istotą klasy AnaglyphViewer jest reimplementacja funkcji wirtualnej paintgl. Listing?? przedstawia definicję tej funkcji. Ideą działania tej funkcji, kluczowej dla stworzenia efektu stereoskopowego, jest narysowanie dwóch obrazów: dla lewego i prawego oka, do których stosowane są maski barw, pozostawiające jedynie barwę odpowiednio czerwoną i niebieską. Aby obrazy nałożyły się, pomiędzy narysowaniem obrazów należy wyczyścić bufor głębi wierzchołków, nie czyścić natomiast bufora barw. Pozycja oczu wyliczana jest poprzez modyfikację bieżącej pozycję kamery w kierunku wskazywanym przez iloczyn wektorowy wektora określającego kierunek pionowy pola widzenia oraz wektora określającego, jak skierowana jest kamera (w tej kolejności dla lewego oka, w przeciwnej dla oka prawego). Otrzymany wektor jest wektorem znormalizowanym, zostaje zatem przeskalowany z użyciem parametru eyedistance, określającego odległość oczu. Zaletą takiej implementacji efektu stereoskopowego jest fakt, że funkcje predraw() oraz draw() pozostają od niej niezależne i mogą być definiowane w klasach pochodnych (bądź pozostawione w formie zdefiniowanej w klasie QGLVIewer). 3 Przykład wykorzystania klasy AnaglyphViewer 3.1 Koncepcja programu W środowisku Qt4 stworzono program, który może służyć jako przykład zastosowania klasy AnaglyphViewer. Program modeluje zachowanie platformy balansującej. Wykorzystano tu klasy stworzone na potrzeby projektu Roboty mobilne. Wykorzystują one do modelowania dynamiki oraz wykrywania zderzeń bibliotekę Open Dynamics Engine. Model platformy umożliwia bezpośrednie zadawanie sterowania kół platformy, a także przykładanie momentów obrotowych do jej korpusu. Implementuje także 2

4 Listing 1: Funkcja paintgl() klasy AnaglyphViewer 1 void AnaglyphViewer : : paintgl ( ) 2 { 3 i f ( a n a g l y p h ( ) ) / / wlaczony t r y b 3D Anaglyph 4 { 5 glcolormask ( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE ) ; 6 g l C l e a r (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT ) ; / / w y c z y s z c z e n i e buforow 7 8 glcolormask ( GL_TRUE, GL_FALSE, GL_FALSE, GL_TRUE ) ; / / maska barw d l a lewego oka 9 predraw ( ) ; 10 p o s i t i o n = camera () > p o s i t i o n ( ) 11 + c r o s s ( camera () > upvector ( ), camera () > v i e w D i r e c t i o n ( ) ) 12 e y e D i s t a n c e ( ) / 2 ; 13 camera () > s e t P o s i t i o n ( p o s i t i o n ) ; / / kamera w p o z y c j i lewego oka 14 draw ( ) ; / / n a r y s o w a n i e o b i e k t u g l C l e a r ( GL_DEPTH_BUFFER_BIT ) ; / / w y c z y s z c z e n i e b u f o r a g l e b i wierzcholkow 17 / / uwaga : n i e j e s t c z y s z c z o n y b u f o r kolorow (w c e l u n a l o z e n i a s i e obrazow ) glcolormask ( GL_FALSE, GL_FALSE, GL_TRUE, GL_TRUE ) ; / / maska barw d l a prawego oka g l L o a d I d e n t i t y ( ) ; 22 predraw ( ) ; 23 p o s i t i o n = camera () > p o s i t i o n ( ) 24 + c r o s s ( camera () > v i e w D i r e c t i o n ( ), camera () > upvector ( ) ) 25 e y e D i s t a n c e ( ) / 2 ; 26 camera () > s e t P o s i t i o n ( p o s i t i o n ) ; / / kamera w p o z y c j i prawego oka 27 draw ( ) ; 28 glcolormask (GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE ) ; / / z n i e s i e n i e maski 29 glend ( ) ; / / f u n k c j a standardowo wywolywana na z a k o n c z e n i e f u n k c j i paintgl ( ) 30 } 31 e l s e / / w przypadku wylaczonego t r y b u 3D 32 { 33 QGLViewer : : paintgl ( ) ; / / wywolanie s t a n d a r d o w e j f u n k c j i k l a s y QGLViewer 34 } 35 } 3

5 regulator PID, który umożliwia przemieszczanie platformy analogicznie do urządzenia typu Segway regulator stabilizujący nachylenie platformy do pionu reaguje na jej wychylanie w określonym kierunku poprzez jazdę w tym kierunku. Pełen diagram klas stworzonego programu prezentuje rysunek 1. 4

6 5 Rysunek 1: Diagram klas programu wykorzystującego klasę AnaglyphViewer

7 QGLPlatforma:: init() QGLPlatforma:: animate() T Animacja aktywna? N AnaglyphViewer:: paintgl() Rysunek 2: Diagram przepływu sterowania 3.2 Sposób użycia klasy AnaglyphViewer Jak wspomniano w sekcji 2.1, rolą klasy AnaglyphViewer jest implementacja wirtualnej metody paintgl(), która wywołuje m.in. funkcję draw(), przeznaczoną do rysowania sceny. Zatem aby wykorzystać klasę AnaglyphViewer do rysowania konkretnych obiektów, należy zdefiniować metodę draw() w klasie dziedziczącej klasę AnaglyphViewer. W celu wizualizacji działania symulacji platformy balandującej stworzono klasę QGLPlatforma, która zawiera obiekt klasy PlatformaBalansujaca, realizujący wspomnianą symulację. Jej implementacja metody draw() polega na wywołaniu metody Rysuj() klasy PlatformaBalansujaca, która na podstawie aktualnych danych o pozycji i orientacji platformy w wizualizowanej scenie, wykorzystuje funkcje biblioteki OpenGL do rysowania figur przestrzennych, składających się na platformę. Konieczne jest też zdefiniowanie funkcji wirtualnej init(), która wywoływana jest przez obiekt klasy QGLViewer na początku działania. W tym wypadku służy ona do stworzenia świata zgodnie z API biblioteki Open Dynamics Engine, zdefiniowania obiektów i relacji między nimi. klasa QGLPlatforma implementuje ponadto wirtualną funkcję animate(), w której podejmowany jest krok symulacji i pobierane nowe współrzędne obiektów. Dzięki rozdzieleniu funkcji draw() i animate() a klasie QGLViewer możliwy jest np. ruch kamery w czasie gdy animacja jest wstrzymana. Rysunek 2 ukazuje poglądowy diagram przepływu sterowania w zrealizowanym programie (części związanej z generowaniem grafiki). Na diagramie 3 ukazano natomiast przepływ sterowania wewnątrz funkcji AnaglyphViewer::paintGL(). 3.3 Interfejs graficzny Do budowy interfejsu graficznego aplikacji wykorzystano program Qt Designer. Umieszczenie widgetu AnaglyphViewer w oknie budowanej aplikacji było możliwe dzięki wykorzystaniu funkcji zastępowania obiektów pochodnych Qwidget przez inne tego rodzaju obiekty. 6

8 QGLViewer:: paintgl N Tryb 3D anaglyph? T Przeniesienie kamery w lewo, zastosowanie maski QGLPlatforma ::draw() Przeniesienie kamery w prawo, zastosowanie maski QGL::Platforma ::draw() Rysunek 3: Diagram przepływu sterowania wewnątrz funkcji AnaglyphViewer::paintGL() 7

9 Listing 2: Dziedziczenie interfejsu graficznego 1 c l a s s Okno : p u b l i c QMainWindow, p r i v a t e Ui : : MainWindow 2 { 3 Q_OBJECT 4 p u b l i c : 5 Okno ( QWidget r o d z i c = 0 ) ; 6 } ; W celu zintegrowania interfejsu graficznego z aplikacją użyto mechanizmu wielodziedziczenia. Listing 2 przedstawia deklarację klasy Okno, za pomocą której połączono główną część programu z interfejsem graficznym, wygenerowanym za pomocą programu Qt Designer. 4 Podsumowanie Kompilacja i uruchomienie programu zakończyły się sukcesem. Rysunki 4 i 5 przedstawiają działania programu odpowiednio w trybie 3D oraz 2D. A zatem stworzona klasa AnaglyphViewer może być z powodzeniem wykorzystywana w programach tworzonych w środowisku Qt, także z użyciem programu Qt Designer, analogicznie do klasy QGLViewer. Wyniki prac prowokują do zadania pytania: czy tego rodzaju wizualizacja z wykorzystaniem obrazu stereoskopowego typu anaglif może mieć zastosowanie w robotyce. Z pewnością jest to pytanie trudne. Zaletą grafiki stereoskopowej, nawet w tak prostej implementacji jak czerwono-niebieski anaglif, jest możliwość ujrzenia dodatkowego wymiaru, co w przypadku niektórych obrazów może je czynić wyraźniejszymi. Dlatego odpowiedź na postawione powyżej pytanie powinna prawdopodobnie brzmieć tak, jeśli w danym konkretnym zastosowaniu może ona pomóc czytelniej wizualizować dany proces. Pozostaje zatem kwestią otwartą, czy i w jakim stopniu ten rodzaj wizualizacji znajdzie zastosowanie. Być może, wraz ze wzrostem zainteresowania obrazem stereoskopowym w kinematografii, twórcy oprogramowania także umożliwią tego rodzaju wizualizację, jako przynajmniej równoprawną tradycyjnej grafice. Literatura [1] Dokumentacja biblioteki QGLViewer: [2] Donald Urquhart, Swiftless Tutorials. Game Programming and Computer Graphics Tutorials: [3] Russel Smith, Open Dynamics Engine User Guide 8

10 Rysunek 4: Działanie stworzonej aplikacji: tryb 3D Rysunek 5: Działanie stworzonej aplikacji: tryb 2D 9

Wizualizacja płomienia

Wizualizacja płomienia 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

Bardziej szczegółowo

Symulacja samochodu z kamerą stereowizyjną. Krzysztof Sykuła 15 czerwca 2007

Symulacja samochodu z kamerą stereowizyjną. Krzysztof Sykuła 15 czerwca 2007 Symulacja samochodu z kamerą stereowizyjną Krzysztof Sykuła 15 czerwca 2007 1 1 Opis wykonanego projektu Symulacja samochodu z kamerą stereowizyjną była pretekstem do napisania Engine u 3D, wykorzystującego

Bardziej szczegółowo

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

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

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

Język Java część 2 (przykładowa aplikacja) Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa

Bardziej szczegółowo

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom: 1. QT creator, pierwsze kroki. Qt Creator wieloplatformowe środowisko programistyczne dla języków C++, JavaScript oraz QML, będące częścią SDK dla biblioteki Qt. Zawiera w sobie graficzny interfejs dla

Bardziej szczegółowo

Zad. 6: Sterowanie robotem mobilnym

Zad. 6: Sterowanie robotem mobilnym Zad. 6: Sterowanie robotem mobilnym 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia

Bardziej szczegółowo

Zad. 5: Sterowanie robotem mobilnym

Zad. 5: Sterowanie robotem mobilnym Zad. 5: Sterowanie robotem mobilnym 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:

Bardziej szczegółowo

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury Obsługa za pomocą klawiatury Różnego typu interfejsy wykorzystują różne metody reagowania i wydawania poleceń przez użytkownika. W środowisku graficznym najpopularniejsza jest niewątpliwie mysz i inne

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

Przekształcenia geometryczne. Dorota Smorawa

Przekształcenia geometryczne. Dorota Smorawa Przekształcenia geometryczne Dorota Smorawa Przekształcenia geometryczne Na poprzednich laboratoriach już dowiedzieliśmy się, na czym polegają podstawowe przekształcenia geometryczne. Trzy podstawowe przekształcenia

Bardziej szczegółowo

LABORATORIUM 7 Cel: 1_1

LABORATORIUM 7 Cel: 1_1 LABORATORIUM 7 Cel: Budowa klas z wykorzystaniem dziedziczenia oraz implementowania interfejsów. Wprowadzenie do trybu graficznego -cd. Animacje obiektów w trybie graficznym obsługa zdarzeń od klawiatury

Bardziej szczegółowo

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D Wprowadzenie do rysowania w 3D 13 Praca w środowisku 3D Pierwszym krokiem niezbędnym do rozpoczęcia pracy w środowisku 3D programu AutoCad 2010 jest wybór odpowiedniego obszaru roboczego. Można tego dokonać

Bardziej szczegółowo

Klasy abstrakcyjne i interfejsy

Klasy abstrakcyjne i interfejsy Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import Fraction.h #import <stdio.h> #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Qt sygnały i designer

Qt sygnały i designer Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.

Bardziej szczegółowo

Programowanie urządzeń mobilnych. projekt 6 ( )

Programowanie urządzeń mobilnych. projekt 6 ( ) Programowanie urządzeń mobilnych projekt 6 (05.01.2018) Usługi lokalizacyjne Jedną z powszechniejszych funkcjonalności wykorzystywanych przez liczne aplikacje przeznaczone dla urządzeń mobilnych jest możliwość

Bardziej szczegółowo

Rzeczywistość rozszerzona w praktyce muzealnej

Rzeczywistość rozszerzona w praktyce muzealnej OPRACOWANIE ZAŁOŻEŃ WYKONANIA INSTALACJI MULTIMEDIALNEJ Muzeum X Pawilonu Rzeczywistość rozszerzona w praktyce muzealnej Opracowanie przedstawia zastosowanie rzeczywistości rozszerzonej (ang. Augmented

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania Autor: Anna Nowak Promotor: dr inż. Jan Kowalski Kategorie: gra logiczna Słowa kluczowe: Sudoku, generowanie plansz, algorytmy,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana

Bardziej szczegółowo

Przykłady oprogramowania wykorzystujacego Qt

Przykłady oprogramowania wykorzystujacego Qt Przykłady oprogramowania wykorzystujacego Qt Bogdan Kreczmer ZPCiR ICT PWR pokój 307 budynek C3 kreczmer@ict.pwr.wroc.pl Copyright c 2003 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Mobilne Aplikacje Multimedialne

Mobilne Aplikacje Multimedialne Mobilne Aplikacje Multimedialne Technologie rozszerzonej rzeczywistości Krzysztof Bruniecki Rozszerzona rzeczywistość W odróżnieniu od rzeczywistości wirtualnej użytkownik NIE jest całkowicie zanurzony

Bardziej szczegółowo

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

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod Nazwa Nazwa w języku angielskim Obowiązuje od roku akademickiego 2012/2013 Programy grafiki rastrowej,

Bardziej szczegółowo

Rzutowanie z 4D na 3D

Rzutowanie z 4D na 3D Politechnika Wrocławska Instytut Informatyki Automatyki i Robotyki Wizualizacja danych sensorycznych Rzutowanie z 4D na 3D Autor: Daniel Piłat Opiekun projektu: dr inż. Bogdan Kreczmer 15 czerwca 2010

Bardziej szczegółowo

Zad. 4: Rotacje 2D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego

Zad. 4: Rotacje 2D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego Zad. 4: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur

Bardziej szczegółowo

Grafika Komputerowa Materiały Laboratoryjne

Grafika Komputerowa Materiały Laboratoryjne Grafika Komputerowa Materiały Laboratoryjne Laboratorium 6 Processing c.d. Wstęp Laboratorium 6 poszerza zagadnienie generowania i przetwarzania obrazów z wykorzystaniem języka Processing 2, dedykowanego

Bardziej szczegółowo

Referat Pracy Dyplomowej

Referat Pracy Dyplomowej Referat Pracy Dyplomowej Team Pracy: Projekt i realizacja gry w technologii HTML5 z wykorzystaniem interfejsu programistycznego aplikacji Facebook Autor: Adam Bartkowiak Promotor: dr inż. Roman Simiński

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

Strona 1 z 10. Świadectwa pracy w enova

Strona 1 z 10. Świadectwa pracy w enova Świadectwa pracy w enova Strona 1 z 10 Spis treści 1. Wstęp...3 2. Konfiguracja...3 3. Generowanie świadectwa pracy w programie...4 3.2 Wystawienie świadectwa pracy...4 3.3 Ewidencjonowanie dokumentów

Bardziej szczegółowo

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt

Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd

Bardziej szczegółowo

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

WASM AppInventor Lab 3. Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Rysowanie i animacja po kanwie PODSTAWY PRACY Z KANWAMI Kanwa, to komponent służący do rysowania. Można ją dodać w Designerze przeciągając komponent Canvas z sekcji Basic. W celu ustawienia obrazka jako

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie

Bardziej szczegółowo

Grafika komputerowa i wizualizacja

Grafika komputerowa i wizualizacja Grafika komputerowa i wizualizacja Radosław Mantiuk ( rmantiuk@wi.zut.edu.pl, p. 315 WI2) http://rmantiuk.zut.edu.pl Katedra Systemów Multimedialnych Wydział Informatyki, Zachodniopomorski Uniwersytet

Bardziej szczegółowo

System wspomagania harmonogramowania przedsięwzięć budowlanych

System wspomagania harmonogramowania przedsięwzięć budowlanych System wspomagania harmonogramowania przedsięwzięć budowlanych Wojciech Bożejko 1 Zdzisław Hejducki 2 Mariusz Uchroński 1 Mieczysław Wodecki 3 1 Instytut Informatyki, Automatyki i Robotyki Politechnika

Bardziej szczegółowo

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do 0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi

Bardziej szczegółowo

Zad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb

Zad. 3: Rotacje 2D. Demonstracja przykładu problemu skończonej reprezentacji binarnej liczb Zad. 3: Rotacje 2D 1 Cel ćwiczenia Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Definiowanie właściwego interfejsu klasy. Zwrócenie uwagi na dobór odpowiednich struktur

Bardziej szczegółowo

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

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink. Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink. Celem ćwiczenia jest symulacja działania (w środowisku Matlab/Simulink) sterownika dla dwuosiowego robota

Bardziej szczegółowo

Temat: Transformacje 3D

Temat: Transformacje 3D Instrukcja laboratoryjna 11 Grafika komputerowa 3D Temat: Transformacje 3D Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Bardzo często programując

Bardziej szczegółowo

Polimorfizm. dr Jarosław Skaruz

Polimorfizm. dr Jarosław Skaruz Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody

Bardziej szczegółowo

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012

KGGiBM GRAFIKA INŻYNIERSKA Rok III, sem. VI, sem IV SN WILiŚ Rok akademicki 2011/2012 Rysowanie precyzyjne 7 W ćwiczeniu tym pokazane zostaną wybrane techniki bardzo dokładnego rysowania obiektów w programie AutoCAD 2012, między innymi wykorzystanie punktów charakterystycznych. Narysować

Bardziej szczegółowo

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

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

Bardziej szczegółowo

Projektowanie graficzne. Wykład 2. Open Office Draw

Projektowanie graficzne. Wykład 2. Open Office Draw Projektowanie graficzne Wykład 2 Open Office Draw Opis programu OpenOffice Draw OpenOffice Draw umożliwia tworzenie prostych oraz złożonych rysunków. Posiada możliwość eksportowania rysunków do wielu różnych

Bardziej szczegółowo

Projektowanie systemów zrobotyzowanych

Projektowanie systemów zrobotyzowanych ZAKŁAD PROJEKTOWANIA TECHNOLOGII Laboratorium Projektowanie systemów zrobotyzowanych Instrukcja 4 Temat: Programowanie trajektorii ruchu Opracował: mgr inż. Arkadiusz Pietrowiak mgr inż. Marcin Wiśniewski

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Klasa abstrakcyjna Autor: Marcin Orchel Klasa abstrakcyjna to taka, że nie możemy tworzyć obiektów tej klasy, możemy jednak dziedziczyć po tej

Bardziej szczegółowo

Przetwarzanie obrazu stereo. Zuzanna Pietrowska 9 czerwca 2010

Przetwarzanie obrazu stereo. Zuzanna Pietrowska 9 czerwca 2010 Przetwarzanie obrazu stereo Zuzanna Pietrowska 9 czerwca 2010 1 Spis treści 1 Cel projektu 3 2 Opis rozwiązywanego problemu 3 3 Opis funkcjonalności aplikacji 4 4 Interfejs graficzny aplikacji 4 5 Diagram

Bardziej szczegółowo

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 2, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Rodzaje programów w Javie 2. Tworzenie aplikacji 3. Tworzenie apletów 4. Obsługa archiwów 5. Wyjątki 6. Klasa

Bardziej szczegółowo

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

FDS 6 - Nowe funkcje i możliwości. Modelowanie instalacji HVAC część 1: podstawy.

FDS 6 - Nowe funkcje i możliwości. Modelowanie instalacji HVAC część 1: podstawy. FDS 6 - Nowe funkcje i możliwości. Modelowanie instalacji HVAC część 1: podstawy. Wstęp 4 listopada 2013r. miała miejsce długo wyczekiwana premiera najnowszej, szóstej już wersji popularnego symulatora

Bardziej szczegółowo

dr inż. Tomasz Krzeszowski

dr inż. Tomasz Krzeszowski Microsoft Robotics Developer Studio dr inż. Tomasz Krzeszowski 2017-05-20 Spis treści 1 Przygotowanie do laboratorium... 3 2 Cel laboratorium... 3 3 Microsoft Robotics Developer Studio... 3 3.1 Wprowadzenie...

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Zad. 6: Sterowanie robotami mobilnymi w obecności przeszkód

Zad. 6: Sterowanie robotami mobilnymi w obecności przeszkód Zad. 6: Sterowanie robotami mobilnymi w obecności przeszkód 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas oraz czynności. Wykorzystanie

Bardziej szczegółowo

Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód

Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód Zad. 7: Sterowanie robotami mobilnymi w obecności przeszkód 1 Cel ćwiczenia Utrwalenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas oraz czynności. Wykorzystanie

Bardziej szczegółowo

Dziedziczenie. Zadanie 1

Dziedziczenie. Zadanie 1 Dziedziczenie Zadanie 1 Napisz klasę KolorowyPunkt, która dziedziczy po klasie Punkt a dodatkowo przechowuje informacje o kolorze. Uzupełnij ją o metody umożliwiające pobieranie i ustawianie koloru. Pamiętaj

Bardziej szczegółowo

Szablony funkcji i klas (templates)

Szablony funkcji i klas (templates) Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp

Bardziej szczegółowo

Podstawy 3D Studio MAX

Podstawy 3D Studio MAX Podstawy 3D Studio MAX 7 grudnia 2001 roku 1 Charakterystyka programu 3D Studio MAX jest zintegrowanym środowiskiem modelowania i animacji obiektów trójwymiarowych. Doświadczonemu użytkownikowi pozwala

Bardziej szczegółowo

Zatem standardowe rysowanie prymitywów wygląda następująco:

Zatem standardowe rysowanie prymitywów wygląda następująco: Instrukcja laboratoryjna 10 Grafika komputerowa 3D Temat: Prymitywy Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Prymitywy proste figury geometryczne,

Bardziej szczegółowo

TEMAT :Animacja Komputerowa. Projekt współfinansowany w ramach Europejskiego Funduszu Społecznego

TEMAT :Animacja Komputerowa. Projekt współfinansowany w ramach Europejskiego Funduszu Społecznego TEMAT :Animacja Komputerowa Projekt współfinansowany w ramach Europejskiego Funduszu Społecznego Animacja komputerowa: Animacja komputerowa jest generalnie rzecz biorąc cyfrowym spadkobiercą sztuki animacji

Bardziej szczegółowo

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA... WARCABY Spis treści PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...9 1.PRZYJĘTE ZASADY GRY 1. W grze bierze

Bardziej szczegółowo

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty.

Druga aplikacja Prymitywy, alpha blending, obracanie bitmap oraz mały zestaw przydatnych funkcji wyświetlających własnej roboty. Przyszedł czas na rysowanie własnych figur, czyli prymitywy, obracanie bitmap, oraz alpha blending-czyli półprzezroczystość. Będę opisywał tylko rzeczy nowe-nie ma potrzeby abym się powtarzał. Zaczynajmny

Bardziej szczegółowo

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia 1 Cel laboratoriów: Specyfikacja wymagań, zdefiniowanych w ramach laboratorium 2 (wg instrukcji 2),

Bardziej szczegółowo

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

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) KARTA MODUŁU / KARTA PRZEDMIOTU Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. Kod Nazwa Nazwa w języku angielskim Obowiązuje od roku akademickiego 2012/2013 Programy grafiki rastrowej,

Bardziej szczegółowo

Referat pracy dyplomowej

Referat pracy dyplomowej Temat pracy : Projekt i realizacja aplikacji do tworzenia i wizualizacji drzewa genealogicznego Autor: Martyna Szymkowiak Promotor: dr inż. Romana Simińskiego Kategorie: gry, użytkowe Słowa kluczowe: The

Bardziej szczegółowo

Zad. 5: Sterowanie dronem

Zad. 5: Sterowanie dronem 1 Cel ćwiczenia Zad. 5: Sterowanie dronem Wykształcenie umiejętności modelowania kluczowych dla danego problemu pojęć. Tworzenie diagramu klas, czynności oraz przypadków użycia. Wykorzystanie dziedziczenia

Bardziej szczegółowo

Wizualizacja aktualnego położenia międzynarodowej stacji kosmicznej ISS.

Wizualizacja aktualnego położenia międzynarodowej stacji kosmicznej ISS. Wizualizacja aktualnego położenia międzynarodowej stacji kosmicznej ISS. Piotr Michoński 218512 Wrocław 9 czerwca 2017 SPIS TREŚCI SPIS TREŚCI Spis treści 1 Opis projektu 2 1.1 Główne założenia.........................

Bardziej szczegółowo

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30 Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego

Bardziej szczegółowo

Wprowadzenie do QT OpenGL

Wprowadzenie do QT OpenGL Wprowadzenie do QT mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski 1/21 - Open Graphics Library Open Graphics Library API pozwalające na wykorzystanie akceleracji sprzętowej do renderowania

Bardziej szczegółowo

5.4. Efekty specjalne

5.4. Efekty specjalne 5.4. Efekty specjalne Przedstawiliśmy już sobie sporo kwestii związanych z dodawaniem, edytowaniem czy usuwaniem elementów, które możemy zamieścić w prezentacji. Ale pomyłką było by stwierdzenie, że więcej

Bardziej szczegółowo

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści

C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop. 2016 Spis treści Spis rysunków 11 Spis tabel 13 Przedmowa 15 Wprowadzenie 17 Podziękowania 27 O autorach 29 1 Wprowadzenie

Bardziej szczegółowo

Zaawansowane programowanie obiektowe - wykład 5

Zaawansowane programowanie obiektowe - wykład 5 Zaawansowane programowanie obiektowe - wykład 5 dr Piotr Jastrzębski (czynnościowe) opisują zachowanie obiektów, komunikację pomiędzy nimi i ich odpowiedzialność. Interpreter Iterator (kursor) Łańcuch

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod

Bardziej szczegółowo

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy Marek Żukowicz 14 marca 2018 Streszczenie Celem napisania artykułu jest próba podania konstruktywnego dowodu, który wyjaśnia, że niewielka

Bardziej szczegółowo

Moduł Grafika komputerowa i multimedia 312[01].S2. Ćwiczenia Podstawy programu Autocad 2011 Prosta

Moduł Grafika komputerowa i multimedia 312[01].S2. Ćwiczenia Podstawy programu Autocad 2011 Prosta Moduł Grafika komputerowa i multimedia 312[01].S2 Ćwiczenia Podstawy programu Autocad 2011 Prosta Opracowanie: mgr inż. Aleksandra Miętus na podstawie książki Autocad 2000 ćwiczenia praktyczne. wyd. Helion

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie

Bardziej szczegółowo

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Laboratorium grafiki komputerowej i animacji Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Przygotowanie do ćwiczenia: 1. Zapoznać się ze zdefiniowanymi w OpenGL modelami światła i właściwości materiałów.

Bardziej szczegółowo

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Modułowy programowalny przekaźnik czasowy firmy Aniro. Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały

Bardziej szczegółowo

Baza danych sql. 1. Wprowadzenie

Baza danych sql. 1. Wprowadzenie Baza danych sql 1. Wprowadzenie Do tej pory operowaliście na listach. W tej instrukcji pokazane zostanie jak stworzyć bazę danych. W zadaniu skorzystamy z edytora graficznego struktury bazy danych, który

Bardziej szczegółowo

Web frameworks do budowy aplikacji zgodnych z J2EE

Web frameworks do budowy aplikacji zgodnych z J2EE Web frameworks do budowy aplikacji zgodnych z J2EE Jacek Panachida promotor: dr Dariusz Król Przypomnienie Celem pracy jest porównanie wybranych szkieletów programistycznych o otwartym kodzie źródłowym

Bardziej szczegółowo

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej. Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.

Bardziej szczegółowo

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia 1 Cel laboratoriów: Specyfikacja wymagań, zdefiniowanych w ramach laboratorium 2 (wg instrukcji 2),

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

Rozdział 2. Programowanie Arduino i kodowanie społecznościowe (29)

Rozdział 2. Programowanie Arduino i kodowanie społecznościowe (29) O autorach (11) O korektorze merytorycznym (12) Wprowadzenie (13) Podziękowania (14) Rozdział 1. Zmiany w rdzeniu Arduino 1.0.4 (15) Zmiany w środowisku programistycznym Arduino (15) Zmiany w szkicowniku

Bardziej szczegółowo

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin

Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko

Bardziej szczegółowo

Załącznik techniczny przedmiotu zamówienia komponentu

Załącznik techniczny przedmiotu zamówienia komponentu Załącznik nr 1 mapowego dla portalu WWW Załącznik techniczny przedmiotu zamówienia komponentu 1.1 Komponent mapowy Zleceniodawcy pozostawia się wolną rękę w wyborze technologii w jakiej zostanie stworzony

Bardziej szczegółowo

Modelowanie procesów biznesowych w ADONIS. dr Marek Zborowski

Modelowanie procesów biznesowych w ADONIS. dr Marek Zborowski Modelowanie procesów biznesowych w ADONIS dr Marek Zborowski mzborowski@wz.uw.edu.pl Okno aplikacji (paski narzędzi) Moduły Dostęp do okna Szybki dostęp 2 Okno aplikacji (okienka) Eksplorator Modelowanie

Bardziej szczegółowo

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół

Bardziej szczegółowo

Sieciowe Technologie Mobilne. Laboratorium 4

Sieciowe Technologie Mobilne. Laboratorium 4 Sieciowe Technologie Mobilne Laboratorium 4 Tworzenie wieloplatformowych aplikacji mobilnych przy użyciu biblioteki PhoneGap. Łukasz Kamiński Laboratorium 4 Urozmaicone zostaną animacje potworów, aby odpowiadały

Bardziej szczegółowo

Temat 13. Czujniki Dlaczego Twój Smartfon jest taki smart?

Temat 13. Czujniki Dlaczego Twój Smartfon jest taki smart? Temat 13. Czujniki Dlaczego Twój Smartfon jest taki smart? Wymagana wiedza wstępna: 1) Student musi 1) Umieć stworzyć projekt aplikacji konsolowej w XCode z wykorzystaniem Objective-C 2) Umieć skompilować

Bardziej szczegółowo

Moduł raportowy systemu MGśP. Dokumentacja użytkownika

Moduł raportowy systemu MGśP. Dokumentacja użytkownika Moduł raportowy systemu MGśP Dokumentacja użytkownika 1 Opis dokumentu: Tytuł: Modernizacja systemu MGśP oraz świadczenie usług asysty technicznej dla Platformy Integracyjnej Typ dokumentu: Dokumentacja

Bardziej szczegółowo

dr inż. Cezary Żrodowski Wizualizacja Informacji WETI PG, sem. V, 2015/16

dr inż. Cezary Żrodowski Wizualizacja Informacji WETI PG, sem. V, 2015/16 Zadanie 3 - Karuzela 1. Budowa geometrii felgi i opony a) Szkic i wyciagnięcie obrotowe korpusu karuzeli (1 pkt) b) Szkic i wyciagnięcie liniowe podstawy karuzeli (1pkt) 1 c) Odsunięta płaszczyzna, szkic

Bardziej szczegółowo

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia

Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia Instrukcja 3 Laboratoria 3, 4 Specyfikacja wymagań funkcjonalnych za pomocą diagramu przypadków użycia 1 Cel laboratoriów: Specyfikacja wymagań, zdefiniowanych w ramach laboratorium 2 (wg instrukcji 2),

Bardziej szczegółowo

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu Instrukcja obsługi Aplikacja wizualizuje obszar projektu tj. Dorzecze Środkowej Odry będące w administracji Regionalnego Zarządu

Bardziej szczegółowo

dr inż. Cezary Żrodowski Wizualizacja Informacji WETI PG, sem. V, 2015/16

dr inż. Cezary Żrodowski Wizualizacja Informacji WETI PG, sem. V, 2015/16 Zadanie 4 - Holonur 1. Budowa geometrii felgi i opony a) Szkic i wyciągnięcie obrotowe dyszy (1pkt) b) Zaokrąglenie krawędzi natarcia dyszy (1pkt) 1 c) Wyznaczenie płaszczyzny stycznej do zewnętrznej powierzchni

Bardziej szczegółowo

Monitoring procesów z wykorzystaniem systemu ADONIS

Monitoring procesów z wykorzystaniem systemu ADONIS Monitoring procesów z wykorzystaniem systemu ADONIS BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management

Bardziej szczegółowo