NURBS
Versió animada
B-splines racionals no uniformes o NURBS (acrònim anglés de senar-uniform rational B-spline) és un model matemàtic molt utilisat en la computació gràfica per a representar curves i superfícies.
Història
[editar | editar còdic]El desenroll de NURBS va escomençar en 1950 per ingeniers que necessitaven la representació matemàtica precisa de superfícies de forma lliure com les usades en carrosseries d'automòvils, superfícies d'exteriors aeroespacials i caixcos de barcos, que pogueren ser reproduïts exacta i tècnicament en qualsevol moment. Les anteriors representacions d'este tipo de dissenys sol podien fer-se en models físics o maquetes realisades pel dissenyador o ingenier.
Els pioners en esta investigació varen ser Pierre Bézier qui treballava com a ingenier en Renault, i Paul de Casteljau qui treballava en Citroën, abdós en França. Bézier i Casteljau varen treballar casi en paralel, encara que cap dels dos va conéixer el treball que l'atre desenrollava. Bezier va publicar primer els seus treballs i per esta raó tradicionalment se li ha associat a les Bézier-Splines (splines de Bézier, que són representades en punts de control descrivint a la curva mateixa), mentres que el nom de Casteljau solament és conegut pels algoritmes que va desenrollar per a l'evaluació de superfícies paramètriques. En la década de 1960 es varen desenrollar les NURBS, i es varen convertir en la generalisació de les Bézier splines.
Les primeres NURBS varen ser usades en paquets propietaris de disseny assistit per computadora de les companyies automotrices. Posteriorment varen formar part de l'estàndart en paquets de gràfics per computadora. En 1985, el primer modelador interactiu de NURBS per a PC, cridat Macsurf (posteriorment Maxsurf), va ser desenrollat per Formation Design Systems, una chicoteta companyia en Austràlia. Maxsurf és un sistema de disseny per a caixcos, que pretenia la creació de barcos, pots i yates, per als dissenyadors els qui tenien la necessitat d'alta precisió en el esculpido de superfícies. Actualment les aplicacions més professionals de gràfics per computadora per a equips d'escritori implementen la tecnologia.
Especificacions tècniques
[editar | editar còdic]Una curva NURBS es definix pel seu grau, un conjunt de punts de control ponderats, i un vector de nodos. Les curves i superfícies NURBS són generalisacions de curves B-splines i curves de Bézier, aixina com de superfícies, sent la seua diferència principal la ponderació dels punts de control que fan a les curves NURBS racionals (les curves B-splines racionals no uniformes són un cas especial de les curves B-splines racionals). Mentres que les curves de Bézier es desenrollen en una sola direcció paramètrica, normalment cridada s o o, les superfícies NURBS evolucionen en dos direccions paramètriques, cridada s i t o o i v.
Per mig de l'evaluació d'una curva de Bézier o una curva NURBS en diversos valors del paràmetro, la curva es pot representar en un espai Cartesiano de dos o tres dimensions. Aixina mateix, per mig de l'evaluació d'una superfície NURBS en diversos valors dels dos paràmetros, la superfície es pot representar en l'espai cartesiano.
Les curves i superfícies NURBS són útils per vàries raons:
- Són invariantes baixe transformacions afins,[1] aixina com de perspectiva: operacions de rotació i translació es poden amprar en les curves i superfícies NURBS aplicant-les als seus punts de control.
- Oferixen una estructura matemàtica comuna per a figures analítiques estàndar (per eixemple, còniques) i figures de forma lliure.
- Proporcionen flexibilitat per a dissenyar una gran varietat de figures.
- Reduïxen el consum de memòria en almagasenar figures (en comparació a métodos més senzills).
- Poden ser evaluats ràpidament per algoritmes numèricament estables i precisos.
En les següents seccions, les curves NURBS s'analisen en una dimensió. Deu tindre's en conte que tot açò es pot generalisar a dos o inclús més dimensions.
Punts de control
[editar | editar còdic]Els punts de control determinen la forma de la curva. Generalment, cada punt de la curva es calcula prenent la suma ponderada d'una série de punts de control. El pes de cada punt varia d'acort en el paràmetro que ho rig. Per a obtindre una curva de grau d, el pes de qualsevol punt de control és diferent de zero solament en D +1 intervals de l'espai de paràmetros. Dins d'estos intervals, el pes canvia d'acort a una funció polinòmica (funcions de base) de grau d. En els llímits dels intervals, les funcions base s'aproximen llentament a zero, determinant esta velocitat en el grau del polinomi. Com a eixemple, la funció base de grau un és una funció triangular. Incrementa des de zero a un, despuix decrementa de nou a zero. Mentres s'incrementa, la funció base del punt de control anterior cau. D'esta manera, l'interpolació entre els dos punts és una curva, i esta curva resultant és un polígon, que és contínua, pero no diferenciable en els llímits de l'interval, o els nodos. Polinomis de grau superior, en conseqüència, tenen més derivades contínues. Es deu tindre en conte que dins de l'interval la naturalea polinòmica de les funcions base i la linealidad de la construcció fa a la curva perfectament suau, per lo que és solament en els nodos que pot sorgir discontinuidad.
El fet de que un únic punt de control solament influïx en aquells intervals en els que és activa és una propietat molt desijable, és conegut com a respal local. En la modelació, açò permet el canvi de part d'una superfície, mentres les atres parts es mantenen igual.
Agregar més punts de control permet una millor aproximació a una curva donada, encara que solament certa classe de curves es pot representar exactament en un número finito de punts de control. Les curves NURBS també conten en un pes escalar per a cada punt de control. Açò permet major control sobre la forma de la curva sense aumentar indegudament el número de punts de control. En particular, s'afigen seccions còniques com a círculs i elipses al conjunt de curves que es poden representar exactament. El terme racional en NURBS es referix a estos pesos.
Els punts de control poden tindre qualsevol dimensió. Els punts d'una dimensió solament definixen una funció escalar del paràmetro. Estos s'utilisen normalment en els programes de processament d'image per a ajustar la lluentor i les curves de color. Els punts de control tridimensionals s'utilisen molt en el modelació 3D, a on s'ampren cotidianamente com a referència de la paraula "punt", un lloc en l'espai 3D. Els punts multidimensionales poden ser usats per a controlar conjunts de valors segons el temps, per eixemple, els diferents ajusts de posició i de rotació del braç d'un robot. Les superfícies NURBS són solament una aplicació d'esta. Cada "punt" de control és en realitat un vector ple de punts de control, definint una curva. Estes curves compartixen el seu grau i el número de punts de control, i comprenen una dimensió de l'espai de paràmetros. Per interpolació d'estos vectores de control sobre l'atra dimensió de l'espai de paràmetros, un conjunt continu de curves és obtingut, definint la superfície.
Vector de nodos
[editar | editar còdic]El vector de nodos és una seqüència de valors de paràmetros que determinen on i cóm els punts de control afectar a la curva NURBS. El número de nodos és sempre igual al número de punts de control més el grau de la curva més un. El vector de nodos dividix l'espai paramètric en els intervals mencionats abans, normalment coneguts com a segments de nodo. Cada volta que el valor del paràmetro introduïx un nou segment de nodo, un nou punt de control s'activa, mentres que un punt de control antic es descarta. D'això es deduïx que els valors en el vector de nodos deuen estar en orde ascendent, per lo que (0, 0, 1, 2, 3, 3) és vàlit, mentres que (0, 0, 2, 1, 3, 3) no ho és.
Nodos consecutius poden tindre el mateix valor. Açò definix llavors un segment de nodo de llongitut zero, lo que implica que dos punts de control s'activen al mateix temps (i, per supost, dos punts de control antics es desactivaran). Açò té un impacte en la continuïtat de la curva resultant o de les seues derivades més altes, per eixemple, permet la creació de cantons en una curva NURBS suavisada. Un número de nodos que coincidixen es denomina a voltes com un nodo en certa multiplicitat. Nodos en multiplicitat dos o tres es coneixen com a nodos dobles o triples. La multiplicitat d'un nodo es llimita al grau de la curva, ya que una multiplicitat major dividiria a la curva en parts inconexas i deixaria als punts de control sense usar. Per a NURBS de primer grau, cada nodo s'associa a un punt de control.
El vector de nodos per lo general comença en un nodo que té una multiplicitat igual a l'orde. Açò té sentit, ya que activa els punts de control que influïxen en el primer segment de nodo. De la mateixa manera, el vector de nodos per lo general termina en un nodo d'eixa multiplicitat. Curves en tals vectores de nodos inicien i terminen en un punt de control.
Els valors individuals dels nodos no són significatius per sí mateixos, solament importa la proporció de diferència entre els valors dels nodos. Per lo tant, els vectores de nodos (0, 0, 1, 2, 3, 3) i (0, 0, 2, 4, 6, 6) produïxen la mateixa curva. Els valors de les posicions dels nodos influïxen en el mapage de l'espai de paràmetros a l'espai de la curva. La renderización d'una curva NURBS es fa generalment en passos en distància fixa a través del ranc de paràmetros. Per mig del canvi de les llongituts dels segments de nodo, es poden utilisar més punts de mostra en regions a on la curvatura és màxima. Un atre us és en situacions en les que el valor del paràmetro té algun significat físic, per eixemple, si el paràmetro és el temps i la curva descriu el moviment del braç d'un robot. Les llongituts del segment de nodo després es traduïxen en velocitat i acceleració, que són essencials per a evitar danys al braç robòtic o el seu entorn. Esta flexibilitat en el mapage és a lo que la frase no uniforme en NURBS es referix.
Necessaris sol per als càlculs interns, els nodos generalment no són útils per als usuaris de modelació de software. Per lo tant, moltes aplicacions de modelació no fan als nodos editables o inclús visibles. Per lo general és possible establir vectores de nodos raonables observant la variació en els punts de control. Les versions més recents de software per a NURBS (per eixemple, Autodesk Maya i Rhinoceros 3D) permeten l'edició interactiva de les posicions dels nodos, pero açò és significativament menys intuïtiu que l'edició de punts de control.
Grau
[editar | editar còdic]L'orde d'una curva NURBS definix el número de punts de control propencs que influïxen en qualsevol punt en la curva. La curva és representada matemàticament per un polinomi de grau un menys l'orde de la curva. Per lo tant, les curves de segon orde (que estan representades per polinomis llineals) es denominen curves llineals, les curves de tercer orde, es denominen curves quadràtiques, i les curves de quart orde es denominen curves cúbiques. El número de punts de control deu ser major que o igual a l'orde de la curva.
En la pràctica, les curves cúbiques són les més utilisades. Les curves de quint i sext orde a voltes són útils, sobretot per a l'obtenció de derivades contínues d'orde major, pero les curves d'órdens més alts pràcticament mai s'utilisa perque conduïxen a problemes numèrics interns i tendixen a requerir temps de càlcul desproporcionadament grans.
Referències
[editar | editar còdic]- ↑ David F. Rogers: An Introduction to NURBS with Historical Perspective, section 7.1
Bibliografia
[editar | editar còdic]- Els Piegl & Wayne Tiller: The NURBS Book, Springer-Verlag 1995–1997 (2nd ed.). The main reference for Bézier, B-Spline and NURBS; chapters on mathematical representation and construction of curves and surfaces, interpolation, shape modification, programming concepts.
- Dr. Thomas Sederberg, BYU NURBS, https://web.archive.org/web/20060227192446/http://cagd.cs.byu.edu/557/text/ch5.pdf
- Dr. Lyle Ramshaw. Blossoming: A connect-the-dots approach to splines, Research Report 19, Compaq Systems Research Center, Pal Alt, CA, June 1987
- David F. Roger: An Introduction to NURBS with Historical Perspective, Morgan Kaufmann Publishers 2001. Good elementary book for NURBS and related issues.
- Foley, van Dam, Feiner & Hughes: Computer Graphics - Principles and Practice, Addison Wesley 1996 (2nd ed.).
Referències
[editar | editar còdic]
- Este artícul conté una traducció derivada de «NURBS» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.