NURBS
De Wikipedia, la enciclopedia libre
Este artículo o sección sobre informática necesita ser wikificado con un formato adecuado a las convenciones de estilo de Wikipedia. Por favor, edítalo para cumplir con ellas. No elimines este aviso hasta que lo hayas hecho. ¡Colabora wikificando! |
NURBS. Acrónimo inglés de la expresión Non Uniform Rational B-Splines. Modelo matemático muy utilizado en los gráficos por ordenador para generar y representar curvas y superficies.
Tabla de contenidos |
[editar] Historia
El desarrollo de NURBS empezó en 1950 por ingenieros que necesitaban la representación matemática exacta de superficies de forma libre como las usadas en carrocerías de automóviles y cascos de barcos, que pudieran ser reproducidos exacta y técnicamente en cualquier momento. Las anteriores representaciones de este tipo de diseños sólo podían hacerse con modelos físicos o maquetas realizadas por el diseñador o ingeniero.
Los pioneros en esta investigación fueron Pierre Bézier quien laboraba como ingeniero en Renault, y Paul de Casteljau quien trabajaba en Citroen, ambos en Francia. Aunque los dos trabajaron en modelos matemáticos muy parecidos y paralelos ninguno de los dos conoció el trabajo que el otro desarrollaba. El trabajo de Bezier fue publicado primero y por esta razón tradicionalmente se le ha asociado a las splines. El nombre de Casteljau solamente ha sido asociado al desarrollo de algoritmos para la evaluación de las splines.
[editar] Descripción
Las NURBS, B-splines racionales no uniformes, son representaciones matemáticas de geometría en 3D capaces de describir cualquier forma con precisión, desde simples líneas en 2D, círculos, arcos o curvas, hasta los más complejos sólidos o superficies orgánicas de forma libre en 3D. Gracias a su flexibilidad y precisión, se pueden utilizar modelos NURBS en cualquier proceso, desde la ilustración y animación hasta la fabricación.
La geometría NURBS tiene cinco cualidades esenciales que la convierten en la opción ideal para el modelado asistido por ordenador.
Existen varias formas estándar industriales para intercambiar la geometría NURBS. Los usuarios pueden y deberían ser capaces de transportar todos sus modelos geométricos entre los diferentes programas de modelado, renderizado, animación e ingeniería de análisis que hay en el mercado. Estos programas pueden almacenar información geométrica que podrá ser utilizada durante más de 20 años. Las NURBS tienen una definición precisa y muy conocida. La geometría NURBS se enseña en las facultades de matemáticas e informática de las universidades más importantes. Eso significa que los vendedores de software especializado, los equipos de ingenieros, las empresas de diseño industrial y las empresas de animación que necesitan crear aplicaciones de software específicas para sus proyectos podrán encontrar programadores capacitados para trabajar con la geometría NURBS. Las NURBS pueden representar con precisión objetos geométricos estándar tales como líneas, círculos, elipses, esferas y toroides, así como formas geométricas libres como carrocerías de coches y cuerpos humanos. La cantidad de información que requiere la representación de una forma geométrica en NURBS es muy inferior a la que necesitan por separado las aproximaciones comunes. La regla de cálculo de las NURBS, que se describe a continuación, se puede implementar en un ordenador de manera eficaz y precisa. ¿Qué es la geometría NURBS? Las curvas y superficies NURBS se comportan de maneras similares y comparten mucha terminología. Proporcionaremos información más detallada sobre las curvas, porque son más fáciles de describir. Una curva NURBS se define mediante cuatro elementos: grados, puntos de control, nodos y regla de cálculo.
[editar] Grado
Un grado es un número entero positivo.
Este número normalmente es 1, 2, 3 o 5 pero puede ser cualquier número entero positivo. Las líneas y polilíneas NURBS son grado 1, los círculos son grado 2 y la mayoría de las formas libres son grado 3 o 5. A veces se utilizan los siguientes términos: lineal, cuadrático, cúbico y quíntico. Lineal significa de grado 1, cuadrático significa de grado 2, cúbico significa de grado 3 y quíntico significa de grado 5.
Es posible que vea referencias del orden de una curva NURBS. El orden de una curva NURBS es un número entero positivo igual a (grado+1). En consecuencia, el grado es igual a orden-1.
Existe la posibilidad de incrementar los grados de una curva NURBS sin cambiar su forma. Generalmente, no es posible reducir el grado de una curva NURBS y no cambiar su forma.
[editar] Puntos de control
Los puntos de control son una lista de puntos de grado+1 como mínimo.
Una de las maneras más sencillas de cambiar la forma de una curva NURBS es mover los puntos de control.
Los puntos de control tienen un número asociado denominado peso.Con algunas excepciones, los pesos son números positivos. Cuando todos los puntos de control de una curva tienen el mismo peso (normalmente 1), la curva se denomina no racional; de lo contrario, se trataría de una curva racional. En NURBS, la R significa racional e indica que una curva NURBS tiene la posibilidad de ser racional. A la práctica, la mayoría de las curvas NURBS son no-racionales. Algunas curvas, círculos y elipses NURBS, ejemplos significativos, son siempre racionales.
[editar] Nodos
Los nodos son una lista de números de grado+N-1, donde N es el número de puntos de control. A veces esta lista de números se denomina vector nodal. En este contexto, la palabra vector no significa una dirección 3D.
Esta lista de números de nodos debe cumplir varias condiciones técnicas. El modo estándar para asegurar que las condiciones técnicas se cumplan es requerir que el número se mantenga igual o aumente a medida que vaya bajando en la lista y limitar el número de valores duplicados a que no sea superior al grado. Por ejemplo, para una curva NURBS de grado 3 con 15 puntos de control, la lista de números 0,0,0,1,2,2,2,3,7,7,9,9,9 es una lista de nodos satisfactoria. La lista 0,0,0,1,2,2,2,2,7,7,9,9,9 no es aceptable porque hay cuatro 2, y cuatro es un número mayor que el grado.
El número de veces que un valor nodal se duplica se denomina multiplicidad nodal.En el ejemplo anterior de lista satisfactoria de nodos, el valor nodal 0 tiene una multiplicidad de tres, el valor nodal 1 tiene una multiplicidad de uno, el valor nodal 2 tiene una multiplicidad de tres, el valor nodal 3 tiene multiplicidad de uno, el valor nodal 7 tiene una multiplicidad de dos y el valor nodal 9 tiene una multiplicidad de tres. Se dice que un valor nodal es un nodo de multiplicidad total si se multiplica por su grado varias veces.En el ejemplo, los valores de nodo 0, 2, y 9 tienen multiplicidad total. El valor de un nodo que aparece una sola vez se denomina nodo simple. En el ejemplo, los valores del nodo 1 y 3 son nodos simples.
Si una lista de nodos se inicia con un nodo de multiplicidad completa, la siguen nodos simples, termina con un nodo de multiplicidad completa y los valores se espacian uniformemente, entonces los nodos son uniformes. Por ejemplo, si una curva NURBS de grado 3 con 7 puntos de control tiene nodos 0,0,0,1,2,3,4,4,4, la curva tendrá nodos uniformes. Los nodos 0,0,0,1,2,5,6,6,6 no son uniformes. Los nodos que no son uniformes se denominan no uniformes. Las letras N y U de la palabra NURBS significan no uniforme e indican que los nodos de una NURBS puede ser no uniformes.
Los valores duplicados del nodo en la mitad de la lista del nodo hacen que una curva de NURBS sea menos suave. En caso extremo, un nodo de completa multiplicidad en la mitad de la lista de nodos significa que hay un lugar en la curva NURBS que se puede doblar en un punto de torsión. Por esta razón, a algunos diseñadores les gusta agregar y quitar nodos y luego ajustar los puntos de control para hacer curvas más suaves o figuras torsionadas. Debido a que el número de nodos es igual a (N+grado 1), donde N es el número de puntos de control, si se agregan nodos también se agregan puntos de control, y si se quitan nodos se quitan puntos de control. Los nodos se pueden añadir sin cambiar la forma de la curva de NURBS. En general, quitar nodos cambiará la forma de una curva.
[editar] Nodos y puntos de control
Un error frecuente se produce cuando cada nodo se empareja con un punto de control, y ocurre sólo en las NURBS de grado 1 (polilíneas). Para curvas NURBS de grados más altos, existen grupos de nodos de 2 x grado que corresponden a grupos de puntos de control de grado+1. Por ejemplo, suponga que tiene curvas NURBS de grado 3 con 7 puntos de control y nodos 0,0,0,1,2,5,8,8,8. Los primeros cuatro puntos de control están agrupados con los primeros seis nodos. Del segundo hasta el quinto punto de control están agrupados con los nodos 0,0,1,2,5,8. Del tercer al sexto punto de control están agrupados con los nodos 0,1,2,5,8,8. Los últimos cuatro puntos de control están agrupados con los últimos seis nodos.
Algunos modeladores que utilizan algoritmos más antiguos para el cálculo de curvas NURBS necesitan dos valores de nodos extra para un total de nodos grado+N+1. Cuando el software exporta e importa geometría NURBS, agrega y quita automáticamente estos dos nodos sobrantes, ya que la situación lo requiere.
[editar] Regla de cálculo
La regla de cálculo de una curva utiliza una fórmula matemática que coge un número y asigna un punto.
La regla de cálculo NURBS es una fórmula que comprende el grado, los puntos de control y los nodos. En la fórmula hay lo que se llama funciones básicas de B-spline. Las letras B y S de la palabra NURBS significan “basis spline.”El número de cálculo con que empieza la regla de cálculo se denomina parámetro. Puede imaginarse la regla de cálculo como una caja negra que se come un parámetro y produce un punto. El grado, los nodos y los puntos de control determinan el funcionamiento de la caja negra.
Tomado de http://www.es.rhino3d.com/nurbs.htm
[editar] Referencias
- Les 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, 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, Palo Alto, 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.).
[editar] Enlaces externos
- Acerca de los Nonuniform Rational B-Splines - NURBS, En inglés.
- Una introducción interactiva a los NURBS, En inglés.
- http://www.cs.bris.ac.uk/Teaching/Resources/COMS30115/all_9.pdf
- http://devworld.apple.com/dev/techsupport/develop/issue25/schneider.html
- http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/AV0405/DONAVANIK/bezier.html
- http://mathcs.holycross.edu/~croyden/csci343/notes/Lecture33_CurvesIII.ppt
- http://www.opennurbs.com/
- http://www.rhino3d.com/nurbs.htm/