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.

Screenshot of a Bézier spline, which shows its endpoints and control points.

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ézierovy křivky

Chcete-li nakreslit bézierovou křivku Graphics , potřebujete instanci třídy a třídy Pena . Instance Graphics třídy poskytuje metodu DrawBezier a Pen úložiště atributů, jako je šířka a barva, čáry použité k vykreslení křivky. Předá Pen se metodě jako jeden z argumentů DrawBezier . Zbývající argumenty předané DrawBezier metodě 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.

Screenshot of the Bézier spline, which shows the curve, the control points, and two tangent lines.

Bézierové sliny 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.

Paths

Viz také