NURBS krive su vrsta parametarskih splajn kriva pomoću kojih je u CAD softverima moguće predstaviti kako jednostavne geometrijske elemente tako i složene konture bilo kog oblika.


NURBS je skraćenica od NeUniformne Racionalne B-Splajn (eng. Non-Uniform Rational B-Splines, rus. Неоднородный рациональный B-сплайн).

Pomoću NURBS krivih je u 2D CAD softverima moguće precizno predstaviti bilo koji dvodimenzionalni oblik, od jednostavnih geometrijskih elemenata kao što su prava linije, krug, kružni luk…, pa do kriva slobodnog oblika. U 3D CAD softverima je pomoću njih moguće modelirati 3D modele razne složenosti, od obične kutije, cilindra, lopte…, pa do najsloženijih površi slobodnog oblika ili skulptorskih površina.

Pošto se jednostavni geometrijski elementi (prave linije, kružnice, pravougaonika…) i geometrijska tela (kocka, valjak, lopta...) mogu predstaviti na jednostavniji, analitički način, NURBS krive se u CAD softverima uglavnom koriste za predstavljanje kriva slobodnog oblika. NURBS krive su bitan deo 3D CAD modeliranja jer inženjerima  omogućavaju precizno matematičko opisivanje složenih zakrivljenih oblika koji se često pojavljuju prilikom modeliranja površina aviona, karoserija automobila, trupova brodova, kućišta električnih aparata, otkivaka, odlivaka, složenih plastičnih delova…

Zbog svoje fleksibilnosti i tačnosti, NURBS 3D CAD modeli se mogu koristiti u bilo kom tehnološkom procesu (CAM, CAE, 3D štampa, animacije, rendering…). Zbog svojih prednosti u odnosu na Bezjeove i B-splajn krive, NURBS krive su danas najčešća vrsta zakrivljenih linija koja se u CAD softverima koristi za predstavljanje složenih kontura. Najviše se koriste u 3D CAD softverima za površinsko modeliranje, mada ćete ih često sretati i u 3D CAD softverima za zapreminsko modeliranje (pomoću tipskih oblika).


NURBS krive

Iako su NURBS krive samo podvrsta kriva slobodnog oblika (Freeform curves), često se u literaturi (pogotovo na engleskom jeziku) ova dva termina poistovećuju.

Probaću na jednostavan način da opišem značenje svakog slova u skraćenici NURBS:

  • NU znači NeUniformni (Non-Uniform) -  Neuniformnost (neujednačenost, neravnomernost) se odnosi na parametrizaciju krive i u praksi ova osobina ima dve značajne posledice. Prva posledica je da rasponi na krivi mogu biti različite dužine, odnosno čvorovi nisu uniformno raspoređeni po krivi. Nejednaki rasponi čine krivu fleksibilnijom i omogućavaju da se sitni detalji postignu  sa manjim brojem kontrolnih tačaka. Druga posledica je mnogostrukost čvorova, t.j čvorovi mogu da budu podudarni što omogućava krivi da ima pregib t.j. G0 kontinuitet u čvoru. Mnogostrukost omogućava da se pomoću NURBS kriva predstave matematički oblici kao što su trouglovi, kvadrati, pravougaonici, trapezi, paralelogrami, mnogouglovi...

  • R znači Racionalni (Rational) - Osobina racionalnosti znači da težine u kontrolnim tačkama NURBS kriva ne moraju da bude iste kao što je to slučaj kod B-splajn kriva. B-splajn krive su neracionalne i kod njih sve kontrolne tačke imaju istu težinu (obično 1). Racionalnost omogućava NURBS krivama dodatni parametar pomoću kojeg je moguće kontrolisati oblik krive. Zbog ove osobine pomoću NURBS kriva je moguće precizno predstaviti krive drugog stepena (kružnica, elipsa, parabola…). Matematički posmatrano racionalne krive umesto polinoma koriste racionalne funkcije, t.j. funkcije oblika P1(t)/P2(t), gde su P1 i P2 polinomi.

  • BS znači B-Splajn (B spline, Basis spline) - Ovo znači da su NURBS krive u stvari B-splajnovi t.j. parametarske krive slobodnog oblika sastavljene od više polinomskih kriva manjeg stepena.

Na osnovu značenja skraćenice NURBS (ne-uniformni racionalni B-splajn) možemo zaključiti da su NURBS krive specijalni slučaj, odnosno vrsta B-splajn krivih.

NURBS kriva aproksimira zadate kontrolne tačke, pri čemu je svakoj kontrolnoj tački moguće kontrolisati jačinu (Težinu) kojom ona privlači krivu, a čvorovi mogu da budu neravnomerno raspoređeni po krivi, odnosno rasponi mogu da budu različitih dužina. Kroz prvu i zadnju kontrolnu tačku NURBS kriva može, ali ne mora da prolazi, dok kroz ostale kontrolne tačke kriva nikad ne prolazi.


NURBS - Ne-Uniformni Racionalni B-Splajn

Pošto su NURBS krive vrsta kriva slobodnog oblika one imaju slične geometrijske karakteristike kao ostale vrste kriva koje spadaju u ovu grupu: na sličan način se u CAD softverima konstruišu, slično se sa njima manipuliše, slično se uređuju, imaju slične osobine… To znači da za njih takođe važi sve što sam pisao u tekstovima koji se tiču opštih teoretskih razmatranja o krivama slobodnog oblika.

Kao i B-splajn krive, NURBS krive su određene pomoću stepena krive, vektora čvorova i položajem kontrolnih tačaka, ali za razliku od B-splajn da bi NURBS kriva bila potpuno određena svaka kontrolna tačka mora da ima i dodatni podatak težinu. Ako je težina svih kontrolnih tačaka 1, NURBS kriva je B-splajn kriva, ako su težine kontrolnih tačaka različite onda kriva postaje racionalna t.j. NURBS kriva. Slikovitije rečeno da bi CAD softver proračunao oblik NURBS krive i prikazao ga na ekranu potrebno je da raspolaže sa stepenom, položajem kontrolnih tačaka, njihovim težinama i vektorom čvorova.

Na sledećoj animiranoj slici možete videti kako se u besplatnom 3D CAD softveru FreeCAD  konstruiše NURBS kriva, a takođe i postupak promene Težine neke kontrolne tačke.

 

 

Na početku animacije je predstavljeno kako se mišem može konstruisati NURBS kriva. U FreeCAD-u je unapred zadato da svaka nova konstruisana kriva bude neracionalna kriva (B-splajn) t.j. kriva kod koje sve kontrolne tačke imaju istu težinu (vrednost 1). Težina kontrolnih tačaka se u FreeCAD-u predstavlja isprekidanom kružnicom oko kontrolne tačke. Promenom veličine kružnice  menja se Težina kontrolne tačke. Veličina kružnice se može menjati kotom (ograničenjem prečnika ili poluprečnika) ili vučenjem mišem. Na animaciji možete videti da su na početku kružnice oko kontrolnih tačaka konstruisane krive iste veličine. Obratite pažnju da kružnica oko prve kontrolne tačke ima kotu 1, a pored nje se nalaze oznake Ograničenja jednakosti između prve i ostalih kružnica. Da bi se mogle menjati vrednosti Težina kontrolnih tačaka potrebno je izbrisati kotu i sve oznake Ograničenja jednakosti. Kada to učinite moguće je menjati vrednosti težina kontrolnih tačaka, što je i prikazano pri kraju animacije.

NURBS geometrija se veoma često koristi u CAD softverima, zbog čega je definisana i u standardnim formatima datoteka (iges, step) za razmenu CAD podataka. Korisnici CAx softvera mogu bez većih problema razmenjivati NURBS geometriju između raznih CAD softvera, CAD i CAM softvera, CAD i CAE softvera, odnosno između raznih vrsta CAx softvera. 

Jedna od najbitniji osobina NURBS kriva je što nude veliku fleksibilnost i preciznost za opisivanje kako analitičkih (definisanim uobičajenim matematičkim formulama) tako i sintetičkih oblika.

NURBS krive se u CAD softverima crtaju tako što korisnik na radnoj površini unosi mišem ili preko koordinata položaje kontrolnih tačaka ili čvorova.  Promena oblika NURBS kriva se obavlja pomeranjem kontrolnih tačaka ili čvorova (tačaka za uređivanje) mišem. Zadavanje kontrolnih tačaka ili čvorova korisnik obavlja klikanjem miša na radnu površinu CAD softevra, a pomeranje vučenjem takođe pomoću miša. Proces konstruisanja NURBS krive u CAD softveru je isti kao proces konstruisanja B-splajn krive i možete ga videti na animiranoj slici koja se nalazi na strani B-splajn krive.

Glavne zasluge za razvijanje NURBS kriva ima američki matematičar Ken Versprille koji ih je prvi spomenuo u svojoj doktorskoj disertaciji (Univerzitetu u Sirakuzi, 1975 godina). Više na ovu temu ćete saznati ako posetite stranu Istorija površinskog modeliranja.

 

A sad malo nezaobilazne matematike. Nemojte se plašiti, samo opšta jednačina.
NURBS kriva stepena d se može predstaviti jednačinom:

 

gde su wi težine kontrolnih tačaka, Pi kontrolne tačke, ti čvorovi u vektoru čvorova, a bi,d(t) rekurzivno definisane B-Splajn bazne funkcije.

Opšta NURBS formula za tačku na površini ili krivoj je odnos dve polinomske jednačine, ali kada sve kontrolne tačke imaju iste težine, jednačina postaje jednostavna polinomska jednačina (nema razlomka).

 

Geometrijske osobine NURBS kriva

NURBS krive su u suštini vrsta B-splajn kriva tako da su im i osobine veoma slične.
 

Osobine NURBS kriva:

  • pomoću njih se mogu predvidivo i lako crtati izuzetno složene 2D i 3D konture,

  • oblik im zavisi od položaja kontrolnih tačaka,

  • oblik se može menjati promenom polažaja kontrolnih tačaka,

  • promena položaja kontrolne tačke izaziva lokalnu promenu oblika krive (kriva će promeniti oblik samo u okolini te kontrolne tačke),

  • prva i poslednja kontrolna tačka ne moraju, ali obično leže na NURBS krivi, ostale kontrolne tačke ne leže na krivi (kriva ne prolazi kroz njih),

  • pravac tangente u prvoj i zadnjoj tački se poklapa sa prvom i zadnjom linijom kontrolnog mnogougla,

  • kontrolne tačke privlače krivu,

  • svaka kontrolna tačka može različitom jačinom privlačiti krivu, odnosno kontrolne tačke mogu imati različite težine,

  • za opisivanje NURBS kriva je potrebno više podataka od opisivanja B-Splajn ili  Bezjeovih kriva ,

  • stepen B-splajn krive ne zavisi od broja kontrolnih tačaka,

  • moguće je dodati ili oduzeti kontrolne tačke, a da se ne promeni stepen krive,

  • moguć je neujednačen (Non-uniform) razmak između čvorova (nejednaki rasponi) što krive čini fleksibilnijim i moguće je sa manjim brojem kontrolnih tačaka postići sitne detalje na krivama,

  • oblik im se prilagođava obliku kontrolnog mnogougla,

  • kontrolne tačke se uvek nalaze unutar konveksnog omotača krive,

  • nijedna prava linija ne seče NURBS krivu više puta nego što to čini kontrolni mnogougao,

  • vektori čvorova mogu da sadrže podudarne čvorove (mnogostrukost čvora) što omogućava kontrolu kontinuiteta u čvorovima, 

  • jednorasponska NURBS kriva (takođe i B-splajn) je potpuno ista kao Bezjeova kriva.

  • univerzalnost – B-splajn krive mogu precizno da predstave veliki broj oblika, kako geometrijske elemente (linija, kružnica, elipsa...) i geometrijske oblike (trougao, četvorougao, mnogougle…), tako i krive slobodnog oblika kao što su Bezjeove krive, B-splajn krive… 

  • razvijen je veliki broj alagoritama za proračune NURBS kriva tako da CAD softveri poseduju veliki broj alatki za rad sa njima (transformacije, umetanje/uklanjanje čvorova, umetanje/uklanjanje kontrolnih tačaka, podešavanje stepena, isecanje itd.),

  • skaliranjem, rotacijom i translacijom NURBS kriva neće promeniti oblik,

  • umesto na krivu afine transformacije se mogu primeniti na kontrolne tačke,

  • invarijantne su u odnosu na projiciranje,

  • rasponi kriva su umesto polinomima definisani racionalnim funkcijama, t.j. funkcijama oblika P1(t)/P2(t), gde su P1 i P2 polinomi,

  • pogodne su za predstavljanje površi,

  • NURBS opis geometrijskih elemenata (prava linija, krućniva, elepsa...) zahteva više memorijskog prostora od analitičkog opisivanja, 

  • nepravilna primena težina može dovesti do veoma loše parametrizacije, što može uništiti naknadne promene na površinama,

  • komplikovaniji algoritmi i proračuni,

  • ...

Submitted by Čeh Jan on