Reconstrucción de Superficies de Forma Libre Mediante...

41
Reconstrucción de Superficies de Forma Libre Mediante Funciones NURBS Ernesto Cuartas Morales Universidad Nacional de Colombia Sede Manizales Facultad de Ingeniería y Arquitectura Maestría en Ingeniería - Automatización Industrial Manizales, Colombia 2006

Transcript of Reconstrucción de Superficies de Forma Libre Mediante...

Reconstrucción de Superficies de Forma Libre Mediante

Funciones NURBS

Ernesto Cuartas Morales

Universidad Nacional de Colombia

Sede Manizales

Facultad de Ingeniería y Arquitectura

Maestría en Ingeniería - Automatización Industrial

Manizales, Colombia

2006

Reconstrucción de Superficies de Forma Libre Mediante

Funciones NURBS

Por

Ernesto Cuartas Morales, Ing

Director

Flavio Prieto, PhD

Trabajo de Grado

Presentada a la Facultad de Ingeniería y Arquitectura de la

Universidad Nacional de Colombia

Sede Manizales

En cumplimiento

de los Requerimientos

para el Grado de

Magister en Ingeniería - Automatización Industial

Universidad Nacional de Colombia

Sede Manizales

A la vida, que me permitió recorrer el camino de la

Ingeniería

Resumen

El modelado 3D es uno de los campos de investigación con más auge en el área de

visión por computador. La reconstrucción de objetos del mundo real en un computador a

cobrado un nuevo significado gracias al avance en los digitalizadores 3D, que rastrean la

geometría de un objeto con una mayor precisión en cada nueva generación. El problema de

convertir una densa nube de puntos desorganizados en un modelo útil es uno de los campos

de mayor interés. Este trabajo aporta un método de reconstrucción de vistas parciales de

objetos tridimensionales mediante funciones NURBS, haciendo uso de la proyección planar

de los datos y la triangulación planar de Delaunay para particionar en cuadriláteros una

reconstrucción inicial que puede contener bordes irregulares y agujeros. Posteriormente se

parametrizan los vecindarios con funciones NURBS bicúbicas en un proceso de proyección

que permite rastrear la información espacial del modelo a reconstruir. La aproximación es

optimizada mediante un sistema lineal generalizante que permite ajustar los pesos y los

puntos de control en la parametrización.

Abstract

The 3D modeling is one of the investigation fields with more work’s in the com-

puter vision area. The computational reconstruction of real world objects have now a new

meaning, this thanks to the advance in the 3D digitalizators. Whit these, the geometry of an

object can be captured with a better precision in each new one generation. The problem of

transforming a dense disorganized cloud of points in an useful model is one of the fields of

most interest. This work illustrates a method of NURBS reconstruction for partial views of

three dimensional objects. The reconstruction is made through planar projection of the data

and the Delaunay triangulation for the quadrilaterals split of the model reconstruction, that

can contain irregular borders and holes. Later, the parametrization process is made in each

one of the neighborhoods using bicubic NURBS functions. A projection process allows

to approach the space information of the object. The approach is optimized with a lineal

system, optimizing the control points and the weights after the parametrization process.

V

Agradecimientos

ERNESTO CUARTAS MORALES

Universidad Nacional de Colombia

Sede Manizales

Abril 2006

A Flavio Prieto por la confianza que me brindó para llevar a cabo este proyecto.

A mi familia por su apoyo incondicional.

A los integrantes del grupo PCI.

A Amanda y Alba.

A Lina.

Al DINAIN que financió el proyecto de investigación “Modelado de Superficies de Forma

Libre Empleando Técnicas de Visión Artificial”.

Al programa de becas “Estudiantes Sobresalientes de Posgrado” de la Universidad

Nacional de Colombia.

VI

Contenido

Portada I

Resumen IV

Abstract V

Agradecimientos VI

Contenido VII

Lista de Tablas XI

Lista de Figuras XII

Lista de Anexos XV

Introducción 1

Capítulo 1. Reconstrucción de Superficies 4

1.1. Generación de modelos computacionales a partir de muestras de la superfi-

cie de un objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.1.1. Reconstrucción mediante funciones B-Splines . . . . . . . . . . . . 6

1.2. Reconstrucción propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.3. Consideraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

VII

VIII

Capítulo 2. Particionamiento Cuadrilateral de Vistas Parciales 12

2.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2. Geometría de los objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.1. Disposición matricial ordenada de las funciones NURBS . . . . . . 17

2.3. Proyección planar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3.1. Extracción del borde . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.4. Particionamiento cuadrilateral . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4.1. Triangulación de Delaunay . . . . . . . . . . . . . . . . . . . . . . 22

2.4.2. Vecindarios cuadrilaterales a partir del grafo de Delaunay . . . . . 23

2.4.3. Vecindarios cuadrilaterales sobre los bordes . . . . . . . . . . . . . 24

2.4.4. Vecindarios cuadrilaterales en los agujeros . . . . . . . . . . . . . 26

2.4.5. Consideraciones acerca de la metodología propuesta . . . . . . . . 28

2.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Capítulo 3. Parametrización de Superficies NURBS 32

3.1. Selección de puntos de control en el plano . . . . . . . . . . . . . . . . . . 33

3.1.1. Caso cuadrilateral regular . . . . . . . . . . . . . . . . . . . . . . 33

3.1.2. Caso cuadrilateral irregular . . . . . . . . . . . . . . . . . . . . . . 35

3.2. Aproximación de la profundidad . . . . . . . . . . . . . . . . . . . . . . . 38

3.2.1. Proyección punto a punto . . . . . . . . . . . . . . . . . . . . . . . 38

3.2.2. Proyección punto a triángulo . . . . . . . . . . . . . . . . . . . . . 41

3.2.3. Consideraciones acerca de la metodología propuesta . . . . . . . . 45

3.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Capítulo 4. Continuidad Entre Funciones NURBS 47

4.1. Continuidad en Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.2. Continuidad entre parches NURBS . . . . . . . . . . . . . . . . . . . . . . 49

4.2.1. Continuidad de vértices C0 . . . . . . . . . . . . . . . . . . . . . . 49

4.2.2. Continuidad de normales C l . . . . . . . . . . . . . . . . . . . . . 49

IX

4.3. Ajuste de la continuidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.3.1. Continuidad entre ejes . . . . . . . . . . . . . . . . . . . . . . . . 51

4.3.2. Continuidad en los vértices . . . . . . . . . . . . . . . . . . . . . . 52

4.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Capítulo 5. Optimización de Funciones NURBS 55

5.1. Formulación del problema . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.1.1. Optimización lineal . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.2. Métrica del error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.2.1. Proyección de superficies . . . . . . . . . . . . . . . . . . . . . . . 58

5.3. Consideraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Capítulo 6. Evaluación y Resultados 62

6.0.1. Configuración del experimento . . . . . . . . . . . . . . . . . . . . 65

6.1. Particionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6.1.1. Caracterización del borde . . . . . . . . . . . . . . . . . . . . . . 65

6.1.2. Selección de los puntos de control . . . . . . . . . . . . . . . . . . 66

6.1.3. Selección aleatoria . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.1.4. Selección aleatoria restringida . . . . . . . . . . . . . . . . . . . . 67

6.1.5. Tiempo de cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.2. Parametrización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.2.1. Selección de puntos de control en el plano . . . . . . . . . . . . . . 68

6.2.2. Indexación cuadrada . . . . . . . . . . . . . . . . . . . . . . . . . 69

6.2.3. Proyección punto a punto . . . . . . . . . . . . . . . . . . . . . . 70

6.2.4. Proyección punto a triángulo . . . . . . . . . . . . . . . . . . . . . 71

6.2.5. Error en la aproximación . . . . . . . . . . . . . . . . . . . . . . . 73

6.3. Continuidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6.3.1. Tiempo de cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.4. Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

X

6.5. Reconstrucción completa . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Capítulo 7. Conclusiones y Trabajo Futuro 79

7.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

7.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Bibliografía 82

Apéndice A. NURBS A–1

A.1. Curvas y Superficies de Bézier . . . . . . . . . . . . . . . . . . . . . . . . A–2

A.2. Funciones Base Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–3

A.2.1. Propiedades de las Funciones Base Splines . . . . . . . . . . . . . A–4

A.2.2. Vector paramétrico de nodos . . . . . . . . . . . . . . . . . . . . . A–5

A.3. B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–7

A.3.1. Curvas B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . A–7

A.3.2. Superficies B-Splines . . . . . . . . . . . . . . . . . . . . . . . . . A–8

A.4. B-Splines Racionales no Uniformes (NURBS) . . . . . . . . . . . . . . . . A–9

A.4.1. Propiedades de la representación racional con B-Splines . . . . . . A–10

A.4.2. Curvas y Superficies NURBS . . . . . . . . . . . . . . . . . . . . A–12

A.4.3. Grados de libertad . . . . . . . . . . . . . . . . . . . . . . . . . . A–13

Apéndice B. Algoritmos de reconstrucción B–1

B.1. Algoritmo de Delaunay . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–1

Lista de Tablas

6.1. Borde - caracterización . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.2. Optimización con 9 vecindarios . . . . . . . . . . . . . . . . . . . . . . . 76

6.3. Optimización con 14 vecindarios . . . . . . . . . . . . . . . . . . . . . . . 76

XI

Lista de Figuras

1.1. Reconstrucción de una vista parcial . . . . . . . . . . . . . . . . . . . . . 9

1.2. Metodología de reconstrucción propuesta . . . . . . . . . . . . . . . . . . 10

2.1. Vecindario cuadrilateral poliédrico . . . . . . . . . . . . . . . . . . . . . . 13

2.2. Reconstrucción de Loop, tomado de [20] . . . . . . . . . . . . . . . . . . . 14

2.3. Particionamiento cuadrilateral de Hoppe, tomado de [17] . . . . . . . . . . 15

2.4. Geometría de los objetos 3D . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.5. Ordenamiento de puntos de control en Splines . . . . . . . . . . . . . . . . 18

2.6. Mapeo matricial ordenado en vecindario irregular . . . . . . . . . . . . . . 19

2.7. Triángulos de borde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.8. Ejemplo de caracterización del borde . . . . . . . . . . . . . . . . . . . . 21

2.9. Vecindarios cuadrilaterales regulares . . . . . . . . . . . . . . . . . . . . . 23

2.10. Disposición de ejes radiales . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.11. Ejes radiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.12. Particionamiento en agujeros . . . . . . . . . . . . . . . . . . . . . . . . . 27

2.13. Metodología de particionamiento propuesta . . . . . . . . . . . . . . . . . 28

2.14. Particionamiento cuadrilateral . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1. Parametrización - caso regular . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2. Parametrización - caso irregular . . . . . . . . . . . . . . . . . . . . . . . 36

3.3. Parametrización planar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

XII

XIII

3.4. Proyección punto a punto . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.5. Pertenencia de un punto a un triángulo . . . . . . . . . . . . . . . . . . . . 42

3.6. Proyección punto a triángulo . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.7. Estrategia de Parametrización Propuesta . . . . . . . . . . . . . . . . . . . 45

3.8. Parametrización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1. Proyección en superficies . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.2. Continuidad entre Ejes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.3. Continuidad en los vértices . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.4. Ajuste de Continuidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.1. Proyección en superficies . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

6.1. Conjunto de datos rostro . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.2. Conjunto de datos válvula . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.3. Conjunto de datos buda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.4. Conjunto de datos cerámica precolombina . . . . . . . . . . . . . . . . . . 64

6.5. Conjunto de datos máscara . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.6. Particionamiento - Selección de puntos de control . . . . . . . . . . . . . . 67

6.7. Parametrización - indexación cuadrada . . . . . . . . . . . . . . . . . . . . 69

6.8. Parametrización punto a punto . . . . . . . . . . . . . . . . . . . . . . . . 70

6.9. Parametrización - tiempo de cálculo . . . . . . . . . . . . . . . . . . . . . 71

6.10. Parametrización punto a triángulo . . . . . . . . . . . . . . . . . . . . . . 72

6.11. Parametrización - Tiempo de Cálculo . . . . . . . . . . . . . . . . . . . . . 73

6.12. Parametrización - error de aproximación . . . . . . . . . . . . . . . . . . . 74

6.13. Continuidad en modelo válvula . . . . . . . . . . . . . . . . . . . . . . . . 75

6.14. Reconstrucción cerámica precolombina . . . . . . . . . . . . . . . . . . . 77

6.15. Reconstrucción máscara . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

A.1. Funciones base splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–5

XIV

A.2. Funciones base con nodos no uniformes . . . . . . . . . . . . . . . . . . . A–7

A.3. Proyección del plano racional W . . . . . . . . . . . . . . . . . . . . . . . A–10

A.4. Superficies NURBS con diferentes pesos . . . . . . . . . . . . . . . . . . . A–11

A.5. Curva NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–12

A.6. Superficie NURBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–13

Lista de Anexos

XV

Introducción

La generación de superficies de forma libre y objetos del mundo real en un orde-

nador es una labor compleja incluso para los diseñadores que emplean sistemas de modela-

do geométrico avanzado. El rastreo de la geometría de objetos del mundo real es de mayor

interés en aplicaciones prácticas como realidad virtual, CAD, medicina, visualización, man-

ufactura y control de calidad. El avance en las tecnologías de adquisición 3D permite que

los escáner de rango laser de última generación rastreen la superficie de un objeto con alta

precisión. El proceso resulta en una nube de puntos discreta, bastante densa, que contiene la

información espacial de la geometría del objeto. Convertir la gran cantidad de puntos gen-

erados por un escáner laser en un modelo geométrico útil se define como reconstrucción de

superficies a partir de imágenes de rango.

La reconstrucción de modelos de forma libre tuvo una primera aproximación en

los cubos marchantes y la distancia signada. Este método combinado con un refinamiento

posterior de la reconstrucción, ofrece excelentes resultados y modelos realistas. Las repre-

sentaciones generadas a partir estos métodos son colecciones de caras planares poligonales

(generalmente triángulos) conectadas entre si, las cuales recrean de manera brusca la su-

perficie del modelo a representar. Aunque existen diversas técnicas para el suavizado de los

métodos poligonales, la continuidad del modelo y el error en la reconstrucción no hacen

parte de los parámetros del proceso; además, un alto nivel de detalle requiere un número

mayor de polígonos, y por consiguiente un mayor costo computacional.

2

Las funciones NURBS son empleadas para diversas tareas tales como la recons-

trucción de imágenes 3D, diseño de alto nivel o modelado complejo de formas humanas

en animación. Su mayor utilidad se encuentra en el área de reconstrucción de superficies

de forma libre debido a su alto grado de adaptación y su representación suave y contin-

ua. Sin embargo, el paradigma del modelado mediante B-Splines está limitado, debido a

que los puntos de control sobre el modelo a recrear deben estar organizados en una estruc-

tura matricial ordenada. Este problema hace que no sea útil el ajuste de una sola superficie

B-Spline a un modelo complejo con morfología irregular. La adaptación de una sola fun-

ción paramétrica NURBS se ha afrontado desde diferentes puntos de vista con resultados

poco prometedores. La reconstrucción eficiente de modelos de forma libre requiere la in-

troducción de una red de parches que se unan entre si de forma adecuada para aproximar la

superficie cambiante de un modelo irregular. La generación automática de la red y la para-

metrización de los puntos sobre cada parche es un problema complejo, debido que se debe

garantizar la continuidad de plano tangente C l en las fronteras de los parches adyacentes y

la representación final depende de un proceso de particionamiento adecuado del modelo.

Mediante este trabajo se pretende afrontar el problema de la reconstrucción de su-

perficies de forma libre, empleando colecciones de funciones NURBS ensambladas de for-

ma suave y haciendo uso de técnicas de optimización para la obtención de representaciones

paramétricas de vistas parciales de objetos del mundo real.

La disposición del documento es la siguiente: En el Capítulo 1 se hace una re-

visión general de la reconstrucción de superficies orientada hacia la reconstrucción medi-

ante funciones B-Splines. El Capítulo 2 expone el método de particionamiento cuadrilate-

ral propuesto, el cual está basado en la proyección planar de los datos y la triangulación

de Delaunay. En el Capítulo 3 se plantea el problema de la parametrización mediante fun-

ciones B-Splines y se presenta la metodología de parametrización desarrollada. El Capítulo

4 muestra el esquema de ajuste de continuidad empleado para garantizar la suavidad en-

3

tre las funciones NURBS adyacentes. El Capítulo 5 muestra el proceso de optimización

del ajuste empleado. Finalmente el Capítulo 6 ilustra las pruebas realizadas al método de

reconstrucción propuesto, y en el Capítulo 7 se comentan las Conclusiones y el Trabajo

Futuro propuesto. Adicionalmente, en el Apéndice A se presenta un análisis minucioso de

las funciones NURBS.

Capítulo 1

Reconstrucción de Superficies

Los escáner 3D muestrean la superficie de un objeto con una aproximación que

ofrece una nube de puntos bastante densa, y con cierto ruido residual inherente al proceso

de adquisición [1]. A partir de esta nube de puntos, se puede obtener un modelo estimado

que brinde información geométrica de la superficie del objeto y, que además, esté sujeto

a restricciones de continuidad. Una sola imagen de rango provee información parcial de la

superficie del objeto, por lo tanto, es necesario combinar múltiples imágenes de rango desde

diferentes puntos de vista en un mismo espacio coordenado para obtener un modelo com-

pleto. Este procedimiento involucra procesos tales como el registro y la integración [2,3,4].

El proceso de reconstrucción de superficies tiene varias etapas que van desde la

adquisición hasta la integración del modelo [5]. El método de triangulación, es por mucho

el método más empleado para inferir la información espacial de un objeto del mundo real

por medio de dispositivos ópticos [6]. Los sistemas de captura por triangulación se compo-

nen generalmente por un sistema de “proyección” de luz estructurada, que emplea patrones

de luz tales como puntos, líneas, rejillas, etc, los cuales son captados por un sensor ópti-

co, que típicamente es un CCD [1]. Las técnicas de luz estructurada simplifican de manera

importante el proceso de triangulación de la posición de un punto en el espacio, esto de-

bido a que mediante el conocimiento de los parámetros de la cámara se puede encontrar

4

5

directamente el rastreo paramétrico espacial de una imagen planar generada por un sensor

CCD. Los métodos de luz estructurada hacen posible la adquisición de imágenes de rango

en tiempo real sin la necesidad de ordenadores muy veloces [7].

Mediante el proceso de registro se deben encontrar las transformaciones geométri-

cas que referencian un conjunto de imágenes de rango de un objeto real a un mismo espacio

coordenado [3, 5]. Uno de los algoritmos más usados en la etapa de registro es el ICP (Iter-

ative Closest Point) [8].

Este trabajo se centra en el proceso de adaptación de superficies empleando fun-

ciones NURBS, ya que estas presentan características ideales para la aproximación a mo-

delos de forma libre [9].

1.1. Generación de modelos computacionales a partir de mues-

tras de la superficie de un objeto

Si se retoma el problema de la reconstrucción de superficies al terminar la etapa de

registro, este se puede definir de la siguiente manera:

Dado un conjunto de datos de rango fi tomados desde diferentes puntos de vista de

una escena, y previamente alineados (registrados), hallar la superficie continua M i que se

aproxime de mejor manera a la superficie real M [5].

La idea de generar construcciones espaciales generalizadas a partir de muestras de

superficies tridimensionales cautivó a matemáticos e ingenieros durante la década de los

80’s (1980 - 1990) [10]. Planteado el problema, se deben analizar las implicaciones de su

solución. La nube de puntos es un muestreo de la superficie de un objeto físico tridimen-

sional, es decir, la información rastreada está concentrada en un casquete que define la

6

geometría de la superficie del objeto, y aunque el muestreo es desorganizado (despúes de

las etapas de adquisición y registro), dicha nube de puntos contiene información espacial

del objeto que queremos reconstruir.

La reconstrucción de modelos de forma libre a partir de imágenes de rango tuvo una

primera aproximación en los cubos marchantes y la distancia signada [10,5,6], este método

combinado con un refinamiento posterior de la reconstrucción ofrece excelentes resultados

y modelos realistas [11,12]. Las representaciones generadas a partir de estos métodos están

conformadas por caras planares poligonales (generalmente triángulos) conectadas entre si,

las cuales recrean de manera brusca el modelo final. Aunque existen diversas técnicas para

el suavizado de los métodos poligonales [10, 12, 13], la continuidad del modelo y el error

en la reconstrucción no hacen parte de los parámetros del proceso, además, un alto nivel de

detalle requiere un número mayor de polígonos, y por consiguiente un mayor costo com-

putacional.

1.1.1. Reconstrucción mediante funciones B-Splines

Las funciones B-Splines en su forma bitensorial cruzada (superficies generalizadas

Splines) prometían ser una de las herramientas más útiles en el área de la reconstrucción

de objetos de forma libre en la última década del siglo pasado (1990− 2000). No obstante,

el paradigma del modelado mediante B-Splines está limitado debido a que los puntos de

control sobre el modelo a representar deben estar organizados en una estructura matricial

ordenada. Este problema hace que el ajuste de una sola superficie B-Spline a un modelo

complejo no sea útil. Las funciones NURBS son la representación racional de las funciones

primitivas B-Splines (la forma racional introduce pesos asociados que crean una nueva di-

mensión en la parametrización ver Anexo A). La adaptación de una sola función paramétri-

ca NURBS se ha abordado desde diferentes puntos de vista con resultados poco promete-

dores [14, 15, 16]. Por tanto, se ha difundido el hecho de que la reconstrucción eficiente de

7

modelos complejos requiere la introducción de una red de parches NURBS (o B-Splines).

La reconstrucción de superficies mediante funciones paramétricas NURBS es tratada por

diversos autores [14, 15, 17, 18, 19, 20, 21, 22, 23], y, aunque han surgido planteamientos

que en su momento han pretendido ser el enfoque correcto en cuanto a parametrización y/o

particionamiento para la reconstrucción efectiva de modelos de forma libre mediante fun-

ciones B-Splines, en todos y cada uno de los trabajos revisados en la literatura queda claro

que todavía no existe un método óptimo para adaptar funciones paramétricas a muestras

desordenadas de la superficie de un objeto. Sin embargo, diversos enfoques ofrecen solu-

ciones prácticas y simples, que a falta de una metodología estandarizada, se convierten en

el modelo a seguir.

Como se mencionó anteriormente, el ajuste de una sola superficie B-Spline a un mo-

delo irregular se ha afrontado desde diferentes puntos de vista con resultados poco promete-

dores [14, 15], Esto debido a la restricción de adaptación matricial de los modelos Splines.

Las metodologías con mejores resultados, reportadas en la literatura son el trabajo de In Kyu

Park [18,19] y el trabajo de Hugues Hoppe [17]. En ambos, se plantea la reconstrucción de

modelos volumétricos cerrados con algunas restricciones.

In Kyu Park [18, 19] desarrolla una técnica de reconstrucción de modelos de forma

libre mediante superficies NURBS. Su aproximación se vale de un clustering mediante el

algoritmo K-medias [19] para encontrar un modelo inicial con particiones poliédricas de

una nube de puntos desorganizada. A partir del modelo inicial se conforma una reconstruc-

ción triangular conectando los vértices y el centroide de cada parche poliédrico. Finalmente,

la reconstrucción triangular es apareada para encontrar la división cuadrilateral del mode-

lo. La metodología propuesta por Park es poco práctica debido a que la partición inicial

debe ser fina para evitar resultados erróneos en el algoritmo K-medias y el apareamiento de

la base triangular no siempre es posible, además, el proceso de parametrización introduce

problemas adicionales que pueden ser simplificados como la obtención del vector de no-

8

dos [24]. El método de Park esta restringido a modelos con curvaturas poco pronunciadas,

esto debido al proceso de particionamiento, que plantea la conexión de los puntos de control

sobre la nube de puntos desorganizada por medio de un proceso de agrupamiento basado

en la distancia espacial.

El trabajo de Hugues Hoppe [17] es el trabajo más completo reportado en la literatu-

ra en el área de reconstrucción de modelos de forma libre empleando funciones paramétric-

as a trozos. Al igual que Park, Hoppe propone un método de particionamiento cuadrilateral

para la parametrización del modelo. A partir de la nube de puntos original, se genera una

reconstrucción poligonal inicial M0. Esta reconstrucción inicial es particionada en vecin-

darios irregulares mediante el algoritmo de Voronoi, al cual se le aplica la triangulación de

Delaunay con la restricción de un número par de triángulos, que garantiza el apareamien-

to [25, 7]. Finalmente, la base triangular es apareada para construir el particionamiento

cuadrilateral del modelo [26].

El método de Hoppe presenta los mejores resultados para la reconstrucción de

modelos de forma libre mediante el ajuste suave de Splines, esto gracias a una partición

volumétrica efectiva y a una etapa de refinamiento adaptativo que genera modelos realistas

de objetos complejos. Sin embargo, el ajuste de los modelos G-Splines de Peters no ofrece

una parametrización racional lo cual se ve reflejado en un control local menor del ajuste

de las funciones paramétricas. En la metodología propuesta en este trabajo se emplean fun-

ciones NURBS, mediante las cuales es posible realizar un ajuste local fino por medio de la

optimización conjunta de los pesos y puntos de control [24].

9

Figura 1.1: Reconstrucción de una vista parcial

La Figura 1.1 ilustra la reconstrucción mediante el método propuesto de una vista

parcial de un modelo con un agujero.

Los trabajos más recientes emplean modelos modificados de funciones B-Splines

[27, 28], los cuales se adaptan a vecindarios triangulares y por tanto a los modelos poligo-

nales triangulados. Inclusive en enfoques como estos, el tamaño de los vecindarios y la can-

tidad de funciones necesarias para la reconstrucción de modelos simples sigue estando lejos

del paradigma de la reconstrucción planteado por las funciones paramétricas adaptables, las

cuales parecen tener un mejor lugar en el modelado por computador de formas sintéticas

y no en la reconstrucción de modelos mediante muestras de su superficie. No obstante, el

hecho de ofrecer condiciones ajustables de continuidad y diferenciación, la posibilidad de

medir el error de ajuste y la capacidad de deformación suave hacen de la reconstrucción por

medio de superficies B-Splines un tema actual, apasionante y en ciertas aplicaciones más

adecuado que las reconstrucciones trianguladas primitivas [29, 30, 9, 31].

10

No se encontraron en la literatura trabajos que abordaran la reconstrucción medi-

ante funciones NURBS de vistas parciales de objetos tridimensionales teniendo en cuenta

el mapeo de bordes irregulares y agujeros. Los métodos reportados analizan solo modelos

volumétricos cerrados, sin la presencia de bordes o agujeros. La metodología de reconstruc-

ción propuesta plantea un método de parametrización generalizante para modelos de vistas

parciales, los cuales presentan bordes irregulares y agujeros en su representación inicial.

1.2. Reconstrucción propuesta

La metodología desarrollada en este trabajo se basa en la proyección planar de las

muestras de la superficie, por lo tanto, mediante el método propuesto solo es posible recon-

struir vistas parciales de modelos tridimensionales, los cuales pueden contener agujeros en

su representación triangulada inicial. Es decir, modelos abiertos, no cerrados que puedan

ser mapeados en un plano.

Figura 1.2: Metodología de reconstrucción propuesta

La figura 1.2 ilustra el diagrama de bloques general del proceso de reconstrucción

propuesto

11

1.3. Consideraciones

Los procesos de adquisición y registro de imágenes de rango derivan en un conjunto

de puntos en el espacio (nube de puntos). Dicho conjunto contiene la información implíci-

ta de la superficie del modelo a reconstruir, sin embargo, si no se cuenta con información

adicional sobre la escena en los procesos precedentes, la nube de puntos resultante es total-

mente desordenada.

Debido a que la parametrización mediante funciones NURBS requiere un orde-

namiento riguroso de los datos y una disposición matricial de los mismos, se adoptaron var-

ios de los enfoques de las metodologías analizadas en la literatura. Por ejemplo, partir de un

modelo inicial triangulado; emplear el método de triangulación de Delaunay para generar

vecindarios cuadrilaterales y emplear un esquema simplificado de funciones NURBS con

una expansión uniforme en sus funciones base (ver Anexo A).

Se emplearán funciones paramétricas NURBS, las cuales han sido empleadas en

varios de los enfoques revisados en la literatura debido a que mediante estas es posible

generar aproximaciones suaves y continuas de superficies de forma libre. Además, su alto

grado de adaptación permite crear representaciones flexibles, deformables y más livianas,

las cuales a su vez son compatibles con paquetes gráficos de alto desempeño como el

OpenGL o programas de modelado avanzado como el 3ds Max. Adicionalmente, la for-

ma racional de las funciones NURBS permite una adaptabilidad local mayor con respecto

a funciones paramétricas primitivas como las B-Splines, G-Splines o Bezier.

Capítulo 2

Particionamiento Cuadrilateral de

Vistas Parciales

Como se mencionó anteriormente (ver sección 1.2), la reconstrucción de un modelo

útil mediante funciones B-Splines, requiere la introducción de una red de parches ensam-

blados de forma adecuada para poder representar la superficie cambiante de modelos de

forma libre. Debido a esto, se hace necesario particionar el conjunto de datos inicial de al-

guna forma, con el fin de reconstruir el modelo a trozos mediante funciones NURBS.

El proceso de particionamiento propuesto es generalizante y se puede aplicar a mo-

delos de forma libre con la siguientes restricciones. Las representaciones deben ser vistas

parciales de objetos de forma libre que puedan ser mapeadas hacia un plano; la disposición

de los puntos en el conjunto de datos puede ser totalmente desordenada. La triangulación

inici8al del modelo a reconstruir debe ser correcta, y no debe contener triángulos aislados.

2.1. Antecedentes

Existen diferentes enfoques de particionamiento reportados en la literatura. En to-

dos ellos se hace evidente la necesidad de vecindarios adecuados (cuadrilaterales) para la

12

13

adaptación de funciones B-Splines [32], esto debido al condicionamiento de una disposi-

ción matricial ordenada de los datos (ver anexo A.4.2).

Lee, S y Tan, H [33] afrontaron el problema de la agrupación de puntos no organi-

zados en vecindarios cuadrilaterales para la disposición de superficies paramétricas [9]. Su

aproximación consiste en la formulación de matrices de mezcla para el ajuste de parches

Bezier (ver Anexo A) en vecindarios aislados no cuadrilaterales.

Figura 2.1: Vecindario cuadrilateral poliédrico

La Figura 2.1 ilustra un vecindario aislado no cuadrilateral.

El modelo de Lee, S y Tan, H presenta una formulación matemática compleja, ex-

tensa y poco práctica, debido a que las matrices de mezcla deben ser recalculadas para cada

vecindario aislado extraordinario con n (n 6= 4) lados. Por su complejidad y su mínima

adaptabilidad, el uso práctico de esta aproximación está lejos de ser el mejor en un esque-

ma de reconstrucción generalizante.

Charles L [20] propone una técnica de particionamiento de modelos sintéticos cer-

rados, mediante la cual se generan vecindarios cuadrilaterales sin la presencia de caras

aisladas con n lados (n 6= 4). La partición del modelo es generada a partir de una recons-

trucción inicial M0, la cual es refinada mediante un proceso geométrico que combina un

14

vértice y las caras adyacentes a este en M0, para obtener una nueva representación M1.

La reconstrucción de Loop se aplica a modelos simplificados generados por com-

putador y no es útil para objetos del mundo real rastreados por un sensor de rango, además,

la complejidad de su método de parametrización es considerable debido a que aplica fun-

ciones Splines con diferentes grados para garantizar la continuidad C l (ver sección 4) en

las fronteras de los vecindarios [20].

Figura 2.2: Reconstrucción de Loop, tomado de [20]

En la Figura 2.2 se aprecia la partición refinada y la reconstrucción resultante del

método de Loop. Las zonas de la imagen azules y amarillas corresponden a Splines con

parches Bezier cuárticos, las zonas rojas y verdes a Splines con parches Bezier cúbicos

y las zonas grises a parches Splines bicuadráticos (ver anexo A). Como ya se mencionó,

este método es útil sólo en modelos sintéticos los cuales están totalmente caracterizados,

además el hecho de emplear colecciones diferentes de funciones Splines para garantizar la

continuidad entre los parches influye en la complejidad de procesos posteriores como la

optimización.

15

Al igual que en los trabajos anteriores, Hoppe propone un método de particiona-

miento cuadrilateral para la parametrización del modelo. A partir de la nube de puntos

original, se genera una reconstrucción poligonal inicial M0 que está basada en sus trabajos

previos de distancia signada y cubos marchantes [11, 12, 13]. Esta reconstrucción inicial

es particionada en vecindarios irregulares mediante el algoritmo de Voronoi, al cual se le

aplica la triangulación de Delaunay con la restricción de un número par de triángulos que

garantiza el apareamiento [25, 7]. Finalmente, la base triangular es apareada para construir

el particionamiento cuadrilateral del modelo [26].

(a) Reconstrucción M0 (b) Partición Voronoi

(c) Delaunay (d) Base Cuadrilateral K�

Figura 2.3: Particionamiento cuadrilateral de Hoppe, tomado de [17]

La figura 2.3 muestra el proceso del particionamiento cuadrilateral de Hoppe, en la

figura 2.3(a) se aprecia la reconstrucción inicial M0, las figuras 2.3(b) y 2.3(c) muestran la

16

partición de Voronoi y la triangulación de Delaunay del modelo respectivamente. En la figu-

ra 2.3(d) se aprecia la partición cuadrilateral final. El enfoque de particionamieto de Hoppe

presenta diversas ventajas. Su estructura base siempre es un cuadrilátero y su proceso puede

ser refinado para generar una concentración mayor de vecindarios en las zonas con mayor

curvatura. Sin embargo, su método se aplica solo a modelos cerrados sin agujeros o bordes

irregulares.

Otros autores como In Kyu Park [18, 19] emplean algoritmos de clasificación para

generar una red de cuadriláteros sobre la superficie de la nube de puntos. Este tipo de seg-

mentación emplea modelos basados en métricas de distancia espacial entre los datos, los

cuales no tienen en cuenta la conectividad implícita de los puntos en la superficie a repre-

sentar. Todo lo anterior deriva en un particionamiento pobre, con un gran número de vecin-

darios y por lo tanto, un número elevado de parches. Algunas de las aproximaciones propo-

nen la interpolación de los datos [27], lo cual hace que el número de funciones paramétricas

y datos en la reconstrucción total sea incluso mayor que en el modelo original.

2.2. Geometría de los objetos

Debido a la complejidad de un particionamiento volumétrico efectivo, y a la necesi-

dad de reconstruir vistas parciales con bordes irregulares y agujeros, en este trabajo se optó

por una reconstrucción de superficies mediante la proyección planar de los datos. Este es-

quema difiere en gran medida con los métodos encontrados en la literatura, ya que todos

ellos se basan en la reconstrucción de modelos completos y cerrados.

Para generar un método de particionamiento efectivo y generalizante que se pue-

da aplicar a proyecciones planares de modelos tridimensionales, es necesario analizar la

geometría de los objetos y sus implicaciones. El borde irregular de este tipo de proyec-

ciones es especialmente problemático, debido a su forma libre (figura 2.4(b)).

17

(a) Modelo 3D (b) Proyección planar

Figura 2.4: Geometría de los objetos 3D

La figura 2.4 ilustra la geometría cambiante de una superficie irregular de forma li-

bre, en este caso una válvula industrial, la figura 2.4(b) corresponde a la proyección planar

del modelo tridimensional de la figura 2.4(a).

2.2.1. Disposición matricial ordenada de las funciones NURBS

Como se mencionó anteriormente, debido a la formulación de las funciones NURBS,

los puntos de control y los pesos no sólo deben estar dispuestos en una matriz (forma rec-

tangular) sino que deben respetar un orden dado. Para entender las implicaciones de la

condición de ordenamiento de los datos en el mapeo paramétrico de las funciones NURBS

se ilustra a continuación un ejemplo en curvas planares paramétricas.

18

(a) Curva 1 (b) Curva 2

Figura 2.5: Ordenamiento de puntos de control en Splines

La figura 2.5 ilustra la importancia del ordenamiento de los puntos de control en

funciones B-Splines como las NURBS. La figura 2.5(a) ilustra una curva NURBS con ocho

puntos de control y diferentes pesos asociados. Al intercambiar el orden de los puntos P4

y P5 (figura 2.5(b)) se puede apreciar como la curva se envuelve sobre si misma debido al

nuevo ordenamiento en los puntos de control. Las superficies NURBS se comportan de for-

ma similar pero en ambas direcciones paramétricas, razón por la cual el ordenamiento de los

datos en este tipo de funciones es de gran importancia. No obstante, el mapeo paramétri-

co que se puede generar a partir de una superficie B-Spline no necesariamente debe ser

rectangular regular, es decir, la necesidad de una estructura matricial ordenada no implica

que la parametrización de las funciones NURBS solo pueda ser empleada en vecindarios

cuadrilaterales con ejes rectilíneos.

19

(a) Regular (b) Irregular

Figura 2.6: Mapeo matricial ordenado en vecindario irregular

La figura 2.6 muestra un ejemplo de mapeo matricial ordenado en un cuadrilátero

con ejes rectilíneos (figura 2.6(a)) y otro ejemplo con un vecindario cuadrilateral (con 4

ejes), en donde uno de los ejes (en este caso el eje inferior en color azul) no es rectilíneo.

Incluso en esta estructura irregular (figura 2.6(b)) es posible generar una disposición ma-

tricial ordenada que permita el mapeo paramétrico de una función B-Spline al conjunto de

datos que la representan.

2.3. Proyección planar

La proyección planar de los datos simplifica el problema de un particionamiento

volumétrico efectivo, pero introduce otro tipo de consideraciones que deben ser tomadas en

cuenta como los bordes del modelo o las irregularidades de los objetos de forma libre. Este

trabajo propone un tratamiento planar del modelo mediante el cual se simplifica en gran

medida el proceso de particionamiento.

Los datos del modelo a reconstruir son proyectados hacia el plano generado por la

dirección normal del conjunto de puntos (o en la dirección normal promediada de la nube

20

de puntos inicial), la cual pude obtenerse durante el proceso de adquisición. La nube de

puntos a reconstruir mediante la metodología propuesta puede estar compuesta por una o

más imágenes de rango (puntos desorganizados). El conjunto de datos inicial es rotado para

que dicho plano coincida con el plano z = 0, y los datos son trasladados para que el cen-

troide de los mismos coincida con el origen (coordenada (0, 0, 0)).

La proyección planar de los datos se realiza después de los procesos de adquisición

y registro (ver capítulo 1). El borde del modelo es extraído a partir de una reconstrucción

inicial triangulada, ya sea por un método de triangulación volumétrico como el de Cubos

Marchantes o por medio de la triangulación planar de Delaunay [7] (ver anexo B.1).

2.3.1. Extracción del borde

Partiendo de un modelo inicial triangulado, se pueden extraer tanto el borde exterior

del modelo como el borde que caracteriza a un agujero.

Figura 2.7: Triángulos de borde

En la figura 2.7 se ilustra un conjunto planar de puntos triangulado. Debido a que la

nube de puntos corresponde a un mapeo planar de los datos, el modelo triangulado es abier-

21

to [30]. En este tipo de modelos, los triángulos interiores (en color verde) tendrán siempre

un triángulo vecino por cada eje, o sea v = 3 vecinos de ejes. En contraste, los triángulos

exteriores que contienen ejes del borde tendrán menos de 3 triángulos vecinos de ejes y al

menos un triángulo de ejes vecino 1 ≤ v < 3. Además, cada triángulo que contenga un eje

del borde tendrá 2 triángulos vecinos que contengan ejes del borde [7].

Debido a la presencia de agujeros en el modelo pueden existir triángulos de borde

que no pertenezcan al borde exterior en la reconstrucción inicial, por ello, se debe encontrar

el triángulo de borde más alejado en una de las direcciones ortogonales del plano (x o y) y

a partir de dicho triángulo caracterizar el borde exterior. Partiendo de un triángulo de borde

inicial, es posible encontrar 2 triángulos de borde adyacentes, y si se elige una dirección es

posible encontrar el borde exterior del modelo o el borde que caracteriza a un agujero en

forma ordenada.

Figura 2.8: Ejemplo de caracterización del borde

La figura 2.8 ilustra la caracterización de los bordes en una vista parcial de un mo-

delo. El algoritmo 1 enuncia la metodología empleada para encontrar bordes en un modelo

planar triangulado.

22

2.4. Particionamiento cuadrilateral

La metodología empleada para el particionamiento cuadrilateral de modelos planares

está basada en el método de triangulación de Delaunay y la correcta caracterización de los

bordes del modelo inicial.

2.4.1. Triangulación de Delaunay

Hoppe emplea en [17] la triangulación de Delaunay 3D para generar vecindarios

cuadrilaterales mediante un apareamiento de triángulos, este enfoque requiere un número

par de triángulos en el grafo de Delaunay y un algoritmo elaborado de apareamiento que

evite aislar triángulos lejanos.

En este trabajo se plantea un esquema de particionamiento mediante la triangula-

ción planar de Dealuany en donde cada triángulo del grafo de Delaunay se divide en 3

cuadrilateros. Este tipo de particionamiento genera seis veces mas vecindarios que un mo-

delo de apareamiento, no obstante, el hecho de que no tenga que existir un número par de

triángulos en el grafo de Delaunay hace que la escogencia de los puntos de control para

generar la partición no esté restringida.

El grafo planar de Delaunay cumple con las leyes de Euler que dictan que dv−de +

dt = 1, donde dv es el número de vértices en el grafo, de el número de ejes y dt el número

de triángulos. A partir de la fórmula de Euler se encuentra que:

Sea P un conjunto de n puntos en el plano, no todos colineales, y sea dk el número

de puntos en P que se encuentran sobre la envolvente convexa de P . Entonces, cualquier

triangulación de P tiene 2dv − 2− dk triángulos y 3dv − 3− dk bordes.

23

Envolvente Convexa

El conjunto de ejes que no pertenecen a dos caras en la triangulación de Delaunay

de P generan la envolvente convexa del conjunto planar de puntos P .

El grafo de Delaunay siempre tendrá una envolvente convexa que contiene los ejes

y vértices del borde. Esta construcción será de gran utilidad para generar los vecindarios

del borde del modelo.

Implementación

El algoritmo de Delaunay implementado [7] es una construcción recurrente incre-

mental que permite encontrar la triangulación de un conjunto planar de puntos, calculando

su envolvente convexa (ver anexo B.1).

2.4.2. Vecindarios cuadrilaterales a partir del grafo de Delaunay

Los vecindarios cuadrilaterales son obtenidos al particionar cada una de las caras

triangulares de la triangulación de Delaunay en tres cuadrilateros.

(a) Triangulo (b) Cuadrilateros

Figura 2.9: Vecindarios cuadrilaterales regulares

24

La figura 2.9 ilustra el particionamieto cuadrilateral generado a partir de las caras de

la triangulación de Delaunay. Cada uno de los triángulos es dividido en tres cuadriláteros,

(figura 2.9(a)) los cuales son generados al partir el triángulo desde el centroide hasta los

puntos medios de sus ejes (figura 2.9(b)).

Retomando la teoría de euler para grafos planares se pueden calcular el número de

ejes, vértices y cuadriláteros de la partición. Siendo dt el número de triángulos, de el número

de ejes y dv el número de vértices en el grafo de Delaunay, y conociendo que cada triángulo

genera 3 cuadriláteros, el número de cuadriláteros es qc = 3dt; como cada eje se parte en 2,

y se generan 3 nuevos ejes por cada triángulo, el número de ejes es qe = 2de + 3dt; debido

a que en cada eje y en los centroides de cada triángulo se adiciona un vértice, el número de

vértices es qv = dv + de + dt. Entonces, al particionar cada triángulo es posible conocer el

número exacto de vértices, ejes y cuadriláteros generados a partir del grafo de Delaunay en

el esquema propuesto.

2.4.3. Vecindarios cuadrilaterales sobre los bordes

Para recrear la forma cambiante de los bordes en los modelos de forma libre planares

(figura 2.4(b)), se analizaron las implicaciones de la disposición matricial ordenada de las

funciones NURBS (ver sección 2.2.1).

Al partir de una figura convexa (como la envolvente generada por el grafo de De-

launay), inscrita al interior del borde del modelo planar, se pueden trazar ejes radiales que

corten el borde del modelo y permitan construir vecindarios cuadrilaterales irregulares.

La figura 2.10 muestra la proyección planar del modelo válvula (ver figura 2.4(a))

con una figura convexa inscrita al interior de su borde, a partir de la cual, se generan vecin-

darios cuadrilaterales irregulares que contienen el borde del modelo a representar.

25

Figura 2.10: Disposición de ejes radiales

Proyección de Ejes Radiales

Partiendo de la envolvente convexa del grafo de Delaunay, se generan ejes radiales

en cada uno de los vértices y los puntos medios de los ejes sobre la envolvente convexa.

(a) ejes angulares (b) ejes paralelos

Figura 2.11: Ejes radiales

La Figura 2.11 muestra los dos casos posibles en la proyección de los ejes de la

envolvente convexa hacia el borde del modelo. Para el caso de la figura 2.14(a) el vector

26

radial R estará dado por la suma reflejada de los vectores V1 y V2 (R = −(V1 + V2)). En

el caso paralelo, R está dado por la rotación de uno de lo vectores V (R(x) = V1(y) y

R(y) = V1(x)).

Cada uno de los ejes radiales es alargado para posteriormente encontrar su corte con

el borde del modelo. Debido a que un eje radial puede cortar el borde del modelo en varios

puntos, se escoge el punto de corte que produzca la menor distancia euclídea. Los vecinda-

rios generados por los ejes radiales y el borde del modelo planar, aunque irregulares, son

parametrizables, es decir, se puede generar una matriz ordenada que permita aplicar una

función NURBS a un vecindario con un borde irregular.

Al igual que en el particionamiento interno del grafo de Dealunay, mediante la

proyección de los ejes radiales, es posible calcular el número exacto de nuevos vértices,

ejes y cuadriláteros generados. Siendo dk el número de ejes y vértices sobre la envolvente

convexa del grafo de Delaunay, el número de nuevos ejes, vértices y cuadriláteros es 2dk,

así, el número total de datos está dado por:

qc = 2dk + 3dt

qe = 2dk + 2de + 3dt

qv = 2dk + dv + de + dt

(2.1)

Mediante la ecuación 2.1 es posible calcular la cantidad de datos y el tamaño de los

arreglos en la implementación del particionamiento cuadrilateral propuesto.

2.4.4. Vecindarios cuadrilaterales en los agujeros

Al igual que en el borde del modelo, para recrear la forma cambiante de los bordes

en los agujeros se generó una construcción especial que permite particionar el modelo ras-

treando la geometría del borde sobre sus agujeros.