Křivky NURBS (1)

Jana Procházková 3. 3. 2006

Už v 60. letech minulého století pánové Bézier a de Casteljau, inženýři francouzského Renaultu a Citroenu, řešili problém hladkých tvarů karoserií. Jejich splajny otevřely cestu nurbsům, které jsou dnes součástí většiny profesionálních grafických softwarů. Co se za nimi ale skrývá?

Čím jsou nurbsy tak zvláštní?

Každý, kdo alespoň někdy zabrousil do grafiky, se s nurbs křivkami i plochami setkal. V současné době se nurbsy používají při konstrukci obecných tvarů – v automobilovém designu, letectví, filmové animaci. Ale proč? Výhodné na nich jsou:

  • neomezené konstrukční možnosti – modifikace polohy bodu, váhy, uzlového vektoru, stupně
  • rychlý, stabilní algoritmus
  • lokální kontrolovatelnost – při změně (např. bodu, váhy) dochází pouze k lokální změně křivky, zrychluje výpočet a vykreslování
  • zachování spojitosti při změnách
  • projektivní invariantnost – při základních transformacích – rotace, posunutí, zkosení – stačí zobrazit pouze řídící body a křivku znovu vypočítat, zrychluje výpočet
  • konstrukce kuželosečkových oblouků

Trocha teorie na úvod

Základy teorie B-splajnů položil Iso Schoenberg. K jeho pokračovatelům patří Carl de Boor, který sepsal celý teoretický základ B-splajnů.

Základní definice nurbs křivek zní:

Mějme dáno m+1 kontrolních bodů Pi, m+1 kladných reálných čísel wi nazývaných váhy, stupeň křivky n a uzlový vektor t = (t0, t1, … t{n+m+1}).

NURBS křivka je definována jako

nurbs1

kde

nurbs2

Bázová funkce Ninje definována rekurentně:

Nechť t = (t0, t1, … ts) je uzlový vektor. B-spline funkce stupně n je definována jako

nurbs3

kde

nurbs4

Za každou nurbs křivkou či plochou se ukrývají tyto základní rovnice. Nurbs plocha vzniká jako tenzorový součin dvou nurbs křivek. Hlavním důvodem složitosti vzorců je to, že pro každý parametr t se vypočítají jiné bázové polynomy, na rozdíl od Bezierových či Coonsových křivek.

Na závěr uvedu malý příklad. Kružnice je jednoduchý objekt, zadáte střed a poloměr a je to. Ale zadání kružnice jako nurbs křivky se stává skoro magickou záležitostí. Je potřeba devět řídících bodů umístěných do čtverce se speciálními vahami a uzlový vektor.

Kružnice se středem [0, 0] a poloměrem r = 1.
Stupeň křivky: 2 Body: [1, 0] , [1, 1] , [0, 1] , [−1, 1] , [−1, 0] , [−1,−1] , [0,−1] , [1,−1] , [1, 0]

nurbs5

A jak se obecná nurbs křivka naprogramuje se dozvíte příště …

Našli jste v článku chybu?
Vitalia.cz: Největší chyby při podávání vína?

Největší chyby při podávání vína?

Root.cz: Bitcoin začal vyplácet jen půlku odměn

Bitcoin začal vyplácet jen půlku odměn

Podnikatel.cz: Změny EET. Jaké projdou, jaké jsou utopií?

Změny EET. Jaké projdou, jaké jsou utopií?

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

120na80.cz: Jak se zbavit nadměrného pocení?

Jak se zbavit nadměrného pocení?

Podnikatel.cz: Tahle praktika stála šmejdy přes milion

Tahle praktika stála šmejdy přes milion

DigiZone.cz: Skylink: do pátku může docházet k výpadkům

Skylink: do pátku může docházet k výpadkům

Vitalia.cz: Paní výčepní: Holka, co mluví chlapům do piva

Paní výčepní: Holka, co mluví chlapům do piva

Podnikatel.cz: Italské těstoviny nebyly k mání, tak je začal vyrábět

Italské těstoviny nebyly k mání, tak je začal vyrábět

Podnikatel.cz: Akční plán podpoří byznys padesátníků

Akční plán podpoří byznys padesátníků

Vitalia.cz: Bio vejce nepoznají ani veterináři

Bio vejce nepoznají ani veterináři

DigiZone.cz: Ve Varech představeni i noví "Četníci"

Ve Varech představeni i noví "Četníci"

DigiZone.cz: Sázka na e-sporty stanici Prima vychází

Sázka na e-sporty stanici Prima vychází

Vitalia.cz: Signál roztroušené sklerózy: brnění končetin

Signál roztroušené sklerózy: brnění končetin

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta

Vitalia.cz: Mateřská - nejlepší období v životě ženy? Hahahaha

Mateřská - nejlepší období v životě ženy? Hahahaha

Podnikatel.cz: Profese budoucnosti? Úředník nepřežije

Profese budoucnosti? Úředník nepřežije

Vitalia.cz: Klíšťata letos řádí, skvrna se udělá jen někomu

Klíšťata letos řádí, skvrna se udělá jen někomu

Vitalia.cz: 10 potravin, po kterých budete mít ještě větší hlad

10 potravin, po kterých budete mít ještě větší hlad

Vitalia.cz: Jak může být v uzenině 150 % masa?

Jak může být v uzenině 150 % masa?