Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows



Podobne dokumenty
Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

Algorytm SAT. Marek Zając Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora.

Rysunek 1. Zmontowane części

Unity 3D - pierwsze skrypty

Budowa i generowanie planszy

MonoGame. Wieloplatformowe gry w C# Mateusz Cicheński

ZST SUWAŁKI. Koło zainteresowań Teleinformatyk XXI wieku PROJEKT 3. Suwałki, kwiecień 2013

Wizualne systemy programowania. Wykład 11 Grafika. dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD

GUI - projektowanie interfejsów

1 Wstęp teoretyczny. Temat: Obcinanie odcinków do prostokąta. Grafika komputerowa 2D. Instrukcja laboratoryjna Prostokąt obcinający

D O K U M E N T A C J A

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Obiekt 2: Świątynia Zeusa

Problemy programowania gier. mgr Mateusz Rynk

Wymagania na poszczególne oceny w klasie II gimnazjum do programu nauczania MATEMATYKA NA CZASIE

ROK SZKOLNY 2017/2018 WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY:

Przedmiotowe zasady oceniania i wymagania edukacyjne z matematyki dla klasy drugiej gimnazjum

Praktyczne przykłady wykorzystania GeoGebry podczas lekcji na II etapie edukacyjnym.

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

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

Ilustracja metody Monte Carlo do obliczania pola obszaru D zawartego w kwadracie [a, b] [a, b].

Zastosowanie Informatyki w Medycynie

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

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

Ćw. I Projektowanie opakowań transportowych cz. 1 Ćwiczenia z Corel DRAW

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

Programowanie proceduralne w języku C++ Podstawy

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE

4.6 OpenOffice Draw tworzenie ilustracji

Trójwymiarowa grafika komputerowa rzutowanie

Rozdział 1. Zastosowanie komputera w życiu codziennym Rozdział 2. Elementy zestawu komputerowego...11

Specyfikacja istotnych warunków zamówienia, numer referencyjny postępowania NT/07/2019 Załącznik nr 1

MATEMATYKA Przed próbną maturą. Sprawdzian 3. (poziom podstawowy) Rozwiązania zadań

ZESPÓŁ SZKÓŁ W OBRZYCKU

ZST SUWAŁKI. Koło zainteresowań Teleinformatyk XXI wieku PROJEKT 3. Suwałki, Marzec 2013

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Księgarnia internetowa Lubię to!» Nasza społeczność

Narysujemy uszczelkę podobną do pokazanej na poniższym rysunku. Rys. 1

MATEMATYKA WOKÓŁ NAS Katalog wymagań programowych na poszczególne stopnie szkolne klasa 4

Wymagania edukacyjne z matematyki na poszczególne śródroczne oceny klasyfikacyjne dla klasy IV w roku 2019/2020.

Co należy zauważyć Rzuty punktu leżą na jednej prostej do osi rzutów x 12, którą nazywamy prostą odnoszącą Wysokość punktu jest odległością rzutu

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA IV DOBRY DZIAŁ 1. LICZBY NATURALNE

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY IV

Matematyka z kluczem

6. Organizacja dostępu do danych przestrzennych

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA IV

MS Visual Studio Express 2012 for Web instalacja i konfiguracja

Wymagania edukacyjne dla klasy VI z matematyki. Opracowane na podstawie programu nauczania Matematyka z plusem LICZBY NATURALNE I UŁAMKI

MATEMATYKA klasa IV wymagania edukacyjne na poszczególne oceny

Zastosowania Robotów Mobilnych

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY IV REALIZOWANE WEDŁUG

KONFIGURACJA STACJI KLIENCKIEJ UMOŻLIWIAJĄCA KORZYSTANIE Z PLATFORMY APLIKACYJNEJ

MATEMATYKA Przed próbną maturą. Sprawdzian 1. (poziom podstawowy) Rozwiązania zadań

FIGURY I BRYŁY JEDNOSTKI MIARY KĄTY POLE I OBWÓD OBJĘTOŚĆ I POWIERZCHNIA TRÓJKĄT PROSTOKĄTNY

Praca kontrolna z matematyki nr 1 Liceum Ogólnokształcące dla Dorosłych Semestr 5 Rok szkolny 2014/2015

MATEMATYKA - KLASA IV. I półrocze

Matematyka w klasie 4

PLAN WYNIKOWY Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY 6

PODSTAWOWE KONSTRUKCJE GEOMETRYCZNE

KONFIGURACJA STACJI KLIENCKIEJ UMOŻLIWIAJĄCA KORZYSTANIE Z PLATFORMY APLIKACYJNEJ

Wymagania programowe na poszczególne stopnie szkolne klasa 4

Wymagania edukacyjne z matematyki w klasie 4 szkoły podstawowej

Katalog wymagań programowych z matematyki na poszczególne stopnie szkolne. Matematyka wokół nas klasa 4

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Wymagania na poszczególne oceny z matematyki do klasy IV na rok 2017/2018

dr inż. Ryszard Rębowski 1 WPROWADZENIE

dodaje liczby bez przekraczania progu dziesiątkowego, zapisuje słownie godziny przedstawione na zegarze,

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 4 SP

Wymagania edukacyjne niezbędne do uzyskania poszczególnych śródrocznych ocen klasyfikacyjnych z matematyki - klasa 4

Laboratorium. Środowisko do komputerowego wspomagania wytwarzania EdgeCAM Obróbka z profili 2D za pomocą cykli, ustawianie części na obrabiarce

KRYTERIA OCENIANIA W KLASACH CZWARTYCH - Matematyka. ocenę niedostateczną otrzymuje uczeń, który nie spełnia kryteriów na ocenę dopuszczającą;

4. Funkcje. Przykłady

Metodyki i techniki programowania

Wymagania edukacyjne niezbędne do uzyskania poszczególnych ocen śródrocznych klasyfikacyjnych z matematyki - klasa 4

Geometria analityczna

Wymagania na poszczególne oceny Matematyka wokół nas klasa IV

Katalog wymagań programowych na poszczególne stopnie szkolne klasa 4

Wymagania edukacyjne z matematyki na poszczególne roczne oceny klasyfikacyjne dla klasy IV w roku 2019/2020.

Zasady rzutowania prostokątnego. metodą europejską. Opracował: Robert Urbanik Zespół Szkół Mechanicznych w Opolu. Zasady rzutowania prostokątnego

Matematyka na czasie Przedmiotowe zasady oceniania wraz z określeniem wymagań edukacyjnych dla klasy 2

Visual Studio instalacja

Modelowanie części w kontekście złożenia

Programowanie telefonów z Windows Phone 7, cz. 3

Zestaw Obliczyć objętość równoległościanu zbudowanego na wektorach m, n, p jeśli wiadomo, że objętość równoległościanu zbudowanego na wektorach:

Sieciowe Technologie Mobilne. Laboratorium 2

Krzysztof Jakubczyk. Zadanie 2

Wymagania edukacyjne z matematyki na poszczególne oceny w klasie 4

Alplast Tools Instrukcja obsługi

Mikołaj Kania Waldemar Korłub Jakub Krajewski

I. Potęgi. Logarytmy. Funkcja wykładnicza.

Test kwalifikacyjny na I Warsztaty Matematyczne

Projekt połowicznej, prostej endoprotezy stawu biodrowego w programie SOLIDWorks.

5.4. Efekty specjalne

Transkrypt:

Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Phone 7. Skąd i jakie paczki pobrać. Coś napiszemy :-)

Definicja według Wikipedii: Wykrywanie kolizji nazwa grupy algorytmów stosowanych w grafice komputerowej i symulacjach komputerowych służących znajdowaniu ograniczeń ruchu w scenach dwu- i trójwymiarowych. Najogólniej, algorytm wykrywający kolizję odpowiada na pytanie, czy przemieszczenie jakiegoś obiektu w danym kierunku jest możliwe, czy może na drodze ruchu znajdują się przeszkody, tj. inne obiekty ruchome lub nieruchome. W symulacjach ciał odkształcających się (np. tkanin) należy również wykrywać kolizje pomiędzy różnymi fragmentami tego samego obiektu.

Mówiąc w dużym uproszczeniu Wykrywanie kolizji to badanie kiedy graficzne reprezentacje obiektów nachodzą na siebie. Na potrzeby wykładu skupimy się na przestrzeni 2D.

Czy wykrywanie kolizji jest nam potrzebne? Może da się żyć bez tego? Wiele silników gier posiada wbudowane moduły do detekcji kolizji. Starsze gry oparte na silniku Quake Engine (jest on w tej chwili na licencji GPL) pozwalają nam na pewne ingerencje w właściwościach takich jak grawitacja, przyspieszenie, a nawet parametry kolizji z poziomu konsoli gry. Zobaczymy jak to wygląda na przykładzie Quaka III.

Elementarne techniki detekcji: 1. Pixel per pixel detection bardzo dokładny sposób, jednak mało efektywny. Sprawdzanie piksel po pikselu wymaga więcej czasu i potrzebna jest dodatkowa pamięć. 2. Przybliżanie obiektów przy pomocy prostych figur geometrycznych (prymitywów graficznych) jeśli wystarcza nam informacja o przybliżonym miejscu kolizji, można traktować obiekty jako np. okręgi. Wtedy badamy odległość między środkami okręgów a sumą ich promieni. Pojawia się, małe ale...

Co teraz? Kolizja między okręgami zostaje wykryta, jednak tak naprawdę do kolizji nie dochodzi. Warto zastanowić się nad lepszym przybliżeniem...

Zamieńmy okręgi na prostokąty. Jak widać efekt jest dużo lepszy, wszystko zależy od obiektu który chcemy przybliżyć, jeśli miałby bardziej owalne kształty okrąg byłby lepszym rozwiązaniem.

Jak to wygląda w 3D Metodę przybliżania obiektu w przestrzeni 2d bardzo łatwo przenieść na 3d. Prostokąt i okrąg zamieniamy odpowiednio na prostopadłościan i sferę. Taka metoda jest rzeczywiście wykorzystywana w praktyce.

Axis-Aligned Bounding Box To metoda wykorzystująca do przybliżania obiektów prostokąty, których krawędzie są równoległe odpowiednio do osi OX i OY w układzie 2D. Patrzy rysunek. Taki prostokąt będziemy reprezentować w algorytmie jako parę punktów (lewy dolny, oraz prawy górny wierzchołek).

Axis-Aligned Bounding Box - algorytm Podstawowa wersja algorytmu: Foreach wierzcholek in Prostokat1 Jeśli wierzcholek zawiera się w Prostokat2 Return kolozja Foreach wierzcholek in Prostokat2 Jeśli wierzcholek zawiera się w Prostokat1 Return kolozja Return brak_kolizji;

Axis-Aligned Bounding Box algorytm, pseudokod. bool collision(const prostokat rect) { if (minx > rect.minx maxx < rect.minx miny > rect.miny maxy < rect.miny) { return false; } return true; } Algorytm ten sprawdza czy kolizja nie zeszła. W XNA mamy do dyspozycji klasę Rectangle, Która znacznie ułatwi nam pracę, ale o tym później.

Przygotowanie do pracy Visual Studio 2010 Jeśli posiadasz już zainstalowane Visual Studio 2010: { Sprawdź czy masz zainstalowany Service Pack 1 do VS, jeśli nie pobierz i zainstaluj (jest to konieczne). Pobierz i zainstaluj Windows Phone SDK 7.1, lub wyższe. Pobierz i zainstaluj XNA Game Studio 4.0. } else { Pobierz i zainstaluj Windows Phone Developer Tools RTW. W tym pakiecie znajduje się cały zestaw narzędzi, wraz ze środowiskiem Visual Studio Express for Windows Phone. }

Przygotowanie do pracy Visual Studio 2010 W przypadku Visual Studio nasza praca przy konfiguracji ogranicza się do klikania w przycisk 'Dalej' i 'Zakończ' :-) Duży plus dla Microsoftu.