NURBS
Tähän artikkeliin tai sen osaan on merkitty lähteitä, mutta niihin ei viitata. Älä poista mallinetta ennen kuin viitteet on lisätty. Voit auttaa Wikipediaa lisäämällä artikkelille asianmukaisia viitteitä. Lähteettömät tiedot voidaan kyseenalaistaa tai poistaa. Tarkennus: lähteitä on mutta ei viitteitä |
NURBS (engl. Non-uniform rational basis spline) on matemaattinen malli, jota käytetään käyrien ja pintojen luomiseen ja esittämiseen tietokonegrafiikassa. Niitä käytetään suunnitteluprosessissa, esimerkiksi auton koreissa ja laivojen rungoissa, tarkan ja täsmällisen käyrän kuvauksen määrittämiseen. NURBS-käyrät pystyvät esittämään mitä tahansa luonnollista tai keinotekoista pintaa. Niiden etuna on lisäksi resoluutiovapaus (riippumaton kuvatarkkuudesta) ja niiden kokoa voidaan muuttaa laadusta tinkimättä.
Historia
[muokkaa | muokkaa wikitekstiä]Ranskalaiset autoinsinöörit kehittivät NURBS-mallinnuksen 1950-luvulla. Sen tarkoitus oli esittää matemaattisesti tarkkoja, muodoltaan epäsäännöllisiä pintoja autojen korien ja laivojen runkojen suunnittelu- ja kehittelyprosessissa. Näitä pintoja pystyttiin käyttämään aina tarpeen vaatiessa ja muokkaamaan helposti. Ennen tätä suunnittelijat ja insinöörit joutuivat käyttämään kaikkiin käyräesityksiin fysikaalista mallia, mikä teki muuntamisesta vaikeaa, ilman että malli luotiin ensin uudelleen.
NURBS-mallinnuksen kehittivät alun perin toisistaan tietämättä Renaultin insinööri Pierre Bezier ja Paul de Casteljau, joka toimi Citroenin leivissä matemaatikko-fyysikkona. De Casteljau kehitti mallin ensin iteroimalla affiinisia polygoniverkkoyhdistelmiä luodakseen sileitä pintoja. Hän ei julkaissut työtään yleisesti, vaan antoi sen Citroenin yksityiseen käyttöön. Bezier, joka työskenteli sylinterin hiukkasten parissa saavuttaakseen saman päämäärän, kuitenkin julkaisi työnsä. Tämän vuoksi käyrät tunnetaan nykyään Bezier-käyrinä tietokonegrafiikan alalla. De Castejaun työpanos tunnustetaan Casteljaun algoritmin muodossa, jota yleisesti käytetään Bezier-käyriä arvioidessa.
1960-luvulla havaittiin, että epäyhdenmukaiset, rationaaliset B-käyrät (engl. B-spline) ovat jatkeita Bezier-käyristä, joita pidetään yhdenmukaisina, rationaalisina B-käyrinä.
NURBS-käyriä käytettiin alun perin ainoastaan autoyhtiöiden CAD-tiedostomuodoissa.
Silicon Graphics -yhtiön järjestelmät käyttivät ensimmäisinä saatavilla olevien NURBS-käyrien ja pinnoitteiden ajantasaista, interaktiivista renderointimenetelmää vuonna 1989. Nykyään NURBS-käyrät ja pinnat sisällytetään lukemattomiin ammatillisiin grafiikkamenetelmiin, kuten Cobalt-, Maya- ja Blender -menetelmiin sekä tietokoneavusteiseen suunnitteluun (CAD, Computer-aided design), valmistukseen (CAM, Computer-aided manufacturing) ja tekniikkaan (CAE, Computer-aided engineering).
OpenGL:n GLU-kirjasto tarjoaa NURBS-rajapinnan OpenGL:n päälle.[1]
NURBS
[muokkaa | muokkaa wikitekstiä]NURBS-käyrät ovat epäyhdenmukaisia siinä mielessä, että osaa käyrästä voidaan hallita ja muuttaa vaikuttamatta koko käyrään, ilman että se pitää laskea uudelleen. Ne esitetään rationaalisen, kahden polynomin yhtälön avulla vastakohtana yhden polynomin yhtälölle, jota käytetään monissa käyrissä. Tämä on selitys sille, miksi NURBS-mallinnusta hyödynnetään aerodynamiikassa ja auton koreissa. NURBS -mallinnus käyttää B-käyrää (B-spline, basis spline), josta nimi Non-uniform rational B-splines, NURBS, juontaa juurensa.
NURBS-käyrä on yksiulotteinen digitaalinen rakenne, kun taas pinta on kaksiulotteinen. NURBS-käyrien periaatteet voidaan kuitenkin yleistää kahteen tai useampaan ulottuvuuteen.
NURBS-käyrät määritellään kolmen eri komponentin mukaan:
- Hallintakohta
- Käyrän järjestys
- Solmuvektori
Lähteet
[muokkaa | muokkaa wikitekstiä]- Les Piegl & Wayne Tiller: The NURBS Book, Springer-Verlag 1995–1997 (2nd ed.)
- Dr. Thomas Sederberg, BYU NURBS, http://cagd.cs.byu.edu/~557/text/ch6.pdf (Arkistoitu – Internet Archive)
- David F. Rogers: An Introduction to NURBS with Historical Perspective, Morgan Kaufmann Publishers 2001.
- Gershenfeld, N. (1999). The Nature of Mathematical Modelling
Viitteet
[muokkaa | muokkaa wikitekstiä]- ↑ Woo, Mason & Neider, Jackie & Davis, Tom & Shreiner, Dave: OpenGL Programming Guide, s. 512. (Third Edition) Addison-Wesley, 1999. ISBN 0201604582
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- http://tom.cs.byu.edu/~455/bs.pdf (Arkistoitu – Internet Archive)
- http://www.sidefx.com/docs/houdini11.0/model/splines (Arkistoitu – Internet Archive)