ZAAWANSOWANE TECHNIKI ANIMACJI TRÓJWYMIAROWYCH MODELI SZKIELETOWYCH W ŚRODOWISKU FRS
|
|
- Adrian Pawlak
- 6 lat temu
- Przeglądów:
Transkrypt
1 STUDIA INFORMATICA 2006 Volume 27 Number 1 (66) Tomasz MYSŁEK, Tomasz GRUDZIŃSKI, Jacek ROSS Politechnika Śląska, Instytut Informatyki ZAAWANSOWANE TECHNIKI ANIMACJI TRÓJWYMIAROWYCH MODELI SZKIELETOWYCH W ŚRODOWISKU FRS Streszczenie. W publikacji wyjaśniono ideę animowania modeli trójwymiarowych za pomocą danych szkieletowych oraz opisano sposoby automatycznej generacji animacji. W ramach przedstawiania metod automatycznej generacji animacji zostały opisane problemy kinematyki prostej i odwrotnej oraz opisano algorytm przybliżonego rozwiązywania problemu kinematyki odwrotnej. Słowa kluczowe: model, szkielet, animacja, kinematyka prosta, kinematyka odwrotna THE ADVANCED TECHNIQUES OF THREE-DIMENSIONAL SKELETON MODELS ANIMATION IN FRS ENGINE Summary. The paper discusses the idea of the animation of a 3-dimensional model by using its skeleton data and also presents some methods of automatic animation generation. During description of methods of automatic animation generation, topics such as forward kinematics and inversed kinematics are mentioned and also the algorithm of approximate solution of inversed kinematics problem is presented. Keywords: model, skeleton, animation, forward kinematics, inversed kinematics 1. Środowisko FRS FRS (ang. Flexible Reality Simulation) jest programistycznym silnikiem wirtualnej rzeczywistości, pozwalającym na łatwe pisanie aplikacji opartych właśnie na wirtualnej rzeczywistości. Silnik jest obecnie intensywnie rozwijany i nie wszystkie założenia są już spełnione,
2 42 T. Mysłek, T. Grudziński, J. Ross jednak osiągnięto już pewną funkcjonalność, pozwalającą na zaprezentowanie prac szerszej publiczności i wyciągnięcie pewnych wniosków. Twórcy FRS postawili sobie za główny cel stworzenie silnika uniwersalnego i łatwego w użyciu, który poza standardowymi elementami podobnych projektów zawierałby komponenty bardziej wyspecjalizowane, możliwe do użycia, lecz nieobowiązkowe dla piszącego aplikację bazującą na silniku. W ten sposób powstaje silnik, który poza możliwością wyświetlania trójwymiarowej grafiki, interakcją między obiektami i sprawną obsługą dźwięku umożliwi także symulację pogody, programowe generowanie modeli roślinności, symulację mimiki ludzkiej twarzy, użycie zaawansowanych algorytmów sztucznej inteligencji oraz sterowanie całością poprzez oferujący dużą funkcjonalność język skryptowy. Silnik FRS omawiany jest szerzej w [1, 3]. Jednym z wielu komponentów wchodzących w skład silnika jest komponent obsługujący animowanie modeli trójwymiarowych, bazujące na informacjach o szkielecie modeli. W dalszej części publikacji skupiono się na zaprezentowaniu wniosków i tez wynikłych z pracy nad tym komponentem. 2. Wprowadzenie do problemu animacji szkieletowej Modele trójwymiarowe umieszczone na scenie poruszane są nie tylko jako całość w obrębie samej sceny, ale także może zostać wykonany ruch pewnych elementów modelu względem niego samego. Oznacza to, że niezależnie od położenia modelu (jako pewnej całości) na scenie mogą być zmieniane położenia pewnych jego części, np. stojący w miejscu model istoty humanoidalnej może jednocześnie machać swoją ręką. Realizacja przemieszczenia całości modelu jest operacją niemal elementarną, natomiast przemieszczanie tylko pewnych fragmentów modelu względem innych części jest znacznie bardziej złożone i temu zagadnieniu poświęcony jest niniejszy artykuł. Samo przemieszczenie fragmentów modelu może być albo utworzone na etapie projektowania modelu, jeszcze przed jego wykorzystaniem, albo już w trakcie używania modelu, bez udziału projektanta modelu. Ten ostatni aspekt tworzenia ruchu fragmentów modelu zwany jest dalej programową metodą generowania animacji, albo dynamicznym generowaniem animacji. Źródłem doświadczeń do napisania tego artykułu była implementacja biblioteki udostępniającej tego typu operacje na modelu. Podobne problemy poruszono również w [5, 6, 7].
3 Zaawansowane techniki animacji trójwymiarowych modeli szkieletowych Idea trójwymiarowych modeli szkieletowych Przez pojęcie modelu trójwymiarowego należy rozumieć każdy obiekt, który może zostać umieszczony na scenie trójwymiarowej. Dokładny opis modelu wymaga zdefiniowania następujących elementów: wierzchołek punkt w przestrzeni trójwymiarowej; poza trzema współrzędnymi przestrzennymi (x, y, z) związane z nim są dodatkowe informacje, takie jak współrzędne wektora normalnego do powierzchni, w skład której wchodzi dany wierzchołek, siatka zbiór wierzchołków pogrupowanych w trójkąty. Jest podstawowym elementem opisującym kształt i wygląd modelu. Na jej podstawie określane są interakcje modelu z otoczeniem. Z siatką związane są dodatkowe informacje określające wygląd modelu oraz sposób wyświetlenia siatki na scenie, jak np. materiał pokrywający siatkę. Sam model może się składać z więcej niż jednej siatki. W artykule często używane będą pojęcia związane z opisem oraz przeliczaniem transformacji wierzchołków. Do danych składających się na transformację należą: translacja położenie elementu lub jego przesunięcie względem środka układu odniesienia, reprezentowane przez wektor, rotacja orientacja elementu lub jego obrót, reprezentowana przez kwaternion. Rys. 1. Kroki obliczenia nowej wartości transformacji T 1, R 1 przekształcanej transformacją T 2, R 2. 1 początkowe transformacje, 2 T 1, R 1 obrócona o rotację R 2, 3 T 1, R 1 obrócona o rotację R 2 i przesunięta o translację T 2 Fig. 1. Sequence of steps of calculating new value of transformation T 1, R 1 transformed by T 2, R 2. 1 initial transformations, 2 T 1, R 1 rotated by the rotation of R 2, 3 T 1, R 1 rotated by the rotation of R 2 and translated by the translation of T 2 Zwykle zmiana transformacji będzie wynikać z wartości innej transformacji. Obliczenie nowej wartości transformacji polega na (rys. 1):
4 44 T. Mysłek, T. Grudziński, J. Ross obliczeniu nowej rotacji poprzez pomnożenie rotacji pierwotnej przez rotację transformacji przekształcającej, zgodnie ze wzorem: R 1 = R 1 * R 2, gdzie R 1, R 2 to rotacje transformacji pierwotnej i przekształcającej reprezentowane przez kwaterniony, zmianie translacji poprzez obrócenie translacji pierwotnej rotacją transformacji przekształcającej, zgodnie ze wzorem T 1 = T 1 * R 2, a następnie przesunięciu otrzymanej translacji o translację przekształcającą, zgodnie ze wzorem T 1 = T 1 + T 2, gdzie T 1, T 2 to translacje transformacji pierwotnej i przekształcającej reprezentowane przez wektory Animowanie modelu Przez pojęcie animowania należy rozumieć zestaw czynności prowadzących do tego, by w wyniku kolejnych odświeżeń wyglądu modelu na scenie model zmieniał transformacje swoich elementów, a co za tym idzie zmieniał swój kształt. Wykonując ruch tylko części modelu, należy wziąć pod uwagę wiedzę o tym, które wierzchołki należy transformować, oraz zależności między wierzchołkami. Istotny jest przede wszystkim ten ostatni z wymienionych czynników, ponieważ model powinien zachowywać pewne pierwotne proporcje swojego kształtu, ustalone w czasie jego projektowania. Z powodu złożoności opis ruchu jako modyfikacji siatki modelu może być stosowany głównie w przypadku prostych animacji, nie wymagających dbania o kształt modelu, lub w przypadku modeli niezwykle prostych. Skoro ruch siatką modelu jako całością jest zbyt skomplikowany, należy w pewien sposób ją uprościć, tak by animowanie fragmentów modelu nie było tak skomplikowane. W tym celu wprowadzono pojęcie szkieletu modelu Idea szkieletu Szkielet jest pewnym zestawem wierzchołków nie wchodzących w skład modelu i nie mających sensu wizualnego. Wierzchołki te są uporządkowane hierarchicznie, tworząc strukturę drzewiastą, a ich ułożenie w przestrzeni sceny powinno w przybliżeniu oddawać kształt modelu (rys. 2). W odróżnieniu do rzeczywistości, gdzie kości szkieletu można uprościć odcinkami, w modelu szkieletowym za kości uznaje się wierzchołki, wchodzące w skład szkieletu. Można to przedstawić jako analogię do modelu biologicznego, gdzie kość modelu wyznacza koniec kości biologicznej, natomiast początek kości biologicznej wyznaczany jest przez kość-rodzica. Korzeń drzewa jest elementem bazowym wszystkich kości, może nim zostać każda kość, jednak ze względów optymalizacyjnych wskazane jest, by długość ścieżki od korzenia do poszczególnych liści nie zmieniała się.
5 Zaawansowane techniki animacji trójwymiarowych modeli szkieletowych Rys. 2. Dwuwymiarowy model i jego szkielet (kropkami zaznaczono kości) Fig. 2. Two-dimensional model and its skeleton (bones marked by the dots) Celem zastosowania porządku hierarchicznego kości jest, aby zmiana transformacji kości powodowała tę samą zmianę u wszystkich kości-potomków danej kości. Jedną z informacji, jaka jest związana z kością, jest jej transformacja. Transformację kości można wyrazić w układzie współrzędnych związanym z całym modelem (tak samo jak jest opisana transformacja wierzchołków). Wadą tego sposobu jest konieczność przeliczenia wszystkich transformacji kości-dzieci po zmianie transformacji rodzica. Inne rozwiązanie przewiduje, że tylko parametry węzła-korzenia (tzn. położenie i orientacja) określone są w globalnym układzie współrzędnych, natomiast parametry wszystkich węzłów potomnych określone są w lokalnych układach współrzędnych ich rodziców (rys. 3). Rys. 3. Translacja kości-dziecka (T 2 ) względem transformacji kości-rodzica (T 1, R 1 ) Fig. 3. Child-bone translation (T 2 ) relative to the parent-bone transformation (T 1, R 1 )
6 46 T. Mysłek, T. Grudziński, J. Ross W ten sposób można pominąć aktualizowanie transformacji kości-dzieci podczas zmiany transformacji kości-przodka. W przypadku kości korzeniowej, czyli kości nie posiadającej rodzica, jej transformacja jest zdefiniowana w przestrzeni całego modelu. Transformacja kości korzeniowej wpłynie zatem na bezwzględną transformację wszystkich kości szkieletu, natomiast transformacja dowolnej innej kości wpływać będzie tylko na daną kość i wszystkie jej kości potomne Wpływ transformacji kości na siatkę modelu Poza danymi związanymi z hierarchią oraz z transformacją należy przechować dane związane z wpływem kości na wierzchołki siatki. Przez pojęcie wpływu kości na wierzchołek siatki należy rozumieć transformację, opisującą zmianę bieżącej transformacji kości w stosunku do transformacji początkowej kości. Przedmiotem zainteresowania jest zmiana, a nie bieżąca transformacja kości, ponieważ modyfikacja transformacji wierzchołka polega na obliczeniu jego bieżącej transformacji przy wykorzystaniu transformacji początkowej wierzchołka. Należy zaznaczyć, że takie obliczenia mają sens tylko wtedy, gdy są wykonywane na danych, których wartości są opisane względem tego samego układu współrzędnych. Z tego powodu transformację kości należy uprzednio przeliczyć do układu współrzędnych wyznaczonego przez model. Ponieważ na dany wierzchołek może wpływać więcej niż jedna kość, więc poza samą wartością wpływu należy uwzględnić wagi, z jakimi kości wpływają na wierzchołek. W takim przypadku, gdy na wierzchołek wpływa więcej niż jedna kość, zmianą transformacji wierzchołka jest średnia ważona ze wszystkich zmian transformacji odziedziczonych od kości. 4. Animowanie modeli szkieletowych Animacja szkieletowa polega na zmienianiu transformacji każdej kości w wybranym zestawie kości na taką, jaką kość powinna przyjąć w zadanej chwili. Ponieważ transformacja każdej kości jest opisana względem jej rodzica, więc zmiana transformacji danej kości nie pociąga za sobą żadnych dodatkowych obliczeń, a co za tym idzie, można opisać ruch każdej kości z osobna niezależnie od pozostałych kości szkieletu Istota animacji szkieletowej Aby opisać ruch pojedynczej kości, wykorzystano w implementacji metodę klatek kluczowych (ang. key frame method). Polega ona na przechowywaniu informacji o transformacji
7 Zaawansowane techniki animacji trójwymiarowych modeli szkieletowych tylko w niektórych momentach określanych klatkami kluczowymi. W sytuacji gdy zachodzi potrzeba dostarczenia transformacji kości dla klatki znajdującej się między klatkami kluczowymi, następuje interpolacja transformacji między tymi klatkami. Tak przechowywane klatki kluczowe tworzą tzw. ścieżkę kości bądź trajektorię ruchu kości (ang. bone track), czyli opis ruchu danej kości w animacji. Podsumowując, animacja szkieletowa składa się ze zbioru ścieżek kości (ścieżki występują tylko dla kości biorących udział w animacji), a te ostatnie składają się ze zbioru klatek kluczowych przechowujących transformacje kości Czas życia animacji Aby animacja mogła wpływać na transformacje kości, a co za tym idzie na wierzchołki modelu, należy ją włączyć, tj. podać do przetwarzania listę jej ścieżek kości. Samo przetwarzanie polega na ustawianiu nowej transformacji kości na zadaną chwilę. W przypadku gdy podana chwila przekracza czas trwania całej animacji, następuje zakończenie przetwarzania animacji. Dodatkowym elementem związanym z uruchamianiem oraz wyłączaniem animacji jest stopniowe wykonywanie wymienionych procesów. Włączając animację, można podać czas, przez który powinno trwać włączanie animacji, i aż do osiągnięcia tego czasu wszelkie zmiany wprowadzane do szkieletu przez tę animację są zmniejszane proporcjonalnie do ilości czasu pozostałego do pełnego włączenia. Analogiczna sytuacja może mieć miejsce przy wyłączaniu animacji (tj. stopniowe wyłączenie) Składanie animacji Oczywisty jest fakt, że w tym samym czasie na kość może wpływać wiele animacji. W celu obliczenia transformacji kości, w przypadku gdy działa na nią więcej niż jedna animacja, należy uśrednić uzyskane interpolowane wartości transformacji, pochodzące z różnych animacji. Wprowadzenie dodatkowo wag do animacji pozwoli na kontrolę procesu animowania w szerszym zakresie Klasyfikacja animacji ze względu na sposób działania Biorąc pod uwagę sposób działania animacji, mogą zostać wyróżnione dwa przypadki działania animacji: Animacje, które mogą działać właściwie przez cały czas. Wygląd modelu przy takiej animacji nie będzie odbiegał od normy (np. animacja stania, chodu, biegu). Tego typu animacje to tzw. animacje cykliczne (ang. cycle animation). Klatki kluczowe w ścieżkach
8 48 T. Mysłek, T. Grudziński, J. Ross kości takich animacji tworzą zwykle cykle, dzięki czemu animacja może być ciągle włączona bez szkody dla wyglądu modelu. W praktyce, animacja po zakończeniu swojego czasu działania nie jest wyłączana i włączana na nowo, lecz następuje przejście na początek listy klatek kluczowych. Animacje, które powinny być uruchamiane tylko w szczególnych przypadkach i zaraz wyłączone (np. animacja wyciągnięcia ręki do przywitania). Te animacje nazywane są animacjami akcyjnymi lub w skrócie akcjami (ang. action animation). Włączane są okazjonalnie i po zakończeniu swoich czasów trwania są wyłączane. Należy zwrócić uwagę, że ze względów wizualizacyjnych animacje akcyjne powinny mieć znacznie większą wagę od cyklicznych, wynika to z faktu, że skoro akcja zostaje włączona, to po to, aby miała widoczny efekt, a nie została zagubiona między włączonymi uprzednio animacjami cyklicznymi Klasyfikacja animacji ze względu na źródło pochodzenia Dane szkieletowe, podobnie jak dane modelu, w znacznej większości pochodzą z tego samego źródła, tzn. są tworzone przez projektantów modeli przy użyciu specjalistycznych narzędzi (np. programu 3D studio MAX firmy Discreet). Do tego typu danych szkieletowych należą struktura szkieletu, początkowe wartości transformacji kości oraz animacje. Animacje tworzone podczas projektowania modelu są zwykle dopracowane wizualnie. Jednak na etapie projektowania nie można przewidzieć wszystkich możliwych transformacji kości, jakie mogą być osiągnięte w trakcie wykonania. Rozwiązaniem tego problemu jest generowanie dynamiczne animacji w czasie wykonania, tj. wtedy, gdy znana jest oczekiwana transformacja kości. Animacje generowane dynamicznie (lub w skrócie animacje dynamiczne) pozwalają na precyzyjne kontrolowanie zachowania szkieletu, a co za tym idzie, także modelu. 5. Dynamiczne generowanie animacji W ramach tworzenia dynamicznego animacji można wyróżnić następujące etapy generacji i użycia: utworzenie podstawowej ścieżki animacji, przetworzenie wygenerowanej ścieżki animacji, złożenie przetworzonych ścieżek do jednej animacji, włączenie animacji jako cyklu lub jako akcji.
9 Zaawansowane techniki animacji trójwymiarowych modeli szkieletowych Wszystkie, z wyjątkiem pierwszego, wymienione etapy tworzenia animacji są opcjonalne. Pozwalają one programiście na zwiększenie kontroli nad uzyskiwanym wizualnym efektem, natomiast nie są niezbędne do utworzenia danych pozwalających na animowanie modelu Utworzenie podstawowej ścieżki animacji Podstawowym etapem generowania animacji jest utworzenie podstawowej ścieżki animacji, ponieważ właśnie wtedy następuje generacja transformacji kości poruszanych w generowanej animacji. Transformacje kości w klatkach kluczowych mogą zostać utworzone poprzez: skopiowanie transformacji ścieżki z innej istniejącej już animacji, rozwiązanie problemu kinematyki prostej, rozwiązanie problemu kinematyki odwrotnej Kopiowanie transformacji ścieżki z już istniejącej animacji Ten sposób tworzenia klatek kluczowych jest wykorzystywany, gdy wymagana jest modyfikacja istniejącej animacji. Wtedy pierwszym etapem jest właśnie skopiowanie klatek kluczowych celem dalszej obróbki Rozwiązanie problemu kinematyki prostej Problem kinematyki prostej (ang. forward kinematics) polega na obliczeniu zmiany orientacji kości (obrócenia kości) o zadany kwaternion (zadany kąt wokół zadanej osi) oraz obliczeniu transformacji tej kości i jej dzieci w czasie oraz po wykonaniu tego obrotu. Wydawać by się mogło, że skoro zgodnie z punktem 3 wartości przechowywanych transformacji kości są wyznaczone w układzie odniesienia wyznaczonym przez rodzica tej kości, to problem sprowadza się do obliczenia nowej transformacji kości względem jej rodzica po obróceniu tej kości zadanym kwaternionem. Tak też jest w istocie, jeśli zadany kwaternion jest także podany w układzie odniesienia związanym z rodzicem danej kości. Taka sytuacja raczej nie występuje (z wyjątkiem przypadku obracania kości korzeniowej szkieletu), ponieważ obrót zwykle będzie przyjmował wartości z przestrzeni całego modelu, należy zatem uprzednio przeliczyć zadany kwaternion do układu odniesienia wyznaczanego przez rodzica danej kości. Należy być świadomym, na czym polega obracanie względnej transformacji kości. Obrócenie kości względem jej rodzica sprowadza się do obrócenia jej wektora translacji oraz do obrócenia jej kwaternionu rotacji. Pierwszy krok powoduje widoczny obrót kości, drugi z kolei jest wymagany, by kości-dzieci także wykonały obrót.
10 50 T. Mysłek, T. Grudziński, J. Ross Rozwiązanie problemu kinematyki odwrotnej Bardziej skomplikowanym problemem do rozwiązania jest problem kinematyki odwrotnej (ang. inversed kinematics). Problem polega na takim doborze orientacji kości kolejnych przodków, aby dana kość osiągnęła żądaną pozycję w przestrzeni modelu. Przed opisem sposobu rozwiązania tego problemu należy zdefiniować kilka pojęć: efektor kość, która ma znaleźć się na zadanej pozycji, łańcuch kości ciąg kości rodziców rozpoczynający się od efektora, który będzie brał udział w przesunięciu efektora do zadanej pozycji, cel punkt, do którego ma zostać przesunięty efektor. Podczas rozwiązywania problemu kinematyki odwrotnej należy uwzględnić fakt, że znalezienie rozwiązania nie zawsze jest możliwe do zrealizowania, a nawet jeśli jest, to znalezione rozwiązanie nie musi być tym najlepszym. Można wyróżnić kilka metod rozwiązania tego problemu. Metody dokładne, opisane w [4], sprowadzają się do obliczeń całkowych, przez co wymagają wysokich mocy obliczeniowych. Moc ta nie jest dostępna podczas tworzenia multimedialnych prezentacji (jest zarezerwowana na inne elementy prezentacji), więc to rozwiązanie nie może zostać wykorzystane. Z drugiej strony, warte zastosowania są metody przybliżone, które dają wynik akceptowalny i co równie ważne dają go szybko. Zastosowana przez autora metoda przybliżona (wzorowana na algorytmie cyklicznego dochodzenia do współrzędnych, ang. CCD Cyclic Coordinate Descent [9]) działa na podobnych zasadach jak iteracyjne metody rozwiązywania układów równań liniowych (np. metoda Seidla); po wyznaczeniu kości wchodzących w skład łańcucha wykonywane są następujące operacje dla każdej z kości łańcucha (rys. 4): wyznaczenie wektora od pozycji bieżącej kości łańcucha do efektora, wyznaczenie wektora od pozycji bieżącej kości łańcucha do celu, wykonanie obrotu bieżącą kością, tak by wyznaczone wektory się zrównały. Wymienione operacje wykonywane są dla każdej kości w łańcuchu, rozpoczynając od kości najstarszej. Całość powinna być powtarzana dopóty, dopóki efektor nie znajdzie się w pobliżu celu lub w wyniku kroków iteracyjnych algorytmu nie zostaną już wyznaczone żadne zmiany w rotacjach kości.
11 Zaawansowane techniki animacji trójwymiarowych modeli szkieletowych Rys. 4. Kolejne operacje na łańcuchu kości; 4 wynik iteracji Fig. 4. Sequence of operations on the bone chain; 4 the result of the iteration Podobnie jak przy rozwiązywaniu problemu kinematyki prostej, także przy rozwiązywaniu tego problemu należy zwrócić uwagę na układy współrzędnych, w których przeliczane są poszczególne transformacje Usprawnienia algorytmu iteracyjnego W oryginalnym algorytmie CCD każda iteracja zaczyna się od najmłodszej kości łańcucha. Dzięki rozpoczęciu iterowania od najstarszej kości łańcucha od razu na początku działania algorytmu efektor może zostać przeniesiony w pobliże celu. Wada tego rozwiązania jest widoczna, gdy łańcuch na początku jest wyprostowany, a cel znajduje się bliżej, niż suma długości kości w łańcuchu wtedy po pierwszym obrocie cały łańcuch znajdzie się na prostej łączącej cel, efektor oraz podstawę łańcucha, a kolejne ruchy będą wykonywane poprzez gwałtowne obroty o 180 O, co nie wygląda realistycznie. Tego efektu można uniknąć poprzez ograniczenie kąta obrotu kości w pojedynczej iteracji. Dobre efekty otrzymano przy ograniczeniu do O. Ponieważ przed przystąpieniem do obliczenia należy znać długość łańcucha kości, który posłuży do przesunięcia efektora, warto wstępnie oszacować szukaną wielkość. Proponowanym szacunkiem jest minimalna liczba kości, których suma długości jest większa od odległości celu do podstawy łańcucha. Kolejnym elementem wartym zautomatyzowania jest maksymalna liczba iteracji (przejść przez cały łańcuch kości) potrzebna do przesunięcia efektora. Szacunek wynika z kąta, o jaki należy obrócić najstarszą kość w łańcuchu, podzielonego przez ograniczenie kąta obrotu na jedną iterację. Dodatkowo, na podstawie doświadczeń uważa się, że dla podwyższenia szansy zakończenia algorytmu poprawnym wynikiem warto tak uzyskany wynik pomnożyć przez 2.
12 52 T. Mysłek, T. Grudziński, J. Ross Uwagi do efektów uzyskiwanych za pomocą prostej i odwrotnej kinematyki Projektant modelu podczas pracy nad nim może zawsze przekonać się, czy utworzone przez niego animacje nie zniekształcają siatek modelu w nienaturalny sposób, przez co wyglądają nierealistycznie. Podczas generowania dynamicznego animacji nie można stwierdzić, jak będzie wyglądała utworzona animacja, dlatego w celu wymuszenia zachowania umiaru w obracaniu kośćmi należy do danych szkieletowych dodać informacje o granicach możliwych zgięć kości analogicznie do ograniczeń, jakie na biologiczny szkielet nakładają stawy. Ponadto, należy także oszacować czas trwania animacji, uzależniając go od kąta obrotu, jaki pokonują kości w czasie animacji. Z pracy związanej z weryfikacją informacji opisanych w [13] wynika, że prędkość kątowa 3 rad/s pozwala na uzyskanie zadowalających rezultatów Przetworzenie wygenerowanej ścieżki animacji Po utworzeniu podstawowej ścieżki animacji kolejnym krokiem tworzenia animacji jest opcjonalne dokonanie pewnych zmian w wygenerowanej ścieżce. Głównym elementem tego etapu jest odgórne ustalenie czasu trwania ścieżki, poprzez przeskalowanie znanego już czasu trwania ścieżki, lub przez ustawienie nowego czasu trwania. Innym wartym uwagi elementem jest możliwość złożenia ścieżek ze sobą, zarówno jako dołączenie jednej ścieżki na koniec drugiej, jak i jako wzajemny przeplot klatek kluczowych z obu ścieżek. Ostatnim, choć nie najmniej ważnym, elementem, na który warto zwrócić uwagę na tym etapie, jest utworzenie cyklu. Cykl można utworzyć na dwa sposoby: albo dodając na koniec ścieżki kilka klatek kluczowych doprowadzających transformacje z klatki końcowej do klatki początkowej, albo przez lustrzane odbicie klatek kluczowych, tzn. skopiowanie klatek kluczowych ścieżki i umieszczenie ich na końcu w odwrotnej kolejności Złożenie przetworzonych ścieżek do jednej animacji Uzyskane ścieżki kluczowe dla różnych kości należy po przetworzeniu zgrupować w animację. Na tym etapie można dołożyć kolejne efekty już do całej animacji, m.in. wspomniane w poprzednim punkcie generowanie cyklu, tym razem jednak w odniesieniu do wszystkich ścieżek zgrupowanych w animacji, oraz manipulacje czasem trwania animacji. Wydaje się jednak, że bardziej wartościową operacją wykonywaną w tym kroku może być ustalenie przesunięć czasowych między poszczególnymi ścieżkami kości.
13 Zaawansowane techniki animacji trójwymiarowych modeli szkieletowych Uruchomienie animacji jako cyklu lub jako akcji Wygenerowana animacja może już zostać uruchomiona, w tym miejscu animacja ma wszelkie cechy animacji dostarczonej do modelu przez projektanta. Nic nie stoi na przeszkodzie, aby uruchomić animację wygenerowaną dynamicznie jako cykl lub jako akcję. Należy jednak pamiętać, że dynamiczna generacja animacji nie zawsze pozwala na uzyskanie zadowalających efektów, a z poziomu kodu nie ma możliwości oceny spodziewanego efektu wizualnego. Z tego też powodu preferowanym obszarem zastosowań animacji generowanych dynamicznie są różnego rodzaju akcje wykonywane przez model. Animacje cykliczne wymagają bowiem na ogół bardziej złożonych ruchów, odnoszą się najczęściej do całego szkieletu (np. chód, bieg), co sprawia, że ich dynamiczne wygenerowanie staje się bardzo trudne. 6. Uwagi końcowe Podsumowując, można stwierdzić, że wykorzystanie danych szkieletowych podczas animowania modelu trójwymiarowego znacznie ułatwia wykonanie tego zadania. Autorzy chcieliby również zwrócić uwagę, że w przypadku wykorzystywania animacji generowanych dynamicznie najlepiej jest ich używać okazjonalnie, starając się łączyć ze sobą zarówno animacje generowane, jak i animacje dostarczone na etapie projektowania modelu. Warto także zadbać, aby podczas uruchamiania akcji wygenerowanej dynamicznie, na modelu była wykonywana jakaś animacja cykliczna, co pozwoli przynajmniej na częściowe ukrycie niedoróbek w utworzonej animacji. LITERATURA 1. Grudziński T., Mysłek T., Ross J.: Wykrywanie kolizji obiektów trójwymiarowych w środowisku FRS, (w przygotowaniu). 2. Mysłek T.: Techniki trójwymiarowych animacji szkieletowych, dynamika modeli trójwymiarowych, Praca magisterska, Politechnika Śląska, Instytut Informatyki, Grudziński T.: Rendering animowanych obiektów trójwymiarowych realizowany w czasie rzeczywistym, Praca magisterska, Politechnika Śląska, Instytut Informatyki, Craig J. J.: Wprowadzenie do robotyki. Mechanika i sterowanie. WNT, Warszawa Lander J.: Skin Them Bones: Game Programming for the Web Generation, Game Developer Magazine, May 1998, dostępne pod adresem 6. Lander J.: Making Kine More Flexible, Game Developer Magazine, November 1998, s , dostępne pod adresem:
14 54 T. Mysłek, T. Grudziński, J. Ross 7. Weber J.: Run-Time Skin Deformation, Game Developers Conference Proceedings (GDC 2000), s , dostępne pod adresem 8. Bobick N.: Rotating Objects Using Quaternions, Game Developer Magazine, February 1998, s , dostępne pod adresem: 9. Weber J.: Ograniczona kinematyka odwrotna (IK), Perełki programowania gier. Vademecum profesjonalisty. Tom 3, Helion 2003 Recenzent: Dr hab. inż. Maria Pietruszka, Prof. Pol. Łódzkiej Wpłynęło do Redakcji 2 stycznia 2006 r. Abstract The paper presents the idea of the animation of an 3-dimensional model by using its skeleton data. It discusses the simplification of an animation of a model, that can be achieved by adding a skeleton (fig. 2). Moreover, it explains the hierarchical structure of bones and how bones transformations influence model data. Most general math operations that are used in making calculations on transformations in 3-dimensional space are mentioned either, along with the way, how bones transformations are calculated to receive data suitable for modifying model vertices (fig. 3). The idea of animating model by using its skeleton data and particularly the ways of starting and finishing animations of different animation types are discussed in section 4. Moreover, beside describing the primary area of use of the skeleton animations, the possibilities of dynamic animation generation, i.e. by solving the problem of forward or inversed kinematics, are introduced in section 5. Section shows the idea of solving the inversed kinematics problem. Adresy Tomasz GRUDZIŃSKI: Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, Gliwice, Polska, tomasz.grudzinski@polsl.pl. Jacek ROSS: Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, Gliwice, Polska, jacek@artifexmundi.com. Tomasz MYSŁEK: Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, Gliwice, Polska, kwll@poczta.onet.pl.
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
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
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
Wykład 12. Animacja postaci
Wykład 12. Animacja postaci W grach komputerowych i wideo stosowane są następujące rodzaje animacji postaci: duszki i animacja tekstury (sprite animation) morfing (morph target animation) animacja hierarchii
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
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
Aleksandra Zając. Raport. Blender. Pokemon: Eevee
Aleksandra Zając Raport Blender Pokemon: Eevee 1. Modelowanie Przed rozpoczęciem modelowania do Blendera załadowałam obraz przedstawiający wybranego pokemona, aby podczas modelowania jak najlepiej odwzorować
Techniki animacji komputerowej
Techniki animacji komputerowej 1 Animacja filmowa Pojęcie animacji pochodzi od ożywiania i ruchu. Animować oznacza dawać czemuś życie. Słowem animacja określa się czasami film animowany jako taki. Animacja
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
PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM
Mostefa Mohamed-Seghir Akademia Morska w Gdyni PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM W artykule przedstawiono propozycję zastosowania programowania dynamicznego do rozwiązywania
Manipulator OOO z systemem wizyjnym
Studenckie Koło Naukowe Robotyki Encoder Wydział Automatyki, Elektroniki i Informatyki Politechnika Śląska Manipulator OOO z systemem wizyjnym Raport z realizacji projektu Daniel Dreszer Kamil Gnacik Paweł
Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok
SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy stworzenie grafiki
Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016
Politechnika Krakowska im. Tadeusza Kościuszki Karta przedmiotu Wydział Mechaniczny obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016 Kierunek studiów: Inżynieria Produkcji Forma
Techniki wizualizacji. Ćwiczenie 10. System POV-ray tworzenie animacji
Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Techniki wizualizacji Ćwiczenie 10 System POV-ray tworzenie animacji Celem ćwiczenia
Zastosowania Robotów Mobilnych
Zastosowania Robotów Mobilnych Temat: Zapoznanie ze środowiskiem Microsoft Robotics Developer Studio na przykładzie prostych problemów nawigacji. 1) Wstęp: Microsoft Robotics Developer Studio jest popularnym
Grafika Komputerowa Materiały Laboratoryjne
Grafika Komputerowa Materiały Laboratoryjne Laboratorium 14 Blender, podstawy animacji Wstęp Zagadnienie tworzenia animacji 3D w Blenderze jest bardzo szerokie i wiąże się z wieloma grupami rozwiązao.
Alicja Marszałek Różne rodzaje baz danych
Alicja Marszałek Różne rodzaje baz danych Rodzaje baz danych Bazy danych można podzielić wg struktur organizacji danych, których używają. Można podzielić je na: Bazy proste Bazy złożone Bazy proste Bazy
Grafika 2D. Animacja Zmiany Kształtu. opracowanie: Jacek Kęsik
Grafika 2D Animacja Zmiany Kształtu opracowanie: Jacek Kęsik Wykład przedstawia podstawy animacji zmiany kształtu - morfingu Animacja zmiany kształtu Podstawowe pojęcia Zlewanie (Dissolving / cross-dissolving)
Dokąd on zmierza? Przemieszczenie i prędkość jako wektory
A: 1 OK Muszę to powtórzyć... Potrzebuję pomocy Dokąd on zmierza? Przemieszczenie i prędkość jako wektory Łódź żegluje po morzu... Płynie z szybkością 10 węzłów (węzeł to 1 mila morska na godzinę czyli
Wektory, układ współrzędnych
Wektory, układ współrzędnych Wielkości występujące w przyrodzie możemy podzielić na: Skalarne, to jest takie wielkości, które potrafimy opisać przy pomocy jednej liczby (skalara), np. masa, czy temperatura.
Autodesk 3D Studio MAX Animacja komputerowa i praca kamery
Autodesk 3D Studio MAX Animacja komputerowa i praca kamery dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 5 maja 2017 1 / 22 Plan
Górnicki Mateusz 17681
Streszczenie referatu pt.: Obróbka i montaż wideo w programie Sony Vegas -ścieżki audio/wideo, przejścia, filtry, rendering i inne Tytuł streszczenia: Maskowanie i animacja w programie Sony Vegas Pro Data
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Inżynieria oprogramowania Rodzaj zajęć: wykład, laboratorium I KARTA PRZEDMIOTU CEL PRZEDMIOTU GRAFICZNE MODELOWANIE
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych
Technologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z
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
ZASTOSOWANIE TECHNOLOGII WIRTUALNEJ RZECZYWISTOŚCI W PROJEKTOWANIU MASZYN
MODELOWANIE INŻYNIERSKIE ISSN 1896-771X 37, s. 141-146, Gliwice 2009 ZASTOSOWANIE TECHNOLOGII WIRTUALNEJ RZECZYWISTOŚCI W PROJEKTOWANIU MASZYN KRZYSZTOF HERBUŚ, JERZY ŚWIDER Instytut Automatyzacji Procesów
Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Rozszerzony konspekt preskryptu do przedmiotu Podstawy Robotyki dr inż. Marek Wojtyra Instytut Techniki Lotniczej
1 Wprowadzenie do algorytmiki
Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności
Symulacje komputerowe
Fizyka w modelowaniu i symulacjach komputerowych Jacek Matulewski (e-mail: jacek@fizyka.umk.pl) http://www.fizyka.umk.pl/~jacek/dydaktyka/modsym/ Symulacje komputerowe Dynamika bryły sztywnej Wersja: 8
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
Optymalizacja ciągła
Optymalizacja ciągła 5. Metoda stochastycznego spadku wzdłuż gradientu Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 04.04.2019 1 / 20 Wprowadzenie Minimalizacja różniczkowalnej
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
Modelowanie krzywych i powierzchni
3 Modelowanie krzywych i powierzchni Modelowanie powierzchniowe jest kolejną metodą po modelowaniu bryłowym sposobem tworzenia części. Jest to też sposób budowy elementu bardziej skomplikowany i wymagający
Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki
Politechnika Warszawska Wydział Mechatroniki Instytut Automatyki i Robotyki Ćwiczenie laboratoryjne 2 Temat: Modelowanie powierzchni swobodnych 3D przy użyciu programu Autodesk Inventor Spis treści 1.
Modelowanie i Wizualizowanie 3W grafiki. Łańcuchy kinematyczne
Modelowanie i Wizualizowanie 3W grafiki. Łańcuchy kinematyczne Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 1 / 31 Łańcuchy kinematyczne Najnowsza
Notacja Denavita-Hartenberga
Notacja DenavitaHartenberga Materiały do ćwiczeń z Podstaw Robotyki Artur Gmerek Umiejętność rozwiązywania prostego zagadnienia kinematycznego jest najbardziej bazową umiejętność zakresu Robotyki. Wyznaczyć
Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38
Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego
Program V-SIM tworzenie plików video z przebiegu symulacji
Program V-SIM tworzenie plików video z przebiegu symulacji 1. Wprowadzenie Coraz częściej zdarza się, że zleceniodawca opinii prosi o dołączenie do opracowania pliku/ów Video z zarejestrowanym przebiegiem
Badanie ruchu złożenia
Badanie ruchu złożenia W wersji Standard programu SolidWorks mamy do dyspozycji dwie aplikacje: Podstawowy ruch symulacja ruchu z użyciem grawitacji, sprężyn, napędów oraz kontaktu między komponentami.
RÓWNANIE DYNAMICZNE RUCHU KULISTEGO CIAŁA SZTYWNEGO W UKŁADZIE PARASOLA
Dr inż. Andrzej Polka Katedra Dynamiki Maszyn Politechnika Łódzka RÓWNANIE DYNAMICZNE RUCHU KULISTEGO CIAŁA SZTYWNEGO W UKŁADZIE PARASOLA Streszczenie: W pracy opisano wzajemne położenie płaszczyzny parasola
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: MECHANIKA I BUDOWA MASZYN Rodzaj przedmiotu: obowiązkowy na kierunku Rodzaj zajęć: wykład, laboratorium ROBOTYKA Robotics Forma studiów: stacjonarne Poziom przedmiotu: I stopnia
1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. Scenariusz lekcji. 2.1 Wiadomości: 2.
Motyle Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Motyle 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: opisać sposób tworzenia animacji; opisać sposób zmiany postaci żółwia; wyjaśnić pojęcie klatki;
Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw Budowy Maszyn Zakład Mechaniki
Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw udowy Maszyn Zakład Mechaniki http://www.ipbm.simr.pw.edu.pl/ Teoria maszyn i podstawy automatyki semestr zimowy 2016/2017
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL. sin x2 (1)
ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ NIELINIOWYCH PRZY POMOCY DODATKU SOLVER PROGRAMU MICROSOFT EXCEL 1. Problem Rozważmy układ dwóch równań z dwiema niewiadomymi (x 1, x 2 ): 1 x1 sin x2 x2 cos x1 (1) Nie jest
Weryfikacja geometrii wypraski oraz jej modyfikacja z zastosowaniem Technologii Synchronicznej systemu NX
Weryfikacja geometrii wypraski oraz jej modyfikacja z zastosowaniem Technologii Synchronicznej systemu NX Projektowanie i wytwarzanie form wtryskowych, przeznaczonych do produkcji wyprasek polimerowych,
Metody animacji komputerowych
Metody animacji komputerowych Definicja Animacja jest procesem automatycznego generowania serii obrazów, gdy kolejny obraz przedstawia pewną zmianę w stosunku do poprzedniego. Pojęcie to obejmuje zmiany
Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.
Spis Treści 1. Wprowadzenie... 2 1.1 Wstęp... 2 1.2 Cel pracy... 2 1.3 Zakres pracy... 2 1.4 Użyte technologie... 2 1.4.1 Unity 3D... 3 2. Sztuczna inteligencja w grach komputerowych... 4 2.1 Zadanie sztucznej
Algorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
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
Algorytmy wyznaczania centralności w sieci Szymon Szylko
Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności
Ruch. Kinematyka zajmuje się opisem ruchu różnych ciał bez wnikania w przyczyny, które ruch ciał spowodował.
Kinematyka Ruch Kinematyka zajmuje się opisem ruchu różnych ciał bez wnikania w przyczyny, które ruch ciał spowodował. Ruch rozumiany jest jako zmiana położenia jednych ciał względem innych, które nazywamy
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ć
DIGITALIZACJA GEOMETRII WKŁADEK OSTRZOWYCH NA POTRZEBY SYMULACJI MES PROCESU OBRÓBKI SKRAWANIEM
Dr inż. Witold HABRAT, e-mail: witekhab@prz.edu.pl Politechnika Rzeszowska, Wydział Budowy Maszyn i Lotnictwa Dr hab. inż. Piotr NIESŁONY, prof. PO, e-mail: p.nieslony@po.opole.pl Politechnika Opolska,
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
UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych
MODEL MANIPULATORA O STRUKTURZE SZEREGOWEJ W PROGRAMACH CATIA I MATLAB MODEL OF SERIAL MANIPULATOR IN CATIA AND MATLAB
Kocurek Łukasz, mgr inż. email: kocurek.lukasz@gmail.com Góra Marta, dr inż. email: mgora@mech.pk.edu.pl Politechnika Krakowska, Wydział Mechaniczny MODEL MANIPULATORA O STRUKTURZE SZEREGOWEJ W PROGRAMACH
Backend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
ANALIZA KINEMATYCZNA PALCÓW RĘKI
MODELOWANIE INŻYNIERSKIE ISSN 1896-771X 40, s. 111-116, Gliwice 2010 ANALIZA KINEMATYCZNA PALCÓW RĘKI ANTONI JOHN, AGNIESZKA MUSIOLIK Katedra Wytrzymałości Materiałów i Metod Komputerowych Mechaniki, Politechnika
Tworzenie prezentacji w MS PowerPoint
Tworzenie prezentacji w MS PowerPoint Program PowerPoint dostarczany jest w pakiecie Office i daje nam możliwość stworzenia prezentacji oraz uatrakcyjnienia materiału, który chcemy przedstawić. Prezentacje
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Metody optymalizacji Metody bezgradientowe optymalizacji bez ograniczeń Materiały pomocnicze do ćwiczeń
WYKORZYSTANIE MES DO WYZNACZANIA WPŁYWU PĘKNIĘCIA W STOPIE ZĘBA KOŁA NA ZMIANĘ SZTYWNOŚCI ZAZĘBIENIA
ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2009 Seria: TRANSPORT z. 65 Nr kol. 1807 Tomasz FIGLUS, Piotr FOLĘGA, Piotr CZECH, Grzegorz WOJNAR WYKORZYSTANIE MES DO WYZNACZANIA WPŁYWU PĘKNIĘCIA W STOPIE ZĘBA
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
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
Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/
Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.
Grafika 3D program POV-Ray - 94 -
Temat 12: Polecenie blob parametry i zastosowanie do tworzenia obiektów. Użycie polecenia blob (kropla) jest wygodnym sposobem tworzenia gładkiego przejścia pomiędzy bryłami (kulami lub walcami). Możemy
Mechanika Robotów. Wojciech Lisowski. 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej
Katedra Robotyki i Mechatroniki Akademia Górniczo-Hutnicza w Krakowie Mechanika Robotów Wojciech Lisowski 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej Mechanika Robotów KRiM, WIMIR, AGH
Ćwiczenie Stany nieustalone w obwodach liniowych pierwszego rzędu symulacja komputerowa
INSTYTUT SYSTEMÓW INŻYNIERII ELEKTRYCZNEJ TEORIA OBWODÓW ELEKTRYCZNYCH LABORATORIUM Ćwiczenie Stany nieustalone w obwodach liniowych pierwszego rzędu symulacja komputerowa Grupa nr:. Zespół nr:. Skład
IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące
IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...
3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która
3. Interpolacja Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która przyjmuje wartości y 1, y 2,, y n, dla skończonego zbioru argumentów x 1, x
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
Sposoby przedstawiania algorytmów
Temat 1. Sposoby przedstawiania algorytmów Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły
Manipulatory i roboty mobilne AR S1 semestr 5
Manipulatory i roboty mobilne AR S semestr 5 Konrad Słodowicz MN: Zadanie proste kinematyki manipulatora szeregowego - DOF Położenie manipulatora opisać można dwojako w przestrzeni kartezjańskiej lub zmiennych
Trajektoria rzuconego ukośnie granatu w układzie odniesienia skręcającego samolotu
Politechnika Łódzka FTIMS Kierunek: Informatyka rok akademicki: 2009/2010 sem. 3. grupa II Termin: 10 XI 2009 Zadanie: Trajektoria rzuconego ukośnie granatu w układzie odniesienia skręcającego samolotu
CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:
CMAES Covariance Matrix Adaptation Evolution Strategy Opracowanie: Lidia Wojciechowska W algorytmie CMAES, podobnie jak w algorytmie EDA, adaptowany jest rozkład prawdopodobieństwa generacji punktów, opisany
ALGORYTMY I STRUKTURY DANYCH
LGORTM I STRUKTUR DNH Temat 6: Drzewa ST, VL Wykładowca: dr inż. bigniew TRPT e-mail: bigniew.tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/ Współautorami wykładu
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
KARTA MODUŁU KSZTAŁCENIA
KARTA MODUŁU KSZTAŁCENIA I. Informacje ogólne I. 1 Nazwa modułu kształcenia Przedmiot do wyboru - Trójwymiarowa grafika komputerowa 2 Nazwa jednostki prowadzącej moduł (należy wskazać nazwę zgodnie ze
Autodesk 3D Studio MAX Teksturowanie modeli 3D
Autodesk 3D Studio MAX Teksturowanie modeli 3D dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 25 kwietnia 2017 1 / 20 Plan Wykładu
Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010
1/1 Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010 Nazwa przedmiotu: PROGRAMOWANIE GIER KOMPUTEROWYCH Kierunek: Specjalność: Tryb studiów: INFORMATYKA Kod/nr INTERAKTYWNA GRAFIKA
Spacery losowe generowanie realizacji procesu losowego
Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z
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
QUERY język zapytań do tworzenia raportów w AS/400
QUERY język zapytań do tworzenia raportów w AS/400 Dariusz Bober Katedra Informatyki Politechniki Lubelskiej Streszczenie: W artykule przedstawiony został język QUERY, standardowe narzędzie pracy administratora
Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów
Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa Diagnostyka i niezawodność robotów Laboratorium nr 6 Model matematyczny elementu naprawialnego Prowadzący: mgr inż. Marcel Luzar Cele ćwiczenia:
Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32
Analiza i projektowanie oprogramowania Analiza i projektowanie oprogramowania 1/32 Analiza i projektowanie oprogramowania 2/32 Cel analizy Celem fazy określania wymagań jest udzielenie odpowiedzi na pytanie:
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA
OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000
Modelowanie i symulacja II Modelling and Simulation II. Automatyka i Robotyka II stopień ogólno akademicki studia stacjonarne
KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2013/2014 Modelowanie i symulacja II Modelling and Simulation II A. USYTUOWANIE
Mikołaj Kania Waldemar Korłub Jakub Krajewski
Mikołaj Kania Waldemar Korłub Jakub Krajewski Wprowadzenie do projektowania gry strategicznej w oparciu o XNA Framework Mobilizacja Nasibu Isle XNA Framework Wirtualny świat rozgrywki Elementy 2D Elementy
O strukturze przestrzeni konfiguracji w trójwymiarowym ruchu obrotowym
O strukturze przestrzeni konfiguracji w trójwymiarowym ruchu obrotowym dr inż. Przemysław Dobrowolski 4 stycznia 2017 Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych Wprowadzenie Zagadnienie
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
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
ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5
ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL CAD 2D. Sylabus opisuje zakres wiedzy i umiejętności, jakie musi opanować
WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...
WYKŁAD 10 Kompresja krzywych dyskretnych Kompresja krzywych dyskretnych KP SK = KW SK - stopień kompresji krzywej. KP [bajt] - obszar pamięci zajmowany przez kod pierwotny krzywej. KW [bajt] - obszar pamięci
ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował:
Grafika 2D. Animacja - wstęp. Wykład obejmuje podstawowe pojęcia związane z animacja komputerową. opracowanie: Jacek Kęsik
Grafika 2D - wstęp opracowanie: Jacek Kęsik Wykład obejmuje podstawowe pojęcia związane z animacja komputerową 1 podstawowe pojęcia Scena Rodzaje animacji Symbole Bardzo szybkie wyświetlanie sekwencji
Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.
Ćwiczenie 5 - Tworzenie animacji Podczas tworzenia prostej animacji wykorzystywać będziemy okno Timeline domyślnie ustawione na dole okna Blendera (Rys. 1). Proces tworzenia animacji polega na stworzeniu
Laboratorium Metod Optymalizacji
Laboratorium Metod Optymalizacji Grupa nr... Sekcja nr... Ćwiczenie nr 4 Temat: Programowanie liniowe (dwufazowa metoda sympleksu). Lp. 1 Nazwisko i imię Leszek Zaczyński Obecność ocena Sprawozdani e ocena