Especificações técnicas
Contenido
Una curva NURBS se define por su grado, un conjunto de puntos de control ponderados, y un vector de nodos. Las curvas y superficies NURBS son generalizaciones de curvas B-splines y curvas de Bézier, así como de superficies, siendo su diferencia principal la ponderación de los puntos de control que hacen a las curvas NURBS racionales (las curvas B-splines racionales no uniformes son un caso especial de las curvas B-splines racionales). Mientras que las curvas de Bézier se desarrollan en una sola dirección paramétrica, normalmente llamada s o u, las superficies NURBS evolucionan en dos direcciones paramétricas, llamada s y t o u y v.
Mediante la evaluación de una curva de Bézier o una curva NURBS en diversos valores del parámetro, la curva se puede representar en un espacio Cartesiano de dos o tres dimensiones. Asimismo, mediante la evaluación de una superficie NURBS en diversos valores de los dos parámetros, la superficie se puede representar en el espacio cartesiano.
Las curvas y superficies NURBS son útiles por varias razones:.
En las siguientes secciones, las curvas NURBS se analizan en una dimensión. Debe tenerse en cuenta que todo esto se puede generalizar a dos o incluso más dimensiones.
Pontos de verificação
Os pontos de controle determinam a forma da curva. Geralmente, cada ponto da curva é calculado tomando a soma ponderada de uma série de pontos de controle. O peso de cada ponto varia de acordo com o parâmetro que o rege. Para obter uma curva de grau d, o peso de qualquer ponto de controle é diferente de zero apenas nos intervalos D +1 do espaço de parâmetros. Dentro desses intervalos, o peso muda de acordo com uma função polinomial (funções básicas) de grau d. Nos limites dos intervalos, as funções de base aproximam-se lentamente de zero, determinando esta velocidade o grau do polinômio.
Por exemplo, a função base de grau um é uma função triangular. Aumenta de zero a um e depois diminui de volta a zero. À medida que aumenta, a função básica do ponto de verificação anterior diminui. Desta forma, a interpolação entre os dois pontos é uma curva, e esta curva resultante é um polígono, que é contínuo, mas não diferenciável nos limites do intervalo, ou nos nós. Polinômios de grau superior, conseqüentemente, possuem derivadas mais contínuas. Deve-se notar que dentro do intervalo a natureza polinomial das funções de base e a linearidade da construção tornam a curva perfeitamente suave, portanto é apenas nos nós que pode surgir descontinuidade.
O fato de um único ponto de controle influenciar apenas os intervalos em que está ativo é uma propriedade muito desejável, conhecida como suporte local. Na modelagem, isso permite que parte de uma superfície mude, enquanto as outras partes permanecem as mesmas.
Adicionar mais pontos de controle permite uma melhor aproximação de uma determinada curva, embora apenas certas classes de curvas possam ser representadas com exatidão com um número finito de pontos de controle. As curvas NURBS também possuem um peso escalar para cada ponto de controle.
Isto permite maior controle sobre a forma da curva sem aumentar indevidamente o número de pontos de controle. Em particular, seções cônicas como círculos e elipses são adicionadas ao conjunto de curvas que podem ser representadas com exatidão. O termo racional no NURBS refere-se a esses pesos.
Os pontos de controle podem ter qualquer dimensão. Os pontos em uma dimensão definem apenas uma função escalar "escalar (matemática)") do parâmetro. Eles são normalmente usados em programas de processamento de imagens para ajustar curvas de brilho e cores. Os pontos de controle tridimensionais são amplamente utilizados na modelagem 3D, onde são utilizados diariamente como referência à palavra “ponto”, um lugar no espaço 3D. Pontos multidimensionais podem ser usados para controlar conjuntos de valores baseados no tempo, por exemplo, as diferentes configurações de posição e rotação de um braço de robô. As superfícies NURBS são apenas uma aplicação disso. Cada “ponto” de controle é na verdade um vetor preenchido com pontos de controle, definindo uma curva.
Essas curvas compartilham seu grau e o número de pontos de controle e abrangem uma dimensão do espaço de parâmetros. Ao interpolar esses vetores de controle sobre a outra dimensão do espaço de parâmetros, obtém-se um conjunto contínuo de curvas, definindo a superfície.
Vetor de nó
O vetor do nó é uma sequência de valores de parâmetros que determinam onde e como os pontos de controle afetam a curva NURBS. O número de nós é sempre igual ao número de pontos de controle mais o grau da curva mais um. O vetor de nó divide o espaço paramétrico nos intervalos mencionados acima, geralmente conhecidos como segmentos de nó. Cada vez que o valor do parâmetro introduz um novo segmento de nó, um novo ponto de verificação é ativado, enquanto um ponto de verificação antigo é descartado. Segue-se que os valores no vetor do nó devem estar em ordem crescente, portanto (0, 0, 1, 2, 3, 3) é válido, enquanto (0, 0, 2, 1, 3, 3) não é.
Nós consecutivos podem ter o mesmo valor. Isto então define um segmento de nó de comprimento zero, o que implica que dois pontos de verificação são ativados ao mesmo tempo (e, claro, dois pontos de verificação antigos serão desativados). Isto tem um impacto na continuidade da curva resultante ou nas suas derivadas superiores, permitindo, por exemplo, a criação de cantos numa curva NURBS suavizada. Um número de nós correspondentes às vezes é chamado de nó com uma certa multiplicidade. Nós com multiplicidade dois ou três são conhecidos como nós duplos ou triplos. A multiplicidade de um nó é limitada ao grau da curva, pois uma multiplicidade maior dividiria a curva em partes desconexas e deixaria os pontos de controle sem uso. Para NURBS de primeiro grau, cada nó está associado a um ponto de verificação.
O vetor de nó geralmente começa com um nó que possui uma multiplicidade igual à ordem. Isto faz sentido, pois ativa os pontos de verificação que influenciam o primeiro segmento do nó. Da mesma forma, o vetor de nós geralmente termina com um nó dessa multiplicidade. Curvas com tais vetores de nós começam e terminam em um ponto de controle.
Os valores dos nós individuais não são significativos por si só, apenas a proporção da diferença entre os valores dos nós é importante. Portanto, os vetores nodos (0, 0, 1, 2, 3, 3) e (0, 0, 2, 4, 6, 6) produzem a mesma curva. Os valores das posições dos nós influenciam o mapeamento do espaço de parâmetros para o espaço de curvas. A renderização de uma curva NURBS geralmente é feita em etapas com distância fixa ao longo do intervalo de parâmetros. Ao alterar os comprimentos dos segmentos dos nós, mais pontos amostrais podem ser usados em regiões onde a curvatura é máxima. Outra utilização é em situações onde o valor do parâmetro tem algum significado físico, por exemplo, se o parâmetro for tempo e a curva descrever o movimento de um braço de robô. Os comprimentos dos segmentos dos nós são então traduzidos em velocidade e aceleração, que são essenciais para evitar danos ao braço robótico ou ao seu ambiente. É a esta flexibilidade no mapeamento que se refere a frase não uniforme no NURBS.
Necessários apenas para cálculos internos, os nós geralmente não são úteis para usuários de modelagem de software. Portanto, muitos aplicativos de modelagem não tornam os nós editáveis ou mesmo visíveis. Geralmente é possível estabelecer vetores de nós razoáveis observando a variação nos pontos de controle. Versões mais recentes de software para NURBS (por exemplo, Autodesk Maya e Rhinoceros 3D) permitem a edição interativa de posições de nós, mas isso é significativamente menos intuitivo do que a edição de pontos de controle.
Grau
A ordem de uma curva NURBS define o número de pontos de controle próximos que influenciam qualquer ponto da curva. A curva é representada matematicamente por um polinômio de grau um menos a ordem da curva. Portanto, as curvas de segunda ordem (que são representadas por polinômios lineares) são chamadas de curvas lineares, as curvas de terceira ordem são chamadas de curvas quadráticas e as curvas de quarta ordem são chamadas de curvas cúbicas. O número de pontos de controle deve ser maior ou igual à ordem da curva.
Na prática, as curvas cúbicas são as mais utilizadas. As curvas de quinta e sexta ordem são por vezes úteis, especialmente para obter derivadas contínuas de ordem superior, mas as curvas de ordem superior praticamente nunca são utilizadas porque conduzem a problemas numéricos internos e tendem a exigir tempos de cálculo desproporcionalmente grandes.