Bézier-käyrä

Bezier käyrät ovat käyrät polynomi parametrinen suunnittelu kehitetty ruumiinosien autoja . Ne suunnitteli Paul de Casteljau vuonna 1959 Citroënille ja itsenäisesti Pierre Bézier vuonna 1962 Renaultille (Paul de Casteljaun työ oli luottamuksellista, Bézierin nimi on siirtynyt jälkipolville). Heillä on monia sovelluksia kuvasynteesissä ja fonttien renderoinnissa . He synnyttivät monia muita matemaattisia esineitä .

Ennen Bézieriä oli säätökäyriä, joita kutsuttiin uriksi , mutta vikana oli muuttaa niiden ulkonäköä koordinaattien kierron aikana, mikä teki niistä käyttökelvottomia CAD: ssä . Bézier lähtötaso oli geometrinen lähestymistapa perustuu lineaarisuuteen on euklidinen avaruus ja jo olemassa teoria massakeskipisteen  : jos määritelmä on puhtaasti geometrinen, ei referenssipiste ensimmäisten toimenpiteiden rakentamisen jälkeen on riippumaton siitä, mikä ei ollut ei päde rihlat ( urat mukainen bézier periaatteiden myöhemmin kutsutaan B-urat ).

Yleinen teoria

Bezier käyrä n + 1 kohdat ( P 0 , ..., P n ) , on pisteiden joukko määritelty parametriesityksen , ja t ∈ [0; 1] ja jossa Bn
i
ovat Bernsteinin polynomit .

Pisteiden P 0 , ..., P n sekvenssi muodostaa “  Bézier- ohjauspolygonin ”.

Esimerkkejä

Sitten lisätään n +1 ohjauspistettä polynomin jokaiselle kertoimelle:

jossa t ∈ [0; 1] . Siksi se on 2-asteen Bézier-käyrä.

Sitten lisätään n +1 kontrollipistettä kullekin polynomin kertoimelle ja saadaan,

jossa t ∈ [0; 1] . Siksi se on 3-asteen Bézier-käyrä.

Merkintä Koska Bernsteinin polynomit muodostavat osuuden yhtenäisyydestä, meillä on . Kerrointen summa ei siis ole nolla kaikille t: lle , joten käyrän kaikki pisteet P ( t ) on määritelty oikein.

Ominaisuudet

Kuutiomaiset Bézier-käyrät

Neljä pistettä P 0 , P 1 , P 2 ja P 3 määrittävät kuutioisen Bézier-käyrän. Käyrä piirretään pisteestä P 0 alkaen kohti P 1 ja kohti P 3 suuntaan P 2- P 3 . Yleisesti, käyrä ei kulje joko P 1 tai P 2  : nämä pisteet vain antaa suuntaa tiedot. P 0: n ja P 1: n välinen etäisyys määrää liikkumisnopeuden P 1 : n suunnassa ennen kääntymistä suuntaan P 3 .

Bezier-käyrä.svg

Edellä esitetystä käyrän parametrinen muoto kirjoitetaan kontrollipisteiden affiinisena yhdistelmänä

kun 0 ≤ t ≤ 1 .
Voimme selvästi nähdä tässä Bernsteinin polynomien yksikön osio-ominaisuuden: Newtonin järjestysluokan 3 binomikaavan mukaan

Ohjauspisteisiin liittyvien kertoimien summa on 1.

Bézier-käyrät ovat mielenkiintoisia kuvankäsittelyssä kahdesta syystä:

Tai vastaava

, ,

Huomio  : toisin kuin matematiikassa, tässä ovat pisteet (tarkemmin vektorit) eivätkä vektorin komponentit . Lisäksi toisessa formulaatiossa ilmoitetut toiminnot on suoritettava järjestyksessä, ylhäältä alas, vasemmalta oikealle ja toistamalla toiminnot, vaikka ne esiintyisivät useita kertoja identtisesti, tämä edellisten tietojen uusien arvojen kanssa toimintaa. (matemaattisesti, tämä on kuin hajottaa 4 x 4 matriisi kuin tuote 6 4 x 4 matriiseja , joissa kaksi 1: n , kaksi ½: n, ja 0: n kaikkialla muualla).

Tarkemmin, voidaan hajottaa käyrän P ( t ) otetaan kaksi käyrää P L ja P- R joiden kohdat ovat vastaavasti ( L 1 , L 2 , L 3 , L 4 ) ja ( R 1 , R 2 , R 3 , R 4 ) painikkeella

ja

Bezier rec.png

Tämän rekursiivinen kutsu käyrä P ( t ) , koska bézier-käyrä kulkee ensimmäisen ja viimeisen ohjauspiste, asema päiden kunkin palan ( L 1 , L 4 = R 1 ja R 4 ) on tiedossa. Kun tällainen juoni toteutetaan kriteeri pysäyttämiseksi toistumisen voidaan liittää välisen etäisyyden osa-käyrä piirretään ja segmentin [ L 1 , L 4 ] esimerkiksi.

Huomaa  : Kelluvan reaaliluvun aritmeettinen käyttö on saatavana suoraan nykyaikaisissa prosessoreissa, ja siitä on tullut paljon nopeampi kuin rekursioon tarvittava muistin allokointi . Lisäksi menetelmä, joka tarjoaa piirrettävän käyrän pikselit siirtymättä vaihe vaiheelta, ei salli antialiasointia . Rekursio ei siis enää ole oikea tapa piirtää Bézier-käyriä; edullisesti käytetään menetelmää, joka kulkee pikselien läpi askel askeleelta ja laskee jokaisessa vaiheessa "tangenttivirheen", jota voidaan käyttää antialiasointiin .

Bézier-käyrän pisteen laskeminen voidaan suorittaa myös Horner-menetelmällä laskemalla ensin polynomin vektorikertoimet a i :

Esimerkkejä

Lineaarinen Bézier-käyrä (asteen 1) Ohjauspisteet P 0 ja P 1 määrittävät yhtälön antaman Bézier-käyrän: Siksi se on segmentti [P0, P1]. Neliöllinen Bézier-käyrä (asteen 2) Neliöllinen Bézier-käyrä on käyrä B ( t ), jonka ohjauspisteet P 0 , P 1 ja P 2 määrittelevät . Näitä toisen asteen käyriä käytetään edelleen laajalti nykyään (esimerkiksi TrueType- muotoisten kirjasinten glyph-määritelmissä ja OpenType- kirjasimissa TrueType-yhteensopivassa lajikkeessa). Jos ne kuitenkin mahdollistavat kahden yhdistetyn käyrän tangentiaalisen jatkuvuuden varmistamisen, ne eivät (yleensä) mahdollista säilyttää kaarevuuden jatkuvuutta yhteenliitäntäpisteissä. Tämän haittapuolen voittamiseksi on sitten tarpeen lisätä toisiinsa liitettyjen kaarien määrää, jotta voidaan vähentää kunkin kaarevuuskatkoja, mikä rajoittaa niiden arvoa ja voi johtaa monimutkaisempaan käyrien suunnitteluun (enemmän pisteitä ja ohjausta) osoittaa asentoon). Cubic Bézier -käyrä (asteen 3) Kuutiokokoinen Bézier-käyrä on käyrä B ( t ), jonka määrittävät ohjauspisteet P 0 , P 1 , P 2 ja P 3 . Sen parametrinen muoto on: Nämä ovat Bézier-käyrät, joita käytetään eniten graafisessa suunnittelussa (koska ne mahdollistavat paitsi yhdistettyjen käyrien tangentiaalisuuden jatkuvuuden myös niiden kaarevuuden välttämisen välttämättä monien pisteiden ja pisteiden sijoittamista. Ohjaus). Niitä käytetään esimerkiksi PostScript- kielellä ja "type 1" -kirjasinten kuvioiden määrittelyssä sekä OpenType-kirjasimissa niiden CFF-lajikkeessa ( Compact Font Format ), joka käyttää samoja kärkien ja ohjauspisteiden määritelmiä. Bézier-käyrä, jonka aste on suurempi kuin 3 Niitä käytetään harvoin. Mieluummin pelkistämme itsemme yhdistettyjen kuutiokäyrien käyttöön kaarevuuden jatkuvuuden edun säilyttämiseksi. Tätä varten on välttämätöntä ja riittävää, että käyrän viimeinen piste on ensimmäinen toinen. Näin saadaan jatkuva käyrä. Esimerkiksi käyrän määritellään pisteiden , B , C , D , E , F ja G , käytämme kuutiometriä määrittämät käyrät , B , C , ja D , ja D , E , F , ja G ja jatkuvuus on siten taattu. Olla käyrä C 1 on D , me tarvitse [ C , D ] = [ D , E ], ja jos lisäksi halutaan, että se on C 2 on D , sitten [ B , D ] = [ D , F ], ja sama peräkkäisille johdannaisille. Kuitenkin, tämä muutos menettää jatkuvuus C 3 on D (ja ainoa tapa ratkaista tämä on lisätä ylimääräisiä tarkistuspisteen (lisäämiseksi määrää kuutiometriä kaaria saada parempi approksimaatio ja ainakin varmistaa jatkuvuus C 3 on alkupisteet, mutta ei lisättyjen kontrollipisteiden ympärillä). Yli 4-asteen Bézier-käyrien kiinnostus on kuitenkin nykyään rajallisempaa johtuen edistyksestä ja epätasaisten B-urien tuen integroinnista nykyaikaisiin grafiikkakirjastoihin ja erityisesti NURBS : iin rationaalisiin kertoimiin, jotka vastaavat yhtenäiset B-urat (mutta kun kokonaispainot etenevät, eivät välttämättä ole aritmeettisia, kuten Bézier-käyrien tapauksessa), nämä B-urat lasketaan kuitenkin ensin projisointitilassa, jonka koordinaatit ovat homogeeniset , ja jotka mahdollistavat kaikkien etujen säilyttämisen 3 - asteen tai sitä korkeamman B-uran , mukaan lukien kartiomaiset (epälineaariset) käyrät, joita on mahdotonta esittää tarkalleen Bézier-käyrien kanssa muutoin kuin suurella määrällä pisteitä ja ohjauspisteitä.

Sovellukset

Kuvien synteesi

Animaatio

Fonttien hahmonnukset

Musiikillinen kaiverrus

Rationaalinen Bézier-käyrä

Kuvaamaan käyrät kuten piireissä hyvin tarkasti (vaikkakin käytännössä arvioiden mukaan Bézier käyrät ovat riittävät), lisävapausasteita tarvitaan.

Ajatuksena on lisätä painoja kontrollipisteisiin (nämä ovat ). Nimittäjä on vain normalisoimaan lisäpainojen summa siten, että käyrä määritellään ohjauspisteiden kuperaksi yhdistelmäksi .

Rationaalinen Bézier-käyrä on seuraava yleinen muoto:

Bibliografia

Huomautuksia ja viitteitä

  1. (sisään) "Käyräkomennot" SVG 1.1 (toinen painos) - 16. elokuuta 2011 ( epävirallinen ranskankielinen käännös )

Katso myös

Aiheeseen liittyvät artikkelit

Ulkoiset linkit