Sdílet prostřednictvím


Bézierovy křivky v GDI+

Křivka Bézier je křivka určená čtyřmi body: dva koncové body (p1 a p2) a dva kontrolní body (c1 a c2). Křivka začíná na p1 a končí na p2. Křivka neprojde kontrolními body, ale kontrolní body fungují jako magnety, stahují křivku v určitých směrech a ovlivňují způsob, jakým se křivka ohýbá. Následující obrázek znázorňuje křivku Bézier spolu s jeho koncovými body a kontrolními body.

snímek obrazovky s křivkou Bézier, který zobrazuje jeho koncové body a kontrolní body.

Křivka začíná na p1 a pohybuje se směrem k řídicímu bodu c1. Tečná čára k křivkě na p1 je přímka nakreslená z p1 do c1. Tangens na koncovém bodu p2 je čára nakreslená z c2 na p2.

Kreslení Bézierových křivek

Chcete-li nakreslit bézierovou křivku, potřebujete instanci třídy Graphics a Pen. Instance třídy Graphics poskytuje DrawBezier metodu a Pen ukládá atributy, jako je šířka a barva, čáry použité k vykreslení křivky. Pen se předá jako jeden z argumentů metodě DrawBezier. Zbývající argumenty předané metodě DrawBezier jsou koncové body a kontrolní body. Následující příklad nakreslí křivku Bézier s počátečním bodem (0, 0), kontrolními body (40, 20) a (80, 150) a koncovým bodem (100, 10):

myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10);
myGraphics.DrawBezier(myPen, 0, 0, 40, 20, 80, 150, 100, 10)

Následující obrázek znázorňuje křivku, řídicí body a dvě tečny.

snímek obrazovky se křivkou Bézier, která ukazuje křivku, kontrolní body a dvě tečny.

Bézierovy splajny byly původně vyvinuty Pierrem Bézierem pro návrh v automobilovém průmyslu. Od té doby se ukázalo, že jsou užitečné v mnoha typech počítačového návrhu a používají se také k definování obrysů písem. Bézierovy křivky mohou přinést širokou škálu obrazců, z nichž některé jsou znázorněny na následujícím obrázku.

cesty

Viz také