R08-1.DOC

(1389 KB) Pobierz
ROZDZIAŁ 1









Rozdział 8. w Krzywe Béziera              55









 

Rozdział 8.
Krzywe Béziera

Wprowadzenie
do teorii krzywych Béziera

W tym rozdziale omówię trochę trudniejszy materiał, mam jednak nadzieję, że zapoznasz się z nim w całości. Uważam bowiem, iż omawianie rysowania krzywych w reprezentacji Béziera pozwoli na dokładniejsze zrozumienie, w jaki sposób są rysowane obiekty wektorowe, jak również umożliwi pełne pojęcie następnych rozdziałów. Aby się nie powtarzać, proszę jedynie o dokładne zapoznanie się z podrozdziałem 1.3.

Pierre Bézier to francuski matematyk, pracownik firmy Renault. Podczas prac projektowych nad nowymi karoseriami samochodowymi opracował model opisu krzywych.

A teraz odrobina matematyki. Krzywe Béziera są parametrycznymi krzywymi trzeciego stopnia i znajdują szerokie zastosowanie w modelowaniu kształtu figur i powierzchni. Przykładem może tu być modelowanie kształtu nadwozi samochodów. Tego rodzaju krzywe są podstawą działania wszystkich poważniejszych programów do tworzenia i edycji rysunków wektorowych (CorelDRAW, Adobe Ilustrator i inne).

Kształt krzywej Béziera jest określony czterema punktami: dwoma punktami krańcowymi krzywej (tzw. węzłami) (P1, P4) oraz dwoma punktami kontrolnymi (P2, P3). Krzywa interpoluje dwa krańcowe punkty krzywej i aproksymuje dwa punkty kontrolne. Jeżeli oznaczysz współrzędne tych czterech punktów jako:

P1 (x1 , y1), P2 (x2 ,y2), P3 (x3 ,y3), P4 (x4 ,y4)

to kształt krzywej Béziera określą dwa równania parametryczne:

x(t) = (1- t)3 x1 + 3t (1- t)2 x2 + 3t2 (1- t) x3 + t3 x4

y(t) = (1- t)3 y1 + 3t (1- t)2 y2 + 3t2 (1- t) y3 + t3 y4

gdzie parametr t przybiera wartości z przedziału 0 £ t £ 1.

 

 

Rysunek. 8.1.
Krzywa w reprezentacji Béziera

W programie CorelDRAW każdą krzywą (krzywą jest także okrąg, kwadrat, itp.) definiuje się, jak wspomniałem, podając węzły i punkty kontrolne. Istnieje także pojęcie segmentu, w skład którego wchodzą dwa węzły (na jego końcach) i dwa punkty kontrolne. Ponieważ segmenty sąsiadują ze sobą, dlatego z każdym węzłem związane są tylko dwa punkty kontrolne.

Na krzywej można wykonać następujące czynności:

w    przesunąć węzeł – zmieni się wygląd jednego lub dwóch segmentów (gdy węzeł należał do dwóch segmentów),

w    przesunąć punkt kontrolny – zmieni się kształt jednego segmentu,

w    dodać węzeł – jeden segment zostanie podzielony na dwa segmenty, pomiędzy którymi znajdzie się dodany węzeł,

w    usunąć węzeł – zostaną usunięte także dwa punkty kontrolne, a dwa sąsiednie segmenty zostaną połączone w jeden segment, którego kształt będą określały pozostałe sąsiednie punkty kontrolne,

w    połączyć dwa końcowe węzły – powstanie jeden węzeł z punktami kontrolnymi tak ustawionymi, aby przejście krzywej przez ten węzeł było „gładkie,

w    przekształcić segment na prostą, krzywą, itp. – powoduje to automatyczne ustawienie punktów kontrolnych w ten sposób, aby uzyskać żądany kształt.

 

 

Rysunek. 8.2.
Segment, węzły
i punkty kontrolne

Co to oznacza w praktyce? Otóż (rysunek 8.3):

1.       jeżeli chcesz uzyskać linię prostą, musisz tak ułożyć punkty kontrolne, aby leżały na linii, łączącej oba węzły;

2.      gdy przesuniesz jeden z punktów kontrolnych tak, aby nie leżał na prostej, łączącej dwa węzły, wtedy segment wybrzuszy się w taki sposób, by w węźle segment był styczny do linii, łączącej węzeł z punktem kontrolnym;

3.      gdy oddalisz punkt kontrolny od węzła, krzywa będzie łagodniej przechodzić przez węzeł.

 

 

Rysunek. 8.3.
Segment, węzły
i punkty kontrolne

W przypadku bardziej skomplikowanej krzywej trzeba opisać ją większą liczbą węzłów. Oczywiście, zwiększy się też liczba segmentów, które będą łączyć się ze sobą w węzłach (oprócz węzłów końcowych). Można wtedy wyróżnić trzy charakterystyczne sposoby łączenia segmentów krzywej:

a.    punkty kontrolne, należące do węzła, są symetryczne – otrzymuje się wtedy gładkie przejście krzywej przez węzeł;

b.   punkty kontrolne, należące do węzła, są współliniowe i niesymetryczne – krzywa dalej przechodzi gładko przez węzeł, ale po obu stronach węzła jest inny przebieg wybrzuszeń krzywej;

c.    punkty kontrolne nie są współliniowe – przejście krzywej przez węzeł nie jest gładkie, ponieważ sąsiednie segmenty będą styczne do różnych prostych.

 

 

Rysunek. 8.4.
Łączenie segmentów

Zmiana kształtu krzywych

Każdy obiekt wektorowy możesz poddawać dowolnym modyfikacjom, przesuwając węzły, zmieniając położenie punktów kontrolnych, usuwając lub dodając węzły czy też wykonując na nich inne operacje. Narzędziem, które służy do modyfikacji węzłów, jest Shape Tool .

Narysuj dowolną krzywą (odręcznie), a następnie zaznacz ją narzędziem Shape Tool. Pojawią się wszystkie węzły tej krzywej. Możesz chwycić dowolny węzeł i przesunąć go w inne miejsce, a krzywa zostanie automatycznie dopasowana tak, aby przechodziła przez węzeł. Poeksperymentuj trochę samodzielnie, przeciągając węzły i punkty kontrolne. W trakcie modyfikacji kształtu krzywej pojawi się też przypisany do tego narzędzia odpowiedni pasek właściwości:

 

 

Rysunek. 8.5.
Pasek właściwości narzędzia Shape Tool

1.      dodaje węzeł pośrodku segmentu poprzedzającego wskazany węzeł,

2.      usuwa zaznaczony węzeł,

3.     łączy dwa zaznaczone węzły w jeden,

4.      rozdziela wskazany węzeł na dwa niezależne. Dwa węzły, które powstaną, znajdują się dokładnie w tym punkcie, sprawiając wrażenie jednego węzła, dlatego polecam nieznaczne przesunięcie jednego z nich, gdyż przy dalszych modyfikacjach możesz zapomnieć, który węzeł rozdzieliłeś,

5.     przekształca segment na prostą,

6.     przekształca segment na krzywą,

7.      tworzy ostry węzeł,

8.     tworzy gładki węzeł,

9.     tworzy ostry węzeł,

10.   zmienia kierunek przebiegu krzywej, czyli tak, jakbyś rysował ją od drugiej strony,

11.    łączy wskazane węzły, wstawiając segment pomiędzy nie,

12.   wydobywa podścieżkę, czyli tworzy ze wskazanego fragmentu osobny obiekt. Krzywa musi być jednak wcześniej rozdzielona,

13.   automatyczne zamyka krzywą,

14.   skaluje węzły,

15.   obraca węzły,

16.   wyrównuje węzły,

17.    tryb elastyczny,

18.   zaznacza wszystkie węzły,

19.   wygładza krzywą poprzez redukcję węzłów.

W trakcie pracy z węzłami możesz także zaznaczyć kilka z nich i wykonywać daną czynność na wszystkich. Węzły zaznacza się tak samo, jak obiekty, muszą to być jednak węzły, należące do jednej krzywej. Do każdego węzła (oprócz początkowego) przypisany jest jeden segment, który poprzedza ten węzeł. Tak więc wskazując węzeł, możesz też wykonywać czynności na przypisanym węzłowi segmencie.

Gdy przy wskazanym węźle (lub wskazanych węzłach) wybierzesz dodawanie węzłów, to zostanie on dodany w połowie poprzedniego segmentu. Usunięcie węzłów spowoduje natomiast uproszczenie przebiegu krzywej, gdyż pozostaną tylko węzły sąsiednie. Dodać możesz też węzeł w dowolnym miejscu segmentu, po prostu kliknij szybko dwa razy to miejsce.

Każda krzywa może składać się z wielu ścieżek. Jeżeli będziesz chciał w danym miejscu przerwać krzywą, zaznacz węzeł i wybierz przycisk, rozłączający węzły. W jego miejsce zostaną wstawione dwa węzły. Aby je zobaczyć, przesuń nieznacznie jeden
z nich. Możesz także połączyć dwa węzły jednej krzywej w jeden, muszą to być jednak węzły skrajne (czyli początkowy, końcowy lub węzły powstałe w wyniku rozłączenia). Aby ścieżkę oddzielić od krzywej i utworzyć z niej osobny obiekt, należy zaznaczyć dowolny węzeł, należący do tej krzywej i wybrać przycisk Extract Subpath (12). Nie sugeruj się tym, że rozdzielone ścieżki, które nie mają ze sobą wspólnych węzłów i leżą z dala od siebie, są już oddzielnymi obiektami. Jako przykład niech posłuży mi mała litera i. Kropka nie ma wspólnej części z kreseczką, a przecież razem tworzą jeden obiekt.

Każdy segment krzywej może być prosty lub zakrzywiony. Gdy segment jest prostą, węzły na jego końcach nie mają punktów kontrolnych od strony segmentu. Gdy przekształcisz prostą na krzywą, pojawią się punkty kontrolne, które możesz teraz dowolnie przemieszczać. Zamiana w drugą stronę (czyli z krzywej na prostą) spowoduje automatyczne usunięcie odpowiednich punktów kontrolnych i tym samym połączenie węzłów prostym odcinkiem. W przypadku, gdy segment jest krzywą, możesz przy pomocy myszy modelować jego kształt. Chwyć segment w dowolnym miejscu i przeciągnij wskaźnik myszy w nowe położenie.

 

 

Rysunek. 8.6.
Rodzaje węzłów

Rozróżnia się trzy rodzaje węzłów:

w    węzeł symetryczny – punkty kontrolne węzła znajdują się zawsze po jego przeciwnych stronach i są tak samo od niego oddalone. Przesunięcie jednego
z nich powoduje odpowiednie przesunięcie drugiego,

w    węzeł gładki – punkty kontrolne znajdują się zawsze po przeciwnych stronach węzła, lecz mogą być w różnych odległościach od niego. Przesunięcie jednego
z nich nie spowoduje zmiany odległości drugiego punktu kontrolnego od węzła, lecz ewentualnie taką zmianę położenia, aby nadal leżał on na wspólnej linii,

w    węzeł ostry – każdy z punktów kontrolnych można przesuwać niezależnie od drugiego. Przejście krzywej w węźle może więc być dowolne.

Dwa krańcowe węzły krzywej możesz połączyć, tworząc tym samym ścieżkę zamkniętą. Należy wybrać w tym celu przycisk Auto-Close Curve (13). Jednak, gdy krzywa została podzielona na wiele ścieżek, zostaną zamknięte wszystkie z nich. Aby połączyć segmentem dwa dowolne krańcowe węzły z dowolnych ścieżek (ale należące do jednej krzywej), musisz je zaznaczyć i wybrać przycisk Extent Corve to Close (11).

W przypadku bardzo skomplikowanych krzywych możesz zażądać automatycznej redukcji węzłów. Czynność ta powoduje usunięcie węzłów, ale w taki sposób, aby nie spowodowało to zbytniej zmiany jej kształtu. Najprawdopodobniej nie zauważysz jednak efektu tej czynności, gdyż jej celem jest właśnie takie zmniejszenie liczby węzłów, aby krzywa nie różniła się od poprzedniej. O tym, jak bardzo CorelDRAW będzie się starał usunąć węzły, możesz decydować suwakiem Curve Smoothness (19).

Gdy zaznaczysz kilka węzłów i chcesz je przeciągnąć w inne miejsce, wszystkie zostaną przesunięte o taką samą drogę. Jeżeli jednak chciałbyś je przesunąć proporcjonalnie (tak jak zmienia się rozmiar obiektów), to należy zaznaczyć przycisk Stretch and Scale Nodes (14). Pojawi się wtedy osiem uchwytów, podobnie jak przy zaznaczonym obiekcie. Przycisk Rotate and Skew Nodes (15) wyświetla natomiast uchwyty obrotu i pochylania. Przycisk Align Nodes (16) umożliwia wyrównanie zaznaczonych węzłów
w pionie i/lub poziomie. Gdy pozostawisz zaznaczone oba pola (w poziomie i w pionie), zaznaczone punkty znajdą się w tym samym miejscu i optycznie będą sprawiały wrażenie, że jest to jeden punkt (wyrównywanie odbywa się zawsze względem później utwo...

Zgłoś jeśli naruszono regulamin