Koje su 2 vrste splineova?
Spline su široko korištene matematičke konstrukcije koje imaju različite primjene u kompjuterskoj grafici, animaciji i inženjerskom dizajnu. To su krive ili površine koje su definirane skupom kontrolnih tačaka i matematičkih funkcija. Zglobovi su neophodni za glatke i precizne reprezentacije složenih oblika i pokreta. Postoji nekoliko vrsta splajnova, ali ovaj članak će se fokusirati na dva najčešća tipa: Bezierove krive i B-spline.
Bezierove krivulje
Bezierove krive su dobile ime po francuskom inženjeru Pierreu Bezieru, koji ih je prvi uveo 1960-ih dok je radio u Renaultu. Ove krive su definisane sa najmanje dve kontrolne tačke, poznate kao tačke sidrenja. Oblik krive je određen položajem ovih kontrolnih tačaka, kao i dodatnih kontrolnih tačaka poznatih kao ručke ili kontrolne ručke.
Najjednostavniji oblik Bezierove krive je linearna Bezierova kriva, koju definiraju dvije kontrolne tačke – početna i završna tačka. Kriva se glatko interpolira između ove dvije tačke. Jednačina za linearnu Bezierovu krivulju je jednostavna i može se izraziti kao:
B(t) = (1-t) * P0 + t * P1
Gdje je B(t) pozicija na krivoj na parametru t (u rasponu od {{0}} do 1), P0 je početna tačka, a P1 je krajnja tačka.
Kvadratne Bezierove krive su definisane sa tri kontrolne tačke – početnom tačkom, krajnjom tačkom i dodatnom kontrolnom tačkom koja utiče na zakrivljenost krive. Kriva prolazi kroz početnu i završnu tačku, ali ne nužno kroz kontrolnu tačku. Jednačina za kvadratnu Bezierovu krivu je:
B(t) = (1-t)^2 * P0 + 2 * (1-t) * t * P1 + t^2 * P2
Kubične Bezierove krive, koje se najčešće koriste, imaju četiri kontrolne tačke – početnu tačku, krajnju tačku i dve dodatne kontrolne tačke. Kriva se glatko interpolira između početne i krajnje tačke, dok kontrolne tačke utiču na oblik krive. Jednačina za kubičnu Bezierovu krivu je:
B(t) = (1-t)^3 * P0 + 3 * (1-t)^2 * t * P1 + 3 * (1-t) * t^2 * P2 + t^3 * P3
Bezierove krive imaju niz aplikacija, uključujući kompjuterski podržan dizajn (CAD), kompjutersku grafiku i animaciju. Lako se implementiraju i pružaju intuitivnu kontrolu nad oblikom krivulje. Njihov glavni nedostatak je što je uticaj kontrolnih tačaka lokalni, što znači da promena jedne kontrolne tačke utiče na samo mali deo krive.
B-splines
B-splajnovi, skraćeno za bazne splajne, su tip po komadima definisane krive ili površine. Za razliku od Bezierovih krivulja, B-splajnovi koriste skup kontrolnih tačaka i matematičkih osnovnih funkcija da definiraju krivu. B-spline su fleksibilniji i svestraniji od Bezierovih krivulja, jer omogućavaju glatku interpolaciju i kontrolu nad oblikom krive.
B-splajnovi su definisani sa dva glavna svojstva: vektor čvora i bazne funkcije. Vektor čvora je niz neopadajućih vrijednosti koje određuju položaj i utjecaj kontrolnih tačaka. Osnovne funkcije su matematičke funkcije koje određuju kako kontrolne točke doprinose obliku krivulje.
B-spline krive su definirane u rasponu vrijednosti parametara, koji su podijeljeni u intervale ili segmente. Svaki segment ima skup kontrolnih tačaka koje utiču na njegov oblik. Kriva je konstruisana spajanjem ovih segmenata zajedno koristeći osnovne funkcije. Glatkoća krivulje ovisi o redoslijedu osnovnih funkcija i broju kontrolnih točaka.
B-spline imaju nekoliko prednosti u odnosu na Bezierove krive. Oni pružaju globalnu kontrolu nad oblikom krive, što znači da promjena jedne kontrolne tačke utiče na cijelu krivu. Oni takođe omogućavaju glatku interpolaciju, jer kriva prolazi kroz neke ili sve kontrolne tačke. Osim toga, B-spline mogu preciznije predstavljati složene oblike i pokrete od Bezierovih krivulja.
Zaključno, Bezierove krive i B-splajn su dvije najčešće vrste splajnova koji se koriste u kompjuterskoj grafici, animaciji i inženjerskom dizajnu. Bezierove krive su definirane kontrolnim tačkama i pružaju lokalnu kontrolu nad oblikom krive, dok B-splajnovi koriste vektor čvora i osnovne funkcije da bi obezbijedili globalnu kontrolu i glatku interpolaciju. Razumijevanje ove dvije vrste spline-a je bitno za stvaranje glatkih i tačnih prikaza složenih oblika i pokreta.




