Bézierovy křivky jsou typy křivek, které v 60. letech 20. století nezávisle navrhli Pierre Bezier z automobilky Renault a Paul de Casteljo ze společnosti Citroen , kde byly použity při navrhování karoserií automobilů.
Přestože de Casteljouův objev byl učiněn o něco dříve než Bézierův (1959), jeho výzkum nebyl publikován a utajován společností až do konce 60. let.
Bézierova křivka je speciální případ Bernsteinových polynomů , které popsal ruský matematik Sergej Natanovič Bernstein v roce 1912.
Křivky byly poprvé představeny široké veřejnosti v roce 1962 francouzským inženýrem Pierrem Bézierem , který je vyvinul nezávisle na de Casteljotovi a použil je pro počítačově podporovaný návrh karoserií automobilů . Křivky byly pojmenovány po Béziersovi a rekurzivní metoda, kterou vyvinul pro definování křivek (de Casteljův algoritmus), byla pojmenována po de Casteljovi .
Následně se tento objev stal jedním z nejdůležitějších nástrojů systémů počítačově podporovaného navrhování a programů počítačové grafiky .
Nechť posloupnost řídicích bodů , kde a pro , je uvedena v dimenzním prostoru nad .
Pak množina bodů se souřadnicemi , parametricky daná výrazy
pro kde pro , _nazývaná Bezierova křivka .
Polynom stupně vzhledem k parametru se nazývá základní funkce (odpovídající řídicímu bodu ) Bézierovy křivky nebo Bernsteinův polynom .
Zde je počet kombinací od do .
Když n = 1, je křivka úsečkou, referenční body P 0 a P 1 určují její začátek a konec. Křivka je dána rovnicí:
.Kvadratická Bezierova křivka (n = 2) je definována třemi kotevními body: P 0 , P 1 a P 2 .
.Kvadratické Bézierovy křivky v spline se používají k popisu tvaru znaků v písmech TrueType a souborech SWF .
V parametrickém tvaru je kubická Bezierova křivka (n = 3) popsána následující rovnicí:
.Čtyři referenční body P 0 , P 1 , P 2 a P 3 dané ve 2- nebo 3-rozměrném prostoru určují tvar křivky.
Čára vychází z bodu P 0 , směřuje k P 1 a končí v bodě P 3 , přibližuje se k němu ze strany P 2 . To znamená, že křivka neprochází body P 1 a P 2 , používají se k označení jejího směru. Délka segmentu mezi P 0 a P 1 určuje, jak brzy se křivka změní na P 3 .
V maticové formě se kubická Bézierova křivka zapisuje takto:
,kde se nazývá základní Bezierova matice:
Moderní grafické systémy a formáty jako PostScript (stejně jako na něm založené formáty Adobe Illustrator a Portable Document Format (PDF) , Scalable Vector Graphics (SVG) [1] , Metafont , CorelDraw a GIMP používají Bézierovy křivky k zobrazení zakřivených tvary., složené z kubických křivek.
Parametr t ve funkci popisující lineární případ Bézierovy křivky přesně určuje, kde se ve vzdálenosti od P 0 do P 1 B ( t ) nachází . Například při t = 0,25 odpovídá hodnota funkce B ( t ) čtvrtině vzdálenosti mezi body P 0 a P 1 . Parametr t se mění z 0 na 1 a B ( t ) popisuje úsečku mezi body P 0 a P 1 .
Pro konstrukci kvadratických Bezierových křivek je nutné vybrat dva mezilehlé body Q 0 a Q 1 z podmínky, že parametr t se mění od 0 do 1:
Pro konstrukci křivek vyšších řádů je tedy zapotřebí více mezilehlých bodů. Pro kubickou křivku jsou to mezilehlé body Q 0 , Q 1 a Q 2 , které popisují lineární křivky, stejně jako body R 0 a R 1 , které popisují kvadratické křivky: jednodušší rovnice .
Pro křivky čtvrtého stupně to budou body Q 0 , Q 1 , Q 2 a Q 3 popisující lineární křivky, R 0 , R 1 a R 2 , které popisují kvadratické křivky, a také body S 0 a S 1 popisující kubické Bezierovy křivky:
Díky snadnému nastavení a manipulaci našly Bézierovy křivky široké uplatnění v počítačové grafice pro modelování hladkých čar. Křivka leží zcela uvnitř konvexního trupu svých referenčních bodů. Tato vlastnost Bézierových křivek na jedné straně značně zjednodušuje hledání průsečíků křivek (pokud se konvexní trupy kotevních bodů neprotínají, pak se křivky samotné neprotínají) a na straně druhé umožňuje intuitivní ovládání parametrů křivky v grafickém rozhraní pomocí kotevních bodů. Kromě toho lze také provádět transformace afinních křivek ( posun , změna měřítka , rotace atd.) aplikací příslušných transformací na kotevní body.
Nejdůležitější jsou Bezierovy křivky druhého a třetího stupně (kvadratické a kubické). Křivky vyšších stupňů při zpracování vyžadují více výpočtů a pro praktické účely se používají méně často. Chcete-li vytvářet čáry se složitými tvary, lze jednotlivé Bézierovy křivky postupně vzájemně propojovat v Bézierově křivce . Aby byla zajištěna hladká linie na křižovatce dvou křivek, musí tři sousední kotevní body obou křivek ležet na stejné přímce. V programech pro vektorovou grafiku , jako je Adobe Illustrator nebo Inkscape , jsou takové fragmenty známé jako „cesty“ ( cesta ) a v 3DS Max a podobných programech pro 3D modelování se Bezierovy křivky nazývají „splines“.
Kvadratická Bézierova křivka se souřadnicemi se převede na kubickou Bezierovou křivku se souřadnicemi .
Vzorkovací frekvence je definována takto:
, to znamená, že každý další bod se musí lišit od předchozího o 1 (řekněme pixel). Navíc, když se zeptáte takto:
Prostřednictvím něj můžete vypočítat .
Pojďme vyřešit tuto rovnici pro Bézierovy křivky prvního řádu (lineární):
Zapišme rozdíl bodů pro jednu osu:
Vyjmeme ze závorek společné faktory:
Pojďme najít :
tímto způsobem můžete vypočítat vzorkovací frekvenci pro procházení určité osy Bézierovy křivky určitého řádu. Tzn., že potřebujete získat 16 takových rovnic pro Bézierovy křivky 1. až 16. řádu, vždy je to nastaveno po bodech, do výsledné rovnice bude stačit dosadit jejich souřadnice, aby se křivka obešla s minimální jednoznačnou úrovní diskretizace. .
Křivky | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Definice | |||||||||||||||||||
Transformováno | |||||||||||||||||||
Nerovinné | |||||||||||||||||||
Plochá algebraika |
| ||||||||||||||||||
Ploché transcendentální |
| ||||||||||||||||||
fraktál |
|