# NURBS

Non Uniform Rational Basis Spline (NURBS) é um modelo matemático usado regularmente em programas gráficos para gerar e representar curvas e superficies.

## História

O desenvolvimento do NURBS (Non Uniform Rational Basis Spline) começou na década de 50 por engenheiros que precisavam de uma representação matemática para superfícies livres como as que são usadas nos chassis dos automóveis, que poderiam ser reproduzidas quando se quisesse. Representações anteriores desse tipo de superfícies apenas existiam como um modelo único criado por um designer.
Os pioneiros neste tipo de desenvolvimento foram Pierre Bézier que trabalhou como engenheiro da Renault, e Paul de Casteljau que trabalhou na Citroën, ambos na França. Bézier trabalhou quase paralelamente a Casteljau, ambos sabiam um do trabalho do outro. Mas como Bézier publicou os resultados do seu trabalho, os usuários frequentes desses softwares para desenhar curvas — que são representadas com controle dos pontos fora da sua curva- a conhecem como curva de Bézier, enquanto as de Casteljau´s apenas são conhecidas e utilizadas em algoritmos que ele desenvolveu para as superficies paramétricas. Na década de 60 tornou-se claro que as Uniform Space|Non-Uniform, rational B-splines são uma generalização das curvas de Bézier, que podem ser consideradas como curvas uniformes, não racionais básicas.
No início, NURBS foram apenas utilizadas em pacotes de CAD para empresas automotivas. Mais tarde elas tornaram-se parte de pacotes de programas gráficos
Em tempo real, a interpretação interativa das curvas e superfícies NURBS só estiveram disponíveis em workstations em 1989. Em 1993, a primeira NURBS interativa para PCs, chamadas NöRBS, foi desenvolvida por CAS Berlim, uma pequena empresa cooperando com a Universidade Técnica de Berlim. Hoje em dia, a maioria dos computadores gráficos disponibilizam tecnologia NURBS.

## Uso

A tecnologia NURBS está quase omnipresente para CAD na engenharia e na maioria da industria é usado em grande parte como tecnologia standard.
Isto permite representação de formas geométricas de uma forma compacta. Elas podem ser eficientemente moldadas por programas de computador e ainda permitem uma fácil interacção com o utilizador. Superficies NURBS são funções de dois parametros mapeados para uma superficie tridimensional. Esta forma da superfície é determinada por pontos de controlo.
De uma forma geral, podemos dizer que editar curvas e superfícies NURBS é altamente intuitivo e previsivel. Os pontos de controlo são sempre connectados directamente à curva/superficie, ou agem como se estivessem connectadas.
A superficie em construção, por exemplo um motor de um yacht, é normalmente composto por várias superficies NURBS conhecidas como as patches. Estas patches devem estar todas juntas de maneira a que as fronteiras sejam invisiveis.
A continuação geométrica faz com que a forma resulte numa superfície; desde que as superficies NURBS sejam funções, isto possibilita também discutir as derivadas das superficies no que respeita às paramétricas. Isto é conhecido como paramétricas continuadas. A parametrização continuada de um determinado grau implica uma continuidade nesse grau.

## Exemplo: um círculo

Enquanto as curvas não racionais não são suficientes para representar um círculo, isto é um dos muitos passos de controlo das curvas NURBS que podemos parametrizar uniformemente o círculo num plano xy:
| x | y | z | weight |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | ${\sqrt {2}}/2$ |
| 0 | 1 | 0 | 1 |
| −1 | 1 | 0 | ${\sqrt {2}}/2$ |
| −1 | 0 | 0 | 1 |
| −1 | −1 | 0 | ${\sqrt {2}}/2$ |
| 0 | −1 | 0 | 1 |
| 1 | −1 | 0 | ${\sqrt {2}}/2$ |
| 1 | 0 | 0 | 1 |

## Veja também

* Spline
* Algoritmo de Boor
* Subdivisão de superfícies
* Redes Mesh