Actualizado el 2 de Marzo del 2020 (Publicado el 3 de Marzo del 2017)
1.470 visualizaciones desde el 3 de Marzo del 2017
10,7 MB
146 paginas
Creado hace 17a (28/06/2006)
UNIVERSIDAD DE CASTILLA-LA MANCHA
ESCUELA SUPERIOR DE INFORM ÁTICA
Departamento de Informática
PROYECTO FIN DE CARRERA
Sistema de Modelado Tridimensional basado en
Trazos Libres: MOSKIS 3D
Inmaculada Gijón Cardos
Autor:
Director: Carlos González Morcillo
Julio, 2006.
TRIBUNAL:
Presidente:
Vocal:
Secretario:
FECHA DE DEFENSA:
CALIFICACI ÓN:
PRESIDENTE
VOCAL
SECRETARIO
Fdo.:
Fdo.:
Fdo.:
© Inmaculada Gijón Cardos. Se permite la copia, distribución y/o modificación de este documento
bajo los términos de la licencia de documentación libre GNU, versión 1.1 o cualquier versión posterior
publicada por la Free Software Foundation, sin secciones invariantes. Puede consultar esta licencia en
http://www.gnu.org.
Este documento fue compuesto con LATEX. Imágenes generadas con OpenOffice.
Resumen
El proceso de síntesis 3D ha cobrado gran importancia en los últimos años. Su difusión
ha sido muy amplia en distintos campos, como simulación de prototipos para su posterior
construcción, proyectos artísticos y/o comerciales como producciones publicitarias y en áreas
de entretenimiento como cine y videojuegos.
Una fase determinante en este proceso es la fase de modelado, la cual es muy costosa,
compleja y requiere un gran número de recursos.
Con MOSKIS 3D se pretende reducir la complejidad de la fase de modelado, consiguien-
do rápidamente un prototipado inicial, de forma que se obtiene un modelo 3D básico a partir
de un trazo 2D que indica el contorno de la figura que se desea obtener.
II
Este proyecto está dedicado a
mi familia, por hacerlo posible
gracias a su constante apoyo
y confianza.
Agradecimientos
A Carlos González Morcillo, por su gran idea y su contínuo apoyo.
A Daniel y a mi hermana, María, por la revisión de este documento.
III
Índice general
Índice de figuras
Índice de cuadros
1. Introducción
1.1. Enfoque. .
.
1.2. Estructura del trabajo. .
. .
. .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Objetivos del proyecto.
3. Antecedentes, estado de la cuestión
3.1. Modelado . .
.
.
.
. .
3.1.1. Definición.
3.1.2. Evolución histórica.
3.1.3. Taxonomía de métodos.
3.1.4. Operadores. .
3.1.5. Modelado basado en trazos.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Técnicas.
.
.
. .
. .
3.2.1. Estructuras de datos.
3.2.2. Transformaciones lineales en 3D.
3.2.3. Tecnologías.
.
4. Método de trabajo
.
.
.
4.1.1. Diseño.
.
4.1.2. Construcción. .
4.2. Creación de un objeto nuevo en MOSKIS 3D.
4.1. Generación de la interfaz de usuario. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
4.2.1. Obtención del polígono.
. . . . . . . . . . . . . . . . . . . . . . . .
4.2.2. Generación del plano.
. . . . . . . . . . . . . . . . . . . . . . . . .
4.2.3. Cálculo del perfil de alturas.
. . . . . . . . . . . . . . . . . . . . . .
4.2.4. Creación del objeto final. . . . . . . . . . . . . . . . . . . . . . . . .
5. Resultados
IV
VI
IX
1
5
6
8
11
11
11
12
13
21
22
30
30
34
40
54
54
54
56
59
59
64
72
78
102
ÍNDICE GENERAL
V
6. Conclusiones y propuestas futuras.
6.1. Conclusiones.
.
6.2. Propuestas futuras.
112
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
.
6.2.1. Optimización del tiempo de generación. . . . . . . . . . . . . . . . . 114
6.2.2. Operación de extrusión.
. . . . . . . . . . . . . . . . . . . . . . . . 115
6.2.3. Carga y almacenamiento. . . . . . . . . . . . . . . . . . . . . . . . . 119
.
.
. .
.
.
Bibliografía
A. Instalación de la aplicación.
B. Manual de usuario.
C. Diagramas de clases.
D. Diagramas de casos de uso.
E. Diagramas de componentes.
F. CD adjunto.
120
122
124
129
131
133
135
Índice de figuras
1.1. Modelo en escayola.
1.2. Modelo en Blender obtenido a partir de un escáner 3D.
1.3. Recursos para cada fase.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1. Modelado en Teddy. .
3.2. Polígono inicial y generación del plano.
. . . . . . . . . . . . . . . . . . . .
3.3. Algoritmo de poda.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Finaliza el algoritmo de poda. Vértices fuera del semicírculo. . . . . . . . . .
3.5. Finaliza el algoritmo de poda. Encontrado triángulo J. . . . . . . . . . . . . .
3.6. Malla triangulada 2D completa.
. . . . . . . . . . . . . . . . . . . . . . . .
3.7. Elevación de la espina dorsal. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8. Ejemplo de estructura winged-edge.
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
3.9. Modelo conceptual de OpenGL.
3.10. Pipeline gráfico. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
3.11. Proyección ortográfica.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12. Proyección perspectiva. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Situación de la cámara.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
Interfaz de MOSKIS 3D.
4.1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Contorno creado por el usuario. . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. Creación del polígono.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Polígonos con niveles de detalle 9 y 10.
. . . . . . . . . . . . . . . . . . . .
4.5. Polígono añadido a la ventana 3D de Blender.
. . . . . . . . . . . . . . . . .
4.6. Clases utilizadas para la implementación del polígono.
. . . . . . . . . . . .
4.7. Subtriángulos formados.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8. División del polígono. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9. Creación del triángulo y reducción del polígono. . . . . . . . . . . . . . . . .
4.10. Triangulación básica.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11. Evaluación de arista y flip de arista ilegal.
. . . . . . . . . . . . . . . . . . .
4.12. Optimización por Delaunay.
. . . . . . . . . . . . . . . . . . . . . . . . . .
4.13. Plano añadido a la ventana 3D.
. . . . . . . . . . . . . . . . . . . . . . . . .
4.14. Plano añadido a la ventana 3D y extruido posteriormente. . . . . . . . . . . .
4.15. Clases utilizadas para la implementación del plano.
. . . . . . . . . . . . . .
4.16. Centro de un triángulo.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.17. Detección de la espina.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
VI
3
4
5
24
26
27
28
28
29
29
33
42
43
47
48
50
56
59
60
61
62
63
66
67
68
68
69
70
71
71
72
74
74
ÍNDICE DE FIGURAS
VII
.
4.18. Detección y elevación de la espina dorsal en la triangulación Básica y Delaunay. 76
4.19. Clases utilizadas para la implementación de la espina. . . . . . . . . . . . . .
76
77
4.20. Ejemplo de lo que almacena un objeto mSpine.
. . . . . . . . . . . . . . . .
78
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.21. Metabolas en Blender.
4.22. Cuatro casos para hallar la rotación de la metaelipse.
. . . . . . . . . . . . .
81
4.23. dimensiones y rotación de las metaelipses. . . . . . . . . . . . . . . . . . . .
82
4.24. Resultado 1 de la primera aproximación. . . . . . . . . . . . . . . . . . . . .
82
4.25. Resultado 2 de la primera aproximación. . . . . . . . . . . . . . . . . . . . .
83
4.26. Situación de metaelipses a lo largo de una arista.
. . . . . . . . . . . . . . .
85
4.27. Generación de aristas imaginarias.
86
. . . . . . . . . . . . . . . . . . . . . . .
4.28. Cálculo del punto de conexión de aristas imaginarias.
86
. . . . . . . . . . . . .
4.29. Resultado 1 de MOSKIS 3D cubriendo la superficie, sin dimensión en Z. . . .
87
4.30. Resultado 2 de MOSKIS 3D cubriendo la superficie, sin dimensión en Z. . . .
87
88
4.31. Valores de la coordenada Z para cada metaelipse.
. . . . . . . . . . . . . . .
4.32. Hundimientos en triángulos de tipo J.
88
. . . . . . . . . . . . . . . . . . . . .
4.33. Ejemplo de hundimiento en un triángulo de tipo J. . . . . . . . . . . . . . . .
89
4.34. Ejemplo de la solución al hundimiento en un triángulo de tipo J.
89
. . . . . . .
4.35. Resultado 1 de la versión con incremento lineal. . . . . . . . . . . . . . . . .
90
4.36. Resultado 2 de la versión con incremento lineal. . . . . . . . . . . . . . . . .
90
91
4.37. Valores de la coordenada Z para cada metaelipse.
. . . . . . . . . . . . . . .
4.38. Mediatrices de dos segmentos de un triángulo. . . . . . . . . . . . . . . . . .
93
4.39. Resultado 1 de la versión con incremento circular. . . . . . . . . . . . . . . .
93
4.40. Resultado 2 de la versión con incremento circular. . . . . . . . . . . . . . . .
94
4.41. Resultado 3 de la versión con incremento circular. . . . . . . . . . . . . . . .
94
4.42. Clases utilizadas para la implementación del objeto. . . . . . . . . . . . . . . 101
.
.
5.1. Planos 1 generados. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.2. Planos 2 generados. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3. Notas musicales. Resultado obtenido.
. . . . . . . . . .
Comentarios de: Sistema de Modelado Tridimensional basado en Trazos Libres: MOSKIS 3D (0)
No hay comentarios