Krive slobodnog oblika (Splajn krive) su složene krive koje su sastavljene od više segmenata krivih koji se nazivaju rasponi (Spans). Čvorovi (knots) su tačke u kojima su rasponi spojeni.


Kod otvorenih splajn kriva u čvorove spadaju i krajnje tačke splajn krive. Što ima kriva više čvorova, to se sastoji iz više raspona, a korisniku su na raspolaganju više kontrolnih tačaka

Prilikom crtanja kriva, algoritmi jezgra za geometrijsko modeliranje aproksimiraju ili interpoliraju krivu u odnosu na tačke koje korisnik zadaje mišem. Da bi se dobijeni oblik krive lakše kontrolisao i proračuni sa njim bili jednostavniji, krive su u CAD softverima sastavljene iz segmenata (raspona). Segmenti, odnosno rasponi mogu biti u obliku Bezijeovih krivih, kubnih polinoma... Čvorovi su tačke na krivi u kojima su rasponi spojeni. Da bi se spojeni rasponi ponašali kao jedna kriva (kriva ostaje glatka prilikom promene njenog oblika), u čvorovima se mora definisati kontinuitet. U praksi se to izvodi povezivanjem kontrolnih tačaka na krajevima raspona.


Čvorovi kriva slobodnog oblika

Kao što sam pisao na strani Istorija površinskog modeliranja, splajn krive su dobile ime po tankim trakama koje su nekad služile za crtanje krivih linija. Oblik savijene trake se matematički može opisati pomoću polinomske funkcije. Da bi trake poprimile i sačuvale željeni oblik, njihovo savijanje se kontrolisalo raspoređivanjem oslonaca na određenim mestima trake. Oblik trake ograničene osloncima više nije moguće opisati jednom polinomskom funkcijom, već je za svaki deo krive između oslonaca potrebno odrediti posebnu polinomsku funkciju. Na osnovu gornjih rečenica možemo zaključiti da su oslonci u stvari čvorovi, a delovi traka između njih su rasponi. 

Krive su između čvorova glatke, što znači da se zakrivljenost i brzina promene zakrivljenosti na rasponima menjaju kontinualno. U čvoru je zakrivljenost kontinualna, ali brzina promene zakrivljenosti je obično različita što znači da je splajn kriva manje glatka u čvoru nego na rasponu. Na primer, splajn krive sa stepenom 3 imaju u čvorovima G2 kontinuitet i za njih se može reći da obezbeđuju po celoj krivi najmanje G2 kontinuitet. Krive sa stepenom 5 obezbeđuju G4 kontinuitet. 

Bitno je zapamtiti da prelazeći preko čvorova od jednog raspona do drugog, krive različitog stepena imaju različite nivoe glatkoće (različite kontinuitete). Koji će kontinuitet bit u čvoru zavisi od toga koliko se kontrolnih tačaka povezuje (preklapa). 

Na primer: 

  • da bi se u čvoru postigao G0 kontinuitet krajnje tačke raspona moraju biti u njemu podudarne,

  • da bi se u čvoru postigao G1 kontinuitet, pored postizanja G0 kontinuitete potrebno je da tangente na krajevima raspona budu istog pravca, a to se postiže ako susedne kontrolne tačke krajnjim tačkama uvek leže na istoj pravoj, 

  • da bi se u čvoru postigao G2 kontinuitet, pored postizanja G0 i G1 kontinuiteta položaji kontrolnih tačaka moraju da obezbede istu zakrivljenost na krajevima raspona,

  • ...

Kontinuitet u čvorovima možete lako otkriti uključivanjem grafikona zakrivljenosti.


Kontinuitet u čvorovima splajn kriva

Kontinuitet u čvorovima se može smanjiti tako što čvor postane mnogostruk (više puta se upotrebi u jednačininama). Probajte prilikom crtanja splajn krive (npr. sa stepenom 3) kliknuti zaredom 2 puta na istu tačku, kontinuitet će se u toj tački smanjiti sa G2 na G1. Ako zaredom kliknete 3 puta, kriva će se u toj tački prelomiti jer će u njoj biti G0 kontinuitet.

U većini CAD softvera postoje dve alatke za crtanje splajn kriva. Prva alatka proračunava krivu aproksimacijom i kod nje korisnik mišem unosi pozicije kontrolnih tačaka. Druga vrsta alatke pračunava krivu interpolacijom i korisnik prilikom njenog crtanja mišem unosi pozicije čvorova. U FreeCAD-u se takva alatka čak i zove B-Splajn kriva pomoću čvorova (B-Spline by knots). Kod velikog broja CAD softvera su čvorovi bitni samo za „unutrašnje“ proračune koje obavljaju jezgra za geometrijsko modeliranje. U nekim softverima ih je nemoguće čak i videti ili se umesto njih tokom rada koriste tačke za uređivanje. Kod nekih softvera kao što je na primer FreeCAD, čvorovi su vidljivi i aktivno se mogu koristiti u radu. 

Praktična napomena: Umetanjem čvora na određenom mestu krive korisnik može zaustaviti širenje promene oblika krive. Na primeru ispod možete videti krivu sa stepenom 3 ograničenu umetnutim čvorom. Umetanje čvora je preuredilo strukturu kontrolnih tačaka, stvorilo novu kontrolnu tačku i u čvoru zaustavilo promenu oblika krive.


Ograničavanje čvorom promenu oblika splajn krive

Splajn krive se opisuju parametarskim jednačinama što u praksi znači da svakoj tački na krivi odgovara neka vrednost parametra. Po analogiji, pošto je i čvor tačka na krivi, svakom čvoru odgovara određena vrednost parametra. Jednostavnije rečeno čvor je u stvari parametar, t.j. brojčana vrednost koja određuje njegov položaj na krivi.

Lista svih čvorova, odnosno lista parametara pozicija čvorova se naziva Vektor čvorova (Knot vector). Ako je čvor mnogostruk on se više puta nalazi upisan u vektoru čvorova.

Parametrizacija je proces određivanja rastojanja između čvorova t.j. proces određivanja dužina raspona.

Submitted by Čeh Jan on