TEMA 2 Diseño Asistido por Ordenador PDF

Document Details

Uploaded by Deleted User

Universidad de Valladolid

Juan Manuel Sanz Arranz

Tags

computer-aided design geometric modeling graphical interaction CAD

Summary

This document discusses geometric modeling and graphical interaction in computer-aided design (CAD). It covers topics such as model representations, instantiation, hierarchical models, and interaction techniques. The document is intended for undergraduate students in engineering.

Full Transcript

Diseño Asistido por Ordenador Juan Manuel Sanz Arranz Área de Expresión Gráfica en la Ingeniería Escuela de Ingenierías Industriales Universidad de Valladolid...

Diseño Asistido por Ordenador Juan Manuel Sanz Arranz Área de Expresión Gráfica en la Ingeniería Escuela de Ingenierías Industriales Universidad de Valladolid TEMA 2 Modelado geométrico e interacción gráfica Un modelo es una representación de algunas de las características de una entidad concreta o abstracta [Fole90, pp. 286]. Un modelo geométrico describe componentes con propiedades geométricas inherentes. Entre sus características destacan: su estructura espacial, la conectividad entre elementos, y las propiedades asociadas a componentes espaciales. [Newm81, Cap.9, pp. 111-114] [Sproull Cap.12] Este tema aborda el estudio de la estructura del modelo geométrico, su funcionalidad, y de las técnicas de interacción útiles para crear o editar el modelo geométrico. Diseño Asistido por Ordenador Índice 2.1 El modelo geométrico de un sistema CAD II-3 2.1.1 Representación procedural II-4 2.1.2 Utilización de estructuras de datos II-5 2.2 Instanciación II-5 2.3 Modelos jerárquicos II-10 2.3.1 Modelos jerarquías heterogéneas II-11 2.3.2 Estructuras multinivel homogéneas II-11 2.4 Arquitectura del sistema II-14 2.5 Interacción II-15 2.5.1 Fundamentos II-16 2.5.1.1 Dispositivos lógicos II-17 2.5.1.2 Modos de entrada II-18 2.5.2 Técnicas de interacción II-19 2.5.2.1 Técnicas de posicionamiento II-19 2.5.2.2 Técnicas de selección II-21 2.5.2.3 Posicionamiento 3D II-21 2.5.2.4 Entrada de transformaciones geométricas II-22 2.6 Software de base para sistemas interactivos II-23 2.7 Hardware específico en los sistemas CAD II-24 2.8 Estándares II-26 2.9 Referencias II-27 II-2 Diseño Asistido por Ordenador 2.1 El modelo geométrico de un sistema CAD El modelo geométrico es el núcleo del sistema, contiene toda la información necesaria para representar el objeto que se está diseñando, esto es, para realizar todas las operaciones requeridas sobre el modelo: editarlo, visualizarlo, realizar cálculos y simulaciones. Figura 2.1 Modelo geométrico en el proceso de diseño En esencia, el modelo geométrico es simplemente un conjunto de datos referentes a la geometría, estructura y propiedades del objeto (ver figura 2.1). Los datos que contenga dependerán de la naturaleza del objeto a diseñar. Esto es, será distinta la estructura de un modelo geométrico para representar un circuito eléctrico de la usada para representar el fuselaje de un avión. Además, a la hora de diseñar un modelo los programadores deben tener en cuenta que la estructura deberá servir para realizar determinadas operaciones antes mencionadas: edición, visualización, cálculo de propiedades, etc. Normalmente el modelo geométrico precisa de estructuras complejas, que permitan almacenar la estructura natural del elemento a diseñar, para facilitar la interacción y para II-3 Diseño Asistido por Ordenador mantener las dependencias entre los componentes que lo forman, entendiendo por dependencias las relaciones de repetición, conexión y construcción. Como se ha indicado en la introducción de este capítulo, un modelo geométrico describe componentes con propiedades geométricas inherentes. Entre sus características destacan: su estructura espacial, la conectividad entre elementos, y las propiedades asociadas a componentes espaciales. En el proceso de diseño se utilizan representaciones gráficas de los objetos a diseñar sobre las que trabaja el ingeniero. En muchos casos estas representaciones son imágenes sintéticas del objeto a diseñar (una pieza mecánica, una botella, la carrocería de un coche). En estos casos el modelo geométrico debe describir la geometría del objeto de la forma más precisa posible. No obstante, en otras situaciones, la información sobre la que trabaja el ingeniero es un esquema del objeto (un circuito eléctrico, la planta de un edificio). En estos casos la información contenida en el modelo debe permitir generar el esquema, pero la geometría del esquema en si (por donde pasa la línea que representa la conexión entre dos componentes) no es relevante. Esta situación, y algunas otras que veremos más adelante, hacen que en determinadas ocasiones sea preferible que el modelo geométrico, o parte de este, se genere dinámicamente a partir del código. En este sentido hablaremos de modelos representados proceduralmente o mediante estructuras de datos. 2.1.1 Representación procedural Independientemente de la estructura lógica dada al modelo, la información geométrica de este puede residir en estructuras de datos o en código. Si bien es difícil almacenar toda la estructura en código (no habría posibilidad de realizar modificaciones), puede colocarse en éste una gran parte de la información geométrica [Newm81, Cap.10, pp. 128-136]. Esta información puede ser de dos tipos: 1. Información gráfica no relevante para el modelo. Por ejemplo el recorrido de un cable de conexión en un esquema puede generarse automáticamente, a partir de las coordenadas de las conexiones. 2. Información fija. Por ejemplo la definición de un símbolo, o de un componente complejo de estructura predefinida, como una ventana. El principal inconveniente de esta estrategia es que limita la capacidad de interacción, pero, por contra, hace más flexible el diseño, permitiendo que un mismo objeto pueda tener varias representaciones. Figura 2.2 Ejemplo de modificaciones en modelos procedurales II-4 Diseño Asistido por Ordenador 2.1.2 Utilización de estructuras de datos En el caso opuesto toda la información gráfica puede estar en una estructura de datos, que mantenga la estructura del diseño. En este caso la visualización consistirá en interpretar la estructura según un determinado algoritmo de recorrido. La edición se realizará directamente sobre la estructura de datos [Salmon pp. 304] [Newman pp. 137]. 2.2 Instanciación Con frecuencia, determinados símbolos aparecen reiteradamente en el modelo, especialmente en esquemas. Pensemos, por ejemplo, en los símbolos que representan componentes en un circuito electrónico, o en el esquema de la instalación eléctrica de una vivienda. En estos casos es útil almacenar la definición geométrica del símbolo una única vez, referenciándola cada vez que se coloque, o instancie, éste en el esquema. Este proceso es semejante al que utiliza un delineante cuando copia el símbolo usando una plantilla de dibujo. En el modelo geométrico se puede seguir este mismo esquema [Newm81, Cap.9, pp. 117-123]. El modelo geométrico estaría formado por un lado por la definición de los símbolos, y por otro, por la información de donde se colocan éstos en un diseño concreto. Posibilitando que se haga una única definición de símbolo y se utilicen múltiples instancias del mismo. Desde el punto de vista del usuario, los símbolos son elementos prediseñados que puede seleccionar, por ejemplo, mediante un menú. En casi todos los casos el conjunto de símbolos no esta cerrado, pudiendo ampliarse con la incorporación de nuevos componentes. Antes de estudiar como incorporar símbolos en el modelo geométrico debemos entender como se especifica su colocación en el diseño: 1. En primer lugar, el usuario selecciona el símbolo a colocar (ver figura 2.3 (2)). Figura 2.3 Proceso de colocación de un símbolo II-5 Diseño Asistido por Ordenador 2. A partir de ese momento el dibujo del símbolo seleccionado sigue al cursor (está atado a él). 3. El usuario mueve el cursor arrastrando al símbolo hasta colocarlo en la posición deseada. Si el sistema CAD hace uso de mecanismos de instanciación deberá contener, como indicábamos anteriormente, la definición de la geometría de los símbolos. Al sistema de coordenadas en el que se definen los símbolos se le denomina coordenadas maestras (MC de “master coordinates”). Fundamentos 2.1 Transformaciones geométricas Un punto se identifica por sus coordenadas, que están referidas a un sistema de coordenadas conocido. El sistema de coordenadas utilizado habitualmente es el cartesiano, en el que los ejes son perpendiculares. Especificar un sistema de coordenadas implica determinar donde se encuentra su origen y cual es la dirección de sus ejes. Lógicamente si cambiamos el sistema de coordenadas cambiará el valor de las coordenadas de los puntos. Las coordenadas de un punto son la tupla de distancias de sus proyecciones sobre los ejes al origen. En un espacio tridimensional los puntos se representan mediante una terna (x,y,z). A los puntos, y por extensión, a los elementos geométricos se les pueden aplicar transformaciones geométricas, para modificar, por ejemplo, su posición, orientación o tamaño. Las transformaciones geométricas más utilizadas son: Escalado, que modifica el tamaño de un elemento. Matemáticamente es el resultado de aplicar un escalado con factores Sx, Sy, Sz a un punto (x,y,z) es: (x’,y’,z’) = SSx,Sy,Sz(x,y,z) = ( x·Sx, y·Sy, z·Sz) Rotación, que modifica la orientación del elemento. En dos dimensiones una rotación se especifica por el centro de rotación (que es un punto) y el ángulo rotado (se suelen considerar positivos los ángulos medidos en sentido antihorario). La ecuación de una rotación respecto al origen de ángulo α es: (x’,y’) = Rα (x,y) = (x·cos(α) -y·sin(α), x·sin(α) +y·cos(α)) En 3D los objetos se rotan respecto a un eje. Si el eje pasa por el origen de coordenadas, éste se puede indicar simplemente como un vector. Traslación. Una traslación desplaza al elemento al que se le aplica. La traslación se especifica simplemente por el vector que se añade a los puntos: (x’,y’,z’) = TTx,Ty,Tz(x,y,z) = (x + Tx, y + Ty, z + Tz) De la misma forma en que se cambian las coordenadas de los objetos aplicándoles transformaciones geométricas, podemos cambiar el sistema de coordenadas; esto es, modificar el sistema de referencia, con lo que las coordenadas de todos los elementos cambiaran de valor. El efecto de aplicar una transformación al sistema de coordenadas es el inverso al obtenido si se aplica a los objetos. Esta relación nos permite ver las transformaciones aplicadas a los objetos como cambios en el sistema de coordenadas. II-6 Diseño Asistido por Ordenador El proceso de colocación de los símbolos en el diseño implica conocer la ubicación, orientación y tamaño que tendrá cada instancia. Esta información se representa como una transformación geométrica que escala, rota y traslada el símbolo a su posición en el diseño; o si lo preferimos, convierte éste del sistema de coordenadas maestras, en que esta definido, al sistema de coordenadas utilizado en el modelo, que se suele denominar sistema de coordenadas del mundo o universales (WC de “world coordinates”). Habitualmente se realiza en primer lugar el escalado, seguido de la rotación, y por último la traslación (ver figura 2.4). Esto permite calcular de forma simple los parámetros de las transformaciones a partir de la posición donde se quiere colocar el símbolo, de su orientación y su tamaño final, sabiendo la colocación inicial del símbolo en coordenadas maestras. El modelo geométrico contendrá una lista de los símbolos utilizados, indicando su tipo junto con información suficiente para calcular la transformación que se debe aplicar. Esta información puede ser la propia transformación geométrica expresada como una matriz (ver recuadro fundamentos 2.2), o los parámetros que definen estas (factores de escala, ángulos de rotación y vector de traslación), o incluso la posición en que deben transformarse puntos predefinidos del símbolo. La elección de la información a utilizar deberá hacerse teniendo en cuenta los requisitos de eficiencia de cada uno de los procesos a realizar con el modelo y del tipo de simulaciones a realizar. En algunos casos, habrá que optar por incluir información redundante. Figura 2.4 Transformación de un símbolo Al dibujar los símbolos se debe aplicar la transformación de instanciación a cada una de las instancias. Esto es fácil de implementar si se dispone de una librería gráfica. El código de dibujo podría tener la siguiente estructura: swith tipo: case 2,3,4: { // Tipo de los símbolos glPushMatrix(); // Guarda la transformación actual glTranslate(..T.. ); // Construye tranf. de traslación glRotate(..R.. ); // Construye rotación glScale(..S.. ); // Construye escalado DrawSymbol( tipo ); // Dibuja el símbolo glPopMatrix( ); // Restablece la transformación original break; } II-7 Diseño Asistido por Ordenador Nótese que las transformaciones se aplican comenzando por la más cercana al elemento, esto es en sentido ascendente en el texto. Debe tenerse en cuenta que las transformaciones geométricas no conmutan. Esto es, el resultado depende del orden de aplicación. Fundamentos 2.2 Representación de transformaciones geométricas Las transformaciones geométricas se representan mediante matrices cuadradas de dimensión mayor en uno a la del espacio en el que se aplican. Esto permite representar con la misma notación todas las transformaciones geométricas, incluyendo las traslaciones y las transformaciones de perspectiva, que no son transformaciones afines. Para transformar los puntos, en un espacio de dimensión n, se pasan estos al espacio de dimensión n+1 (que se suele denominar espacio en coordenadas homogéneas), añadiendo la última componente (denominada homogénea) con valor 1. Seguidamente se multiplica el punto por la matriz, y finalmente se proyecta el resultado en el espacio de dimensión n, dividiendo todas las coordenadas por el valor resultante de la componente homogénea, que no tiene por que ser uno. Esquemáticamente, en 3D, el proceso es el siguiente: 1- Pasar a coordenadas homogéneas: (x,y,z) -> (x,y,z,1) 2- Aplicar transformación:  α11 α12 α13 α14   x     α α 22 α 23 α 24  (x' , y ' , z ' , w') =  21  y *  α α 32 α 33 α 34  z  31     α 44  1 α 41 α 42 α 43   3- Proyectar al espacio 3D: (x”,y”,z”) = (x’/w’,y’/w’,z’/w’) Normalmente no es necesario modificar las componentes de la matriz de transformación directamente. Cualquier librería gráfica calcula internamente las matrices de transformación a partir de parámetros, como el eje y ángulo de giro. Trabajar de esta forma permite, entre otras cosas, concatenar las transformaciones geométricas. Esto es, en el caso de que a un conjunto de puntos se le deba aplicar una secuencia de transformaciones, se puede multiplicar previamente las matrices, aplicando la transformación resultante a los puntos. De este modo se aplica una única transformación a cada punto. Esta estrategia es ampliamente usada por los sistemas gráficos, componiendo incluso las transformaciones de modelado con las de visualización. La representación de los símbolos podrá ser procedural, como se indicó en la sección anterior. En este caso, el procedimiento de dibujo de símbolos se limitará a seleccionar el símbolo a dibujar: void DrawSymbol (int tipo) { swith tipo: case 1: DibujaSilla();.... Alternativamente, el símbolo se puede almacenar en una estructura de datos. En este caso, el código de dibujo del símbolo se limitará a interpretar esta estructura: void DrawSymbol (int tipo) { glBegin( GL_LINES); for(i=0;i

Use Quizgecko on...
Browser
Browser