Diferencia entre revisiones de «NURBS»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
→‎Historia: la tradución coreccta del término NURBS, the correct translation of NURBS
m Revertidos los cambios de 190.24.189.154 a la última edición de 95.63.65.35
Línea 7: Línea 7:


Los pioneros en esta investigación fueron [[Pierre Bézier]] quien trabajaba como ingeniero en Renault, y [[Paul de Casteljau]] quien trabajaba en Citroën, ambos en Francia. Bézier y Casteljau trabajaron casi en paralelo, aunque ninguno de los dos conoció el trabajo que el otro desarrollaba.
Los pioneros en esta investigación fueron [[Pierre Bézier]] quien trabajaba como ingeniero en Renault, y [[Paul de Casteljau]] quien trabajaba en Citroën, ambos en Francia. Bézier y Casteljau trabajaron casi en paralelo, aunque ninguno de los dos conoció el trabajo que el otro desarrollaba.
Dado que el trabajo de Bezier fue publicado primero y por esta razón tradicionalmente se le ha asociado a las splines - que son representadas con puntos de control describiendo a la curva misma - como Bézier splines, mientras que nombre de Casteljau solo es conocido por los algoritmos que desarrollo para la evaluación de superficies parametricas. En la década de 1960 se convirtió claramente en NURBS como la generalización de las Bézier splines, que pueden ser consideradas como Racionales B-splines No Uniformes.
Dado que el trabajo de Bezier fue publicado primero y por esta razón tradicionalmente se le ha asociado a las splines - que son representadas con puntos de control describiendo a la curva misma - como Bézier splines, mientras que nombre de Casteljau solo es conocido por los algoritmos que desarrollo para la evaluación de superficies parametricas. En la década de 1960 se convirtió claramente en NURBS como la generalización de las Bézier splines, que pueden ser consideradas como uniformes, no racionales B-splines.


Las primeras NURBS fueron usadas en paquetes propietarios de [[CAD]] de las compañías automotrices. Posteriormente formaron parte del estándar en paquetes de gráficos por computadora. En 1985, el primer modelador interactivo de NURBS para PC, llamado Macsurf (posteriormente Maxsurf), fue desarrollado por Formation Design Systems, una pequeña compañía en Australia. Maxsurf es un sistema de diseño para cascos, que pretendía la creación de barcos, botes y yates, para los diseñadores quienes tenían la necesidad de alta precisión en el esculpido de superficies. Actualmente las aplicaciones más profesionales de gráficos por computadora para equipos de escritorio ofrecen la tecnología.
Las primeras NURBS fueron usadas en paquetes propietarios de [[CAD]] de las compañías automotrices. Posteriormente formaron parte del estándar en paquetes de gráficos por computadora. En 1985, el primer modelador interactivo de NURBS para PC, llamado Macsurf (posteriormente Maxsurf), fue desarrollado por Formation Design Systems, una pequeña compañía en Australia. Maxsurf es un sistema de diseño para cascos, que pretendía la creación de barcos, botes y yates, para los diseñadores quienes tenían la necesidad de alta precisión en el esculpido de superficies. Actualmente las aplicaciones más profesionales de gráficos por computadora para equipos de escritorio ofrecen la tecnología.

Revisión del 02:29 5 abr 2010

NURBS (acrónimo inglés de la expresión Non Uniform Rational B-Splines) es un modelo matemático muy utilizado en la computación gráfica para generar y representar curvas y superficies.

Historia

El desarrollo de NURBS empezó en 1950 por ingenieros que necesitaban la representación matemática precisa de superficies de forma libre como las usadas en carrocerías de automóviles, superfices de exteriores aeroespaciales 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 trabajaba como ingeniero en Renault, y Paul de Casteljau quien trabajaba en Citroën, ambos en Francia. Bézier y Casteljau trabajaron casi en paralelo, aunque ninguno de los dos conoció el trabajo que el otro desarrollaba. Dado que el trabajo de Bezier fue publicado primero y por esta razón tradicionalmente se le ha asociado a las splines - que son representadas con puntos de control describiendo a la curva misma - como Bézier splines, mientras que nombre de Casteljau solo es conocido por los algoritmos que desarrollo para la evaluación de superficies parametricas. En la década de 1960 se convirtió claramente en NURBS como la generalización de las Bézier splines, que pueden ser consideradas como uniformes, no racionales B-splines.

Las primeras NURBS fueron usadas en paquetes propietarios de CAD de las compañías automotrices. Posteriormente formaron parte del estándar en paquetes de gráficos por computadora. En 1985, el primer modelador interactivo de NURBS para PC, llamado Macsurf (posteriormente Maxsurf), fue desarrollado por Formation Design Systems, una pequeña compañía en Australia. Maxsurf es un sistema de diseño para cascos, que pretendía la creación de barcos, botes y yates, para los diseñadores quienes tenían la necesidad de alta precisión en el esculpido de superficies. Actualmente las aplicaciones más profesionales de gráficos por computadora para equipos de escritorio ofrecen la tecnología.

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 computadora.

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 una computadora de manera eficaz y precisa.

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.

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.

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.

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.

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.

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

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.).

Enlaces externos