Animacja Komputerowa. Interpolacjausers.pja.edu.pl/~denisjuk/ak/wyklady/03-interp.pdf ·...

47
1 / 47 Animacja Komputerowa. Interpolacja Aleksander Denisiuk Polsko-Japońska Akademia Technik Komputerowych Wydział Informatyki w Gdańsku ul. Brzegi 55 80-045 Gdańsk [email protected]

Transcript of Animacja Komputerowa. Interpolacjausers.pja.edu.pl/~denisjuk/ak/wyklady/03-interp.pdf ·...

1 / 47

Animacja Komputerowa. Interpolacja

Aleksander DenisiukPolsko-Japońska Akademia Technik Komputerowych

Wydział Informatyki w Gdańskuul. Brzegi 5580-045 Gdańsk

[email protected]

Interpolacja

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

2 / 47

Najnowsza wersja tego dokumentu dostępna jest pod adresemhttp://users.pja.edu.pl/~denisjuk/

Zagadnienie Interpolacji

ZagadnienieInterpolacji

Zagadnienieinterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

3 / 47

Zagadnienie interpolacji

ZagadnienieInterpolacji

Zagadnienieinterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

4 / 47

� Dane są wartości parametrów w klatkach kluczowych

� współrzędne położenia, kąt nachylenia, obrót rękirobota, etc

� Określić wartości w klatkach pośrednich

� rozpędzanie i spowalnianie, ciągłość

Interpolacja a aproksymacja

ZagadnienieInterpolacji

Zagadnienieinterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

5 / 47

� Interpolacja: krzywe przechodzą dokładnie przez punkty

� krzywe sklejane, interpolacja Hermite’a

� Aproksymacja: dane są punkty kontrolne

� krzywe Beziera, B-sklejane

Złożoność funkcji

ZagadnienieInterpolacji

Zagadnienieinterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

6 / 47

� Wielomiany trzeciego stopnia

� można podawać położenia i prędkości punktówkońcowych

� Wielomiany niższego stopnia

� nie mają punktów przegięcie� krzywe są płaskie

� Wielomiany wyższego stopnia

� nie dają istotnych korzyści� są bardziej skomplikowane obliczeniowo

Ciągłość

ZagadnienieInterpolacji

Zagadnienieinterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

7 / 47

� Ciągłość zerowego rzędu� Ciągłość pierwszego rzędu: ciągły kierunek stycznej(prędkość)

� Ciągłość drugiego rzędu: ciągła krzywizna (przyśpieszenie)

Globalna i lokalna kontrola kształtu

ZagadnienieInterpolacji

Zagadnienieinterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

8 / 47

� Kontrola lokalna

� zmiana jednego punktu ma wpływ na ograniczoną część

� splajny Catmulla-Roma, sklejane parabole, B-spline

� Kontrola globalna

� zmiana jednego punktu ma wpływ na całą krzywą

� interpolacja Lagrange’a

Sterowanie Ruchem

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

9 / 47

Sterowanie ruchem punktu wzdłuż krzywej

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

10 / 47

� Określona jest funkcja interpolacyjna P (u) ∈ R3

� równomierna zmiana parametru u nie oznacza ruchu zestałą prędkością

� parametryzacja łukowa s = s(u), length(u1, u2)

Obliczanie analityczne

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

11 / 47

� length(u1, u2) =u1∫

u1

|P (u)| du =

u1∫

u1

(

dx(u)du

)2+(

dy(u)du

)2+(

dz(u)du

)2du

� krzywa kubiczna� płaska krzywa kwadratowa

Przybliżone obliczanie

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

12 / 47

� Dane są węzły u0 ¬ u1 ¬ · · · ¬ un� Obliczamy P (u0), . . . , P (un)� Tablica odległości:

� G(0) = 0,� G(1) = dist(P0, P1),� G(2) = G(1) + dist(P1, P2),� etc

� Dla oszacowania długości używana jest interpolacja liniowa� length(u1, u2) ≈ G(u2)−G(u1)

Przykład

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

13 / 47

i u G

0 0,00 0,0001 0,05 0,0802 0,10 0,1503 0,15 0,2304 0,20 0,3205 0,25 0,4006 0,30 0,5007 0,35 0,6008 0,40 0,7209 0,45 0,80010 0,50 0,860

i u G

11 0,55 0,90012 0,60 0,15013 0,65 0,92014 0,70 0,93215 0,75 0,94416 0,80 0,95917 0,85 0,97218 0,90 0,98419 0,95 0,99820 1,00 1,000

� s(0,73) ≈ 0, 953� u(0,75) ≈ 0, 41875

Błędy obliczeniowe

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

14 / 47

� Gęstsze tablicowanie� Interpolacja wyższego rzędu� Adaptacja∣

‖P (0)− P (1)‖ −(

‖P (0)− P(

12

)

‖+ ‖P(

12

)

− P (1)‖)∣

< ε

Całkowanie numeryczne

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

15 / 47

� Kwadratura Gaussa1∫

−1f(u) du ≈

i

wif(i)

� Dowolny przedział� Adaptacja

Rozwiązywanie równań

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

16 / 47

� length(u0, u) = s� Metoda Newtona f(t) = 0

tn+1 = tn −f(tn)f ′(tn)

� Metoda siecznych� Wyszukiwanie binarne

Sterowanie prędkością

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

17 / 47

� s(t), gdzie t —czas� Ruch ze stałą prędkością

� s(t) jest funkcją liniową

� ease-in/ease-out

� P (u(s(t)))

� Funkcja odległości powinna być monotoniczna� Funkcja odległości powinna być ciągła� Normalizacja: s ∈ [0, 1], t ∈ [0, 1]

sin t

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

18 / 47

� s(t) = ease(t) =sin(πt−π2 )+1

2

Fragmenty funkcji sinusoidalnej

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

19 / 47

� ease(t) =

2k1πf

(

sin(

πt2k1− π2)

+ 1)

, dla t < k1(

2k1π+ t− k1

)/

f, dla k1 ¬ t < k2(

2k1π+ k2 − k1 +

2(1−k2)πsin(π(t−k2)2(1−k2)

)

)/

f, dla k2 ¬ tgdzie f = 2k1/π + k2 − k1 + 2(1− k2)/π.

π 2⁄ π 2⁄

1.0k1 k2

k1

π 2⁄----------

k2 k1–

1.0 k2–

π 2⁄------------------

Wielomian trzeciego stopnia

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

20 / 47

� ease(t) = −2t3 + 3t2

� Styczne w końcach przedziału [0, 1] są poziome� brak przedziału ze stałą prędkością

Stałe przyśpieszenie

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

21 / 47

� a(t) =

a+ dla 0 < t < t1,

0 dla t1 < t < t2,

a− dla t2 < t < 1.

� v(t) =

v0tt1

dla 0 < t < t1,

v0 dla t1 < t < t2,

v0(

1− t−t21−t2

)

dla t2 < t < 1.� s(t) =

v0t2

2t1dla 0 < t < t1,

v0t12 + v0(t− t1) dla t1 < t < t2,

v0t212 + v0(t− t1) + v0

(

1− 12t−t21−t2

)

(t− t1) dla t2 < t < 1.

Dopasowanie do danej prędkości

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

22 / 47

0.0 1.0

0.0

1.0

5.0

0.0 1.0

0.0

1.0

5.0

User specified velocitiesPossible solution to enforce totaldistance covered equal to one

0.0 1.0

0.0

1.0

5.0

User specified velocities

0.0 1.0

0.0

1.0

5.0

Possible solution to enforce totaldistance covered (signed area

velocity

time

timetime

time

velocity

velocity velocity

under the curve) equal to one

Przykłady funkcji odległości

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

23 / 47

a) starts and ends abruptly b) backs up

c) stalls d) smoothly starts and stops

e) starts part way along the curve and f) waits awhile before starting andgets to the end before t=1.0 doesn’t get all the way to the end

s

t t

t

s

ss

t

t

s

t

s

Warunki na ruch

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

24 / 47

� (ti, si, vi, ai)

s

t

s

t

s

t

s

t

resulting curvevelocity-distance-time constraints specified

Dopasowanie do par położenie-czas

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

25 / 47

P1

P2

P3

P4

time = 0

time = 10

time = 35

time = 60

P5

P6

time=50

time=55

� Warunki (Pi, ti), i = 1, . . . , j.

� Krzywe B-sklejane P (t) =n+1∑

l=1BlNl,k(t), 2 ¬ k ¬ n+ 1 ¬ j

� Układ P = NB

� B = N−1P

� Regularyzacja

� NTP = NTNB

� B = (NTN)−1NTP

Interpolacja kwaternionów

ZagadnienieInterpolacji

SterowanieRuchemSterowanieruchemObliczaniedługości łuku

Metodynumeryczne

Sterowanieprędkością

Rozpędzaniei zatrzymanie

Ogólne funkcjeodległości

Interpolacjakwaternionów

WykorzystanieŚcieżek

26 / 47

� Linowa: q(u) = (1− u)q0 + uq1� Łukowa (slerp): q(u) = sin(1−u)θsin θ q1 +

sinuθsin θ q2

� Interpolacja krzywymi Beziera

� w algorytmie de Casteljau użyć slerp

Wykorzystanie Ścieżek

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

27 / 47

Ruch po ścieżce

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

28 / 47

� Dany jest tor ruchu obiektu (kamery), sparametryzowanydługością łuku oraz funkcja przesunięcia

� ustalić zmianę położenia oraz zorientowania� jeżeli punkty na torze pochodzą z pomiarów, trzeba torwygładzić

� dodatkowo ścieżka może leżeć na powierzchni innegoobiektu

� ścieżka bezkolizyjna

Zorientowanie wzdłuż ścieżki

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

29 / 47

� Lokalny układ współrzędnych (u, v, w) (prawoskrętny)� Początek jest na ścieżce P (s)

v

w

POSP(s)

u

Układ Freneta

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

30 / 47

� Jean Frederic Frenet, 1847

w =P ′(s)|P ′(s)|

u =P ′′(s)× P ′(s)|P ′′(s)× P ′(s)|

v = u× w

Układ Freneta, problemy

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

31 / 47

� Brak naturalnego kierunku „do góry”� Punkty spłaszczenia (P ′′(s) = 0)

� interpolacja na odcinkuvi

vjwi wj

ui uj

� Nieciągłość wektoru normalnego (dwa półokręgi)� Wektor styczny nie określa kierunku, do którego podążaobiekt

� Wektor v (kierunek „do góry”) może gwałtonie się obracać

Układ Freneta, ważna informacja

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

32 / 47

� Wektor normalny wskazuje kierunek skrętu

� można pochylić obiekt w tę stronę� bądź w przeciwnym kierunku (siła odśrodkowa)

Ruch kamery po ścieżce

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

33 / 47

� Wybrać środek zainteresowania (COI) w ustalonym pinkciesceny (w srodku jednego z obiektów)

� w = COI− POS

� Niech oś Oy określa kierunek „do góry”

� u = w × y� v = u× w

Kierunek patrzenia

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

34 / 47

� Kierunek do COI

� przechodzenie blisko COI może spowodować gwałtownezmiany kierunku

� Punkty na krzywej� Punkty na innej krzywej� Interpolowane punkty na scenie� Kierunek „do góry”:

� w płaszczyźnie w i y� odchylony od tego kierunku

Wybór środka zainteresowania

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

35 / 47

� Punkt na krzywej z wyprzdzeniem P (s+∆s)

� wykorzystać parametryzację łukową� na końcu ścieżki można użyć interpolacji z wektoremstycznym w końcowym punkcie

� chwiejąca się kamera

� uśrednienie kilka punktów krzywej

� za mało punktów (albo blisko siebie) — efektpozostaje

� za dużo punktów — kamera będzie zbytstatyczna

� Wprowadzenie dla COI funkcji C(s)� Można wprowadzić dla kierunku „do góry” funkcję U(s)w = C(s)− P (s), u = w × (U(s)− P (s)), v = u× w.

Wygładzanie ścieżki

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

36 / 47

� Jeżeli kolejne punkty pochodzą z pomiarów, to może byćpotrzebne wygładzanie

Interpolacja liniowa

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

37 / 47

� p′i =12

(

pi +pi−1+pi+12

)

= 14pi−1 +12pi +

14pi+1

Interpolacja sześcienna

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

38 / 47

� P (u) — wielomian stopnia 3, przechodący przez sąsiadującepunkty P (0) = pi−1, P (14) = pi−1, P (

34) = pi+1, P (1) = pi+2

� p′i =12

(

P (12) + p1)

� układ równań� wzór Lanrange’a� wzór Newtona

� Na końcach przedziału można użyć paraboli P (0) = p0,P (23) = p2, P (1) = p3, p

1 =12

(

P (13) + p1)

� Pierwszy punkt bez zmian

� można użyć krzywej drugiego stopnia:p′0 = p3 + 3(p1 − p2)

Interpolacja sześcienna, przykład

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

39 / 47

x

y

Użycie splotu

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

40 / 47

� pi = f(xi)

� Splot: f ⋆ g(x) =∞∫

−∞

f(x+ u)g(u) du

� g(u) — filtr,∞∫

−∞

g(u) du = 1

� Całkę można obliczyć numerycznie� W punktach końcowych funkcję można dowolnie rozszerzyć

Przykłady filtrów

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

41 / 47

20

1/20

10

1/10

20

1/10

� prostokątny, dachowy, gaussowski

Splot z filtrem dachowym

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

42 / 47

1/8 3/4 1/8

v1

v2 v3

a) smoothing kernel superimposed

1.0v1

� v = 18v1 +34v2 +

18v3

Aproksymacja krzywymi B-sklejanymi

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

43 / 47

� Można użyć krzywych B-sklejanych

� wynik – gładka krzywa� nie przechodzi przez dane węzły

Wyznaczenie śceżki na powierzchni

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

44 / 47

� Dane są dwa punkty na powierzchni� Ścieżka najkrótsza — kosztowne obliczeniowo� Ścieżka prawie najkrótsza:

� płaszczyna łacząca końce ścieżki i możliwie prostopadłado powierzchni

Wyznaczenie śceżki na powierzchni

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

45 / 47

� Powierzchnia parametryzowana P = P (u, v)

� połaczyć w dziedzinie (u, v) końce ścieżki odcinkiem(łukiem)

� Skomplikowany mash z trójkątów

� algorytm zachłanny wyznaczenia ścieżki z krawędzimasha

� łączymy bieżący punkt z końcem odcinkiem� wybieramy krawędź, która ma najmniejszy kątz odcinkiem

� obliczamy kosinusy

Ścieżka najszybszego spadku

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

46 / 47

N (vector normal to surface)

Y (Global “up” vector: y-axis)

A N Y×=

D Y A×=

Ścieżki bezkolizyjne

ZagadnienieInterpolacji

SterowanieRuchem

WykorzystanieŚcieżek

Ruch po ścieżce

Zorientowaniewzdłuż ścieżki

Kamera

Wygładzanie

Ścieżka napowierzchni

47 / 47

� Nieruchome przeszkody (albo rozhome o wiadomych torach)

� wyznaczenie punktów pośrednich� przybliżenie przeszków prostymi obiektami (sfera,prostopadłóościan)

� Ruchome prezszkody

� poszukiwanie możliwego przedłużenia ścieżki przedprzeszkodą (algorytm zachłanny)

� ruch przeszkod jest pzewidywalny