• Nie Znaleziono Wyników

Metody interpolacji

N/A
N/A
Protected

Academic year: 2021

Share "Metody interpolacji"

Copied!
47
0
0

Pełen tekst

(1)

Animacja Komputerowa. Interpolacja

Aleksander Denisiuk

Polsko-Japońska Akademia Technik Komputerowych

Wydział Informatyki w Gdańsku

ul. Brzegi 55

80-045 Gdańsk

(2)

Interpolacja

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek

2 / 47

Najnowsza wersja tego dokumentu dostępna jest pod adresem

(3)

Zagadnienie Interpolacji

Zagadnienie Interpolacji Zagadnienie interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek

(4)

Zagadnienie interpolacji

Zagadnienie Interpolacji Zagadnienie interpolacji Sterowanie Ruchem 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ęki

robota, etc



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

(5)

Interpolacja a aproksymacja

Zagadnienie Interpolacji Zagadnienie interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek



Interpolacja: krzywe przechodzą dokładnie przez punkty



krzywe sklejane, interpolacja Hermite’a



Aproksymacja: dane są punkty kontrolne

(6)

Złożoność funkcji

Zagadnienie Interpolacji Zagadnienie interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek

6 / 47



Wielomiany trzeciego stopnia



można podawać położenia i prędkości punktów

końcowych



Wielomiany niższego stopnia



nie mają punktów przegięcie



krzywe są płaskie



Wielomiany wyższego stopnia



nie dają istotnych korzyści

(7)

Ciągłość

Zagadnienie Interpolacji Zagadnienie interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek



Ciągłość zerowego rzędu



Ciągłość pierwszego rzędu: ciągły kierunek stycznej

(prędkość)

(8)

Globalna i lokalna kontrola kształtu

Zagadnienie Interpolacji Zagadnienie interpolacji Sterowanie Ruchem 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ą

(9)

Sterowanie Ruchem

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

(10)

Sterowanie ruchem punktu wzdłuż krzywej

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

10 / 47



Określona jest funkcja interpolacyjna P (u) ∈ R

3



równomierna zmiana parametru u nie oznacza ruchu ze

stałą prędkością

(11)

Obliczanie analityczne

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek



length(u

1

, u

2

) =

u

1

R

u

1

| ˙

P (u)| du =

u

1

R

u

1

r



dx

(u)

du



2

+



dy

du

(u)



2

+



dz

du

(u)



2

du



krzywa kubiczna

(12)

Przybliżone obliczanie

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

12 / 47



Dane są węzły u

0

¬ u

1

¬ · · · ¬ u

n



Obliczamy P (u

0

), . . . , P (un

)



Tablica odległości:



G(0) = 0,



G(1) = dist(P

0

, P

1

),



G(2) = G(1) + dist(P

1

, P

2

),



etc



Dla oszacowania długości używana jest interpolacja liniowa



length(u

1

, u

2

) ≈ G(u

2

) − G(u

1

)

(13)

Przykład

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

i

u

G

0 0,00 0,000

1 0,05 0,080

2 0,10 0,150

3 0,15 0,230

4 0,20 0,320

5 0,25 0,400

6 0,30 0,500

7 0,35 0,600

8 0,40 0,720

9 0,45 0,800

10 0,50 0,860

i

u

G

11 0,55 0,900

12 0,60 0,150

13 0,65 0,920

14 0,70 0,932

15 0,75 0,944

16 0,80 0,959

17 0,85 0,972

18 0,90 0,984

19 0,95 0,998

20 1,00 1,000



s(0,73) ≈ 0, 953



u(0,75) ≈ 0, 41875

(14)

Błędy obliczeniowe

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

14 / 47



Gęstsze tablicowanie



Interpolacja wyższego rzędu



Adaptacja

kP (0) − P (1)k −



kP (0) − P



1

2



k + kP



1

2



− P (1)k



< ε

(15)

Całkowanie numeryczne

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek



Kwadratura Gaussa

1

R

1

f (u) du ≈

P

i

w

i

f (i)



Dowolny przedział



Adaptacja

(16)

Rozwiązywanie równań

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

16 / 47



length(u

0

, u) = s



Metoda Newtona f(t) = 0

t

n

+1

= t

n

f (t

n

)

f

(t

n

)



Metoda siecznych



Wyszukiwanie binarne

(17)

Sterowanie prędkością

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek



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

(18)

sin t

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

18 / 47



s(t) = ease(t) =

sin

(

πt−

π 2

)

+1

2

(19)

Fragmenty funkcji sinusoidalnej

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek



ease(t) =

2k

1

πf



sin

πt

2k

1

π

2



+ 1



,

dla t < k

1



2k

1

π

+ t − k

1

.

f,

dla k

1

¬ t < k

2



2k

1

π

+ k

2

− k

1

+

2(1−k

2

)

π

sin

π

(t−k

2

)

2(1−k

2

)



.

f,

dla k

2

¬ t

gdzie f = 2k

1

/π + k

2

− k

1

+ 2(1 − k

2

)/π.

π

2

π

2

1.0

k

k

k

1

π

2

---k

2

k

1

1.0

k

2

π

2

(20)

---Wielomian trzeciego stopnia

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

20 / 47



ease(t) = −2t

3

+ 3t

2



Styczne w końcach przedziału [0, 1] są poziome



brak przedziału ze stałą prędkością

(21)

Stałe przyśpieszenie

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek



a(t) =

a

+

dla 0 < t < t

1

,

0

dla t

1

< t < t

2

,

a

dla t

2

< t < 1.



v(t) =

v

0

t

t

1

dla 0 < t < t

1

,

v

0

dla t

1

< t < t

2

,

v

0



1 −

t−t

2

1−t

2



dla t

2

< t < 1.



s(t) =

v

0

2t

t

21

dla 0 < t < t

1

,

v

0

t

2

1

+ v

0

(t − t

1

)

dla t

1

< t < t

2

,

v

0

t

21

2

+ v

0

(t − t

1

) + v

0



1 −

1

2

t−t

2

1−t

2



(t − t

1

)

dla t

2

< t < 1.

(22)

Dopasowanie do danej prędkości

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionó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 velocities Possible 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 total distance covered (signed area velocity time time time time velocity velocity velocity

(23)

Przykłady funkcji odległości

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

a) starts and ends abruptly b) backs up

c) stalls d) smoothly starts and stops s t t t s s s t t s s

(24)

Warunki na ruch

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

24 / 47



(t

i

, s

i

, v

i

, a

i

)

s t s t s t s t resulting curve

(25)

Dopasowanie do par położenie-czas

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek P1 P2 P3 P4 time = 0 time = 10 time = 35 time = 60 P5 P6 time=50 time=55



Warunki (P

i

, t

i

), i = 1, . . . , j.



Krzywe B-sklejane P (t) =

n

+1

P

l

=1

B

l

N

l,k

(t), 2 ¬ k ¬ n + 1 ¬ j



Układ P = NB



B = N

1

P



Regularyzacja



N

T

P = N

T

N B

B = (N

T

N )

1

N

T

P

(26)

Interpolacja kwaternionów

Zagadnienie Interpolacji Sterowanie Ruchem Sterowanie ruchem Obliczanie długości łuku Metody numeryczne Sterowanie prędkością Rozpędzanie i zatrzymanie Ogólne funkcje odległości Interpolacja kwaternionów Wykorzystanie Ścieżek

26 / 47



Linowa: q(u) = (1 − u)q

0

+ uq

1



Łukowa (slerp): q(u) =

sin(1−u)θ

sin θ

q

1

+

sin uθ

sin θ

q

2



Interpolacja krzywymi B´eziera

(27)

Wykorzystanie Ścieżek

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

(28)

Ruch po ścieżce

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

28 / 47



Dany jest tor ruchu obiektu (kamery), sparametryzowany

długością łuku oraz funkcja przesunięcia



ustalić zmianę położenia oraz zorientowania



jeżeli punkty na torze pochodzą z pomiarów, trzeba tor

wygładzić



dodatkowo ścieżka może leżeć na powierzchni innego

obiektu

(29)

Zorientowanie wzdłuż ścieżki

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni



Lokalny układ współrzędnych (u, v, w) (prawoskrętny)



Początek jest na ścieżce P (s)

v

w

POS

P(s)

u

(30)

Układ Freneta

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

30 / 47



Jean Fr´ed´eric Frenet, 1847

w =

P

(s)

|P

(s)|

u =

P

′′

(s) × P

(s)

|P

′′

(s) × P

(s)|

v = u × w

(31)

Układ Freneta, problemy

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni



Brak naturalnego kierunku „do góry”



Punkty spłaszczenia (P

′′

(s) = 0)



interpolacja na odcinku

v

i

v

j

w

i

w

j

u

i

u

j



Nieciągłość wektoru normalnego (dwa półokręgi)



Wektor styczny nie określa kierunku, do którego podąża

obiekt

(32)

Układ Freneta, ważna informacja

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

32 / 47



Wektor normalny wskazuje kierunek skrętu



można pochylić obiekt w tę stronę

(33)

Ruch kamery po ścieżce

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni



Wybrać środek zainteresowania (COI) w ustalonym pinkcie

sceny (w srodku jednego z obiektów)



w = COI − POS



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



u = w × y

(34)

Kierunek patrzenia

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

34 / 47



Kierunek do COI



przechodzenie blisko COI może spowodować gwałtowne

zmiany kierunku



Punkty na krzywej



Punkty na innej krzywej



Interpolowane punkty na scenie



Kierunek „do góry”:



w płaszczyźnie w i y

(35)

Wybór środka zainteresowania

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni



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



wykorzystać parametryzację łukową



na końcu ścieżki można użyć interpolacji z wektorem

stycznym w końcowym punkcie



chwiejąca się kamera



uśrednienie kilka punktów krzywej



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

pozostaje



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

statyczna



Wprowadzenie dla COI funkcji C(s)



Można wprowadzić dla kierunku „do góry” funkcję U(s)

(36)

Wygładzanie ścieżki

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

36 / 47



Jeżeli kolejne punkty pochodzą z pomiarów, to może być

(37)

Interpolacja liniowa

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni



p

i

=

1

2



p

i

+

p

i−1

+p

2

i+1



=

1

4

p

i−

1

+

1

2

p

i

+

1

4

p

i

+1

(38)

Interpolacja sześcienna

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

38 / 47



P (u) — wielomian stopnia 3, przechodący przez sąsiadujące

punkty P (0) = pi−

1

, P (

1

4

) = pi−

1

, P (

3

4

) = pi

+1

, P (1) = pi

+2



p

i

=

1

2



P (

1

2

) + p

1





układ równań



wzór Lanrange’a



wzór Newtona



Na końcach przedziału można użyć paraboli P (0) = p

0

,

P (

2

3

) = p

2

, P (1) = p

3

, p

1

=

1

2



P (

1

3

) + p

1





Pierwszy punkt bez zmian



można użyć krzywej drugiego stopnia:

p

(39)

Interpolacja sześcienna, przykład

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni x y

(40)

Użycie splotu

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

40 / 47



p

i

= f(x

i

)



Splot: f ⋆ g(x) =

R

−∞

f (x + u)g(u) du



g(u) — filtr,

R

−∞

g(u) du = 1



Całkę można obliczyć numerycznie

(41)

Przykłady filtrów

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni 20 1/20 10 1/10 20 1/10

(42)

Splot z filtrem dachowym

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

42 / 47

1/8 3/4 1/8 v1 v2 v3

a) smoothing kernel superimposed 1.0

v1

(43)

Aproksymacja krzywymi B-sklejanymi

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni



Można użyć krzywych B-sklejanych



wynik – gładka krzywa

(44)

Wyznaczenie śceżki na powierzchni

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

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ła

(45)

Wyznaczenie śceżki na powierzchni

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni



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ędzi

masha



łączymy bieżący punkt z końcem odcinkiem



wybieramy krawędź, która ma najmniejszy kąt

z odcinkiem

(46)

Ścieżka najszybszego spadku

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni

46 / 47

N (vector normal to surface)

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

A

=

N

×

Y

(47)

Ścieżki bezkolizyjne

Zagadnienie Interpolacji Sterowanie Ruchem Wykorzystanie Ścieżek Ruch po ścieżce Zorientowanie wzdłuż ścieżki Kamera Wygładzanie Ścieżka na powierzchni



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 przed

przeszkodą (algorytm zachłanny)

Cytaty

Powiązane dokumenty

1) różnica progresywna wielomianu stopnia n jest wielomianem stopnia n-1 2) n-tą różnicę można wyznaczyć za pomocą wzoru. 3) dysponując wartościami różnic progresywnych

2) Interpolacja funkcji, której przebieg znacznie różni się od przebiegu wielomianu interpolacyjnego, może nie dawać dobrych wyników przy dużej liczbie węzłów..

Wielomian wyznaczony przy takim ułożeniu węzłów na ogół nie daje najmniejszego błędu tylko jego najmniejsze oszacowanie.. 20 Wielomian interpolacyjny można zapisać przy

W metodzie interpolacji Powella korzystamy z lokalnego przybliżenia funkcji wielomianem drugiego stopnia (wykład).. Wykorzystamy tę zależność do znalezienia minimum/maksimum

Bishop, Neural networks for pattern recognition, Clarendon Press, Oxford,

Niekiedy trudno jest określić, w jaki sposób bezpieczeństwo ruchu pociągu zależy od czasu następstwa, odległości pomiędzy pociągami w czasie jazdy, prędkości technicznej

2) Interpolacja funkcji, której przebieg znacznie różni się od przebiegu wielomianu interpolacyjnego, może nie dawać dobrych wyników przy dużej liczbie węzłów..

Ileż razy chciałbym był trzymać ciebie za rękę, kiedy się nachylałem nad przepaściami.. Przypom niałem sobie w iele rzeczy, o których jużem był zapomniał