Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMonica Cortés Luna Modificado hace 7 años
1
>> Modelado – 1 << Introducción, Geometría básica
LINK Modelado-1 A. García-Alonso
2
Introducción Foley Cap. 11-12-20, Hearn Cap. 10 Geometría básica
Modelado geométrico Modelos o representaciones de sólidos (F 12, H 10.1,14-17) Modelado de superficies (F 11, H ) Blobby objects (F , H 10.5) Procedimientos (F 20.2) Fractales : modelos geométricos (F 20.3, H 10.18) Gramáticas (F 20.4, H 10.19) Sistemas de partículas (F 20.5, H 10.20) Physically based modeling (F 20.7, H 10.21) Modelado-1 A. García-Alonso
3
Bibliografía adicional
C. MacHover (Editor), “The CAD/CAM Handbook”, Ed. McGraw Hill, 1995 C. McMahon, J. Browne, “CAD CAM form Principles to Practice”, Addison-Wesley, 1993 Modelado-1 A. García-Alonso
4
Geometría básica El vector El punto La recta El plano
Cara (plana), polígono o faceta Volúmenes Contenedores Modelado-1 A. García-Alonso
5
El vector Unidades Ángulo de dos vectores En variables
En constantes y “#define” En interfaz de usuario Ángulo de dos vectores Sin orientar Orientado Modelado-1 A. García-Alonso
6
Angulo entre dos vectores
b α Angulo entre dos vectores (sin orientar) : 0 ≤ α ≤ π |a|·|b|·cos α = a.b α = acos(a.b / |a|·|b|) Modelado-1 A. García-Alonso
7
... Angulo que forma el vector b respecto al vector a (orientado) : b
La orientación debe estar definida. Se define explicitando un eje perpendicular al plano definido por los dos vectores Esto es importante para giros y transformaciones eje b a α eje b a α eje b a α eje b a α Modelado-1 A. García-Alonso
8
Angulo orientado Angulo orientado : -π ≤ α ≤ π αa = acos( ax / |a| )
En este caso el ángulo será positivo porque ay es mayor que cero if( ay<0) αa = - αa αb = acos( bx / |b| ) En este caso el ángulo será negativo if( by<0) αb = - αb x y z (saliente) a b αa αb Modelado-1 A. García-Alonso
9
La recta Modos de definir una recta Distancia punto/recta
Dos puntos Punto y vector Ecuación implícita (2D) Ecuación paramétrica Estructuras de datos Distancia punto/recta Distancia-2D punto/recta Distancia-2D aproximada punto/recta Punto en recta : tolerancia Señalar segmento (2D) : tolerancia Modelado-1 A. García-Alonso
10
Ecuación implícita de la recta (2D)
Ecuación implícita de la recta (r) A · x + B · y + C = 0 Vectores paralelos a la recta (pr) : λ · ( -B, A ), λ / λ 0 Vectores perpendiculares a la recta (nr) : λ · ( A, B ) Fácilmente se puede comprobar que pr es paralelo a la recta. Para ello, dado un punto M que pertenece a la recta comprobar que el punto M+ pr también pertenece a la recta (verifican la ecuación). Que los vectores definidos como nr son perpendiculares se demuestra multiplicándolo por el vector paralelo, y comprobando que el resultado es el vector nulo. N M nr pr Los coeficientes de la recta definida por M, N : A = Ny – My ; B = Mx – Nx ; C = - [ (Ny – My) Mx + (Mx – Nx ) My ] Modelado-1 A. García-Alonso
11
Distancia punto/recta
Sea un punto cualquiera P, y una recta definida por dos puntos M y N La (distancia)2 de P a la recta se obtiene despejando δ2 El cálculo de δ2 requiere: 10 (*), 13 (+), 1 (/) Los módulos se elevan al cuadrado no se calculan Un dividendo se anula si M y N coinciden, pero en ese caso no definen un segmento. Frecuentemente, cuando se tienen que comparar distancias, es mejor comparar cuadrados de distancias, para evitar el tener que calcular raíces cuadradas. N P θ M δ P’ | MP’ |2 + | PP’ |2 = | MP |2 ( MN ∙ MP )2 + δ2 = | MP |2 | MN |2 Modelado-1 A. García-Alonso
12
Distancia-2D punto/recta
El cálculo de δ2 requiere: 7 (*), 8 (+), 1 (/) δ = MP · ( nr / | nr | ) Sustituyendo y simplificando queda δ2 = [ (Px - Mx) · A + (Py - My) · B ]2 / (A2 + B2 ) N P M δ nr Modelado-1 A. García-Alonso
13
Distancia-2D punto/recta
Ecuación implícita de la recta (r) : Ax + By + C = 0 Vectores paralelos a la recta (pr) : λ · ( -B, A ), λ / λ 0 Vectores perpendiculares a la recta (nr) : λ · ( A, B ) El cálculo de δ2 requiere: 7 (*), 8 (+), 1 (/) δ = MP · ( nr / | nr | ) Sustituyendo y simplificando queda δ2 = [ (Px-Mx) A + (Py-My) B) ] 2 / (A2 + B2 ) Fácilmente se puede comprobar que pr es paralelo a la recta. Para ello, dado un punto M que pertenece a la recta comprobar que el punto M+ pr también pertenece a la recta (verifican la ecuación). Que los vectores definidos como nr son perpendiculares se demuestra multiplicándolo por el vector paralelo, y comprobando que el resultado es el vector nulo. N P M δ nr pr Modelado-1 A. García-Alonso
14
Distancia-2D aproximada punto/recta
Podemos usar una “distancia” evaluada en vertical El cálculo de δvert requiere: 3 (*), 4 (+), 1 (/), 1 (abs) Restringimos el cálculo a rectas de pendiente [-1,+1] Para rectas con pendiente de valor absoluto mayor que 1, se intercambian los ejes x e y Evita una degeneración del área de captura Evita el problema de rectas con pendiente que tiende a infinito Observar que b, Py, (m·Px-b) son valores “con signo”. En cambio δv es positiva. N P M δv = abs( Py – (m·Px-b) ) x y Py m·Px-b b m = tg θ Despejar la pendiente (m) y el pie (b) : My = m·Mx-b Ny = m·Nx-b Modelado-1 A. García-Alonso
15
Señalar segmento (2D) : tolerancia
El sistema informa de qué píxel se ha señalado Comprobamos si ese punto es interior a un área para: Evitar problemas de precisión Mejorar ergonomía: facilitar al operador la acción de señalar El punto no es próximo al segmento si : Es exterior al contenedor rectangular “recrecido en ξ” Su distancia a la recta soporte es superior a ξ Numerosos segmentos : técnicas de ordenación espacial PRECISION : En teoría, para señalar un segmento, el punto señalado debe satisfacer la ecuación de la recta que pasa por los puntos A y B. Sin embargo, es casi imposible que se verifique esto, pues los puntos se señalan en un entorno altamente discreto (píxeles). ERGONOMIA : es más cómodo para el operador señalar un punto en las proximidades del segmento que posicionar el cursor justo encima del segmento. Conclusión : definición de un “área de captura” Cuando tenemos una lista de segmentos y buscamos si alguno de ellos es próximo a un punto dado, hay que tener presente que, al comparar un segmento dado con el punto, el caso más habitual es que el punto no esté en el área de captura de ese segmento. Por ese motivo se emplean en primer lugar los criterios que, con menor coste, nos permiten determinar que el punto está alejado del segmento. Con sólo la siguiente operación se eliminará un porcentaje alto de segmentos (sobre el 30-40% según el punto y las características de las escena) if ( px > max(nx, mx)+ξ ) return (el punto no está cerca del segmento) Añadiendo otra comparación el porcentaje de segmentos descartados será ya muy elevado (60-80%, ídem) if ( px < min(nx, mx)-ξ ) return (no está cerca) Habrá que realizar otras comparaciones en “y” Finalmente se evaluará la distancia punto-segmento El valor que se asigna a ξ será una fracción de la anchura o altura del recuadro. Por ejemplo, una 300 parte de la anchura. Si el número de segmentos presentes en el modelo fuera muy elevado, en vez de analizar cada uno de los segmentos presente en el modelo habría que implementar técnicas de ordenación espacial. Área de captura “ideal” Área de captura que implementamos ξ Modelado-1 A. García-Alonso
16
El plano Modos de definir un plano Distancia punto/plano
Ecuación implícita Interpretación de “las ecuaciones” de un plano : vector normal Semi-espacios definidos por un plano Distancia plano a origen Tres puntos Punto y vector normal, punto y dos vectores Elementos geométricos Distancia punto/plano Punto en el plano : tolerancia Señalar plano Modelado-1 A. García-Alonso
17
Ecuación implícita del plano
Un plano está formado por todos los puntos P que satisfacen la ecuación: A·Px + B·Py + C·Pz + D = 0 Existen infinitas descripciones del plano λ·(A, B, C, D) λ·(A, B, C) representa las componentes de todos los vectores normales al plano. De ellos, sólo dos son unitarios Si el plano está asociado a una cara de un sólido, se suele usar la normal unitaria hacia el exterior Conocido un vector normal (nx , ny , nz) y un Punto P del plano: A = nx, B = ny, C = nz, D = - (nx · Px+ny · Py+ nz · Pz) Normal unitaria hacia el exterior Normales al plano Modelado-1 A. García-Alonso
18
Semiespacios definidos por un plano
Sea P(x,y,z) un punto cualquiera del espacio Sea el plano (nx, ny, nz, D) La función F(P) = nx · Px + ny · Py + nz · Pz + D Divide el espacio en dos semiespacios, En uno se verifica que F(P)>0 y en el otro F(P)<0 nz > 0 semiespacio + A y z O semiespacio - En A (corte eje z con el plano), x = y = 0 nz · z + D = 0 y como, nz > 0 y z < 0 D>0 O está en el semiespacio + semiespacio - nz > 0 semiespacio + B y z O En B, x = y = 0 nz · z + D = 0 y, nz > 0 y z > 0 D<0 O está en el semiespacio - Modelado-1 A. García-Alonso
19
Distancia punto/plano
Sea M un punto cualquiera del plano, y n un vector normal al plano, unitario. Se cumplirá : δ = abs( MP · n) n P M δ Modelado-1 A. García-Alonso
20
Caras (planas), polígonos o facetas
Modos de definir una cara xxx Punto interior a una cara Clasificación Forma adecuada Cálculo del vector normal Modelado-1 A. García-Alonso
21
Clasificación Cóncavas y convexas Múltiplemente conexos
Cruces de aristas Modelado-1 A. García-Alonso
22
Forma adecuada Problemas de precisión Rapidez de cálculo
Evitar polígonos Cóncavos Ángulos muy agudos o próximos al recto (180º) Con aristas tangentes o secantes Con desproporción en las magnitudes de los lados Triángulos y cuadriláteros fomentar Formas equiláteras Fomentar formas isósceles o rectangulares Modelado-1 A. García-Alonso
23
Cálculo del vector normal
Método simple Usar tres primeros vértices Problemas Polígonos cóncavos Vértices no coplanarios Vértices alineados Uso método ponderado (Foley ) nx = 0.5 · (zi + zi1 ) · (yi1 - yi ) ny = 0.5 · (xi + xi1 ) · (zi1 - zi ) nz = 0.5 · (yi + yi1 ) · (xi1 - xi ) ( i: 1 n ) Modelado-1 A. García-Alonso
24
Volúmenes contenedores
Geometría Caja contenedora (AABB axis aligned bounding box) El menor prisma rectangular de caras paralelas a los planos coordenados que contiene al cuerpo dado Para poliedros : Inicializar valores min-max con un vértice del cuerpo Recorrer la geometría recreciendo esos valores iniciales Esfera Envolvente convexa xmax z y xmin zmin zmax x ymin ymax Modelado-1 A. García-Alonso
25
... Sistema de referencia Modelado, mundo, cámara Jerarquías : dependiente/independiente del tiempo Pre-procesado / regenerado (cuándo) Sistema modelado : varía forma Sistema mundo : cambio de posición o forma Sistema cámara : cambio posición relativa o forma Modelado-1 A. García-Alonso
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.