240 likes | 475 Views
>> Modelado – 1 << Introducción, Geometría básica. http:// www .sc.ehu.es/ccwgamoa/clases. Introducción. Foley Cap. 11- 1 2-20, Hearn Cap. 1 0 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 10.2-10.13)
E N D
>> Modelado – 1 <<Introducción, Geometría básica http://www.sc.ehu.es/ccwgamoa/clases A. García-Alonso
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 10.2-10.13) • Blobby objects (F 20.8.4, 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) A. García-Alonso
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 A. García-Alonso
Geometría básica • El vector • El punto • La recta • El plano • Cara (plana), polígono o faceta • Volúmenes Contenedores A. García-Alonso
El vector • Unidades • En variables • En constantes y “#define” • En interfaz de usuario • Ángulo de dos vectores • Sin orientar • Orientado A. García-Alonso
b α a y b α x z (saliente) α’ b’ Angulo entre dos vectores Angulo entre dos vectores (sin orientar): 0 ≤ α ≤ π |a|·|b|·cos α = a.b α = acos(a.b / |a|·|b|) Angulo con eje de un sistema de referencia (orientado): -π ≤ α ≤ π α = acos( bx / |b| ) if( by<0) α =-α A. García-Alonso
b eje α b a α eje a eje α a α a b eje b ... Angulo que forma el vector b con el vector a (orientado) : la orientación la define un eje perpendicular al plano definido por los dos vectores A. García-Alonso
La recta • Modos de definir una recta • Ecuación implícita • Dos puntos • Punto y vector • Ecuación implícita (2D) • Estructuras de datos • Distancia punto/recta • Distancia-2D punto/recta • Distancia-2D aproximada punto/recta • Punto en recta : tolerancia • Señalar segmento (2D) : tolerancia A. García-Alonso
N M pr nr 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 ) Los coeficientes de la recta definida por M, N : A = Ny – My ; B = Mx – Nx ; C = - [ (Ny – My) Mx + (Mx – Nx ) My ] A. García-Alonso
N P’ δ M θ P 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. A. García-Alonso
N δ M P nr 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 ) A. García-Alonso
N δ M pr P nr 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 ) A. García-Alonso
y N δv =abs( Py – (m·Px-b) ) P m·Px-b m = tg θ M Py b x 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 Despejar la pendiente (m) y el pie (b) : My = m·Mx-b Ny = m·Nx-b A. García-Alonso
ξ ξ Área de captura “ideal” Área de captura que implementamos 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 A. García-Alonso
El plano • Modos de definir un 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 A. García-Alonso
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 A. García-Alonso
y y semiespacio + nz > 0 A z z O semiespacio + nz > 0 B O semiespacio - 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 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 + En B, x = y = 0 nz· z + D = 0 y, nz > 0 y z > 0 D<0 O está en el semiespacio - A. García-Alonso
P n δ M Distancia punto/plano • Sea M un punto cualquiera del plano, y n un vector normal al plano, unitario. • Se cumplirá : δ = abs( MP·n) A. García-Alonso
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 A. García-Alonso
Clasificación • Cóncavas y convexas • Múltiplemente conexos • Cruces de aristas A. García-Alonso
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 A. García-Alonso
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 11.1.3) nx = 0.5 · (zi + zi1 ) · (yi1 - yi ) ny = 0.5 · (xi + xi1 ) · (zi1 - zi ) nz = 0.5 · (yi + yi1 ) · (xi1 - xi ) ( i: 1 n ) A. García-Alonso
z zmax zmin ymax ymin y xmin xmax x Volúmenes contenedores • Geometría • Caja contenedora • 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 A. García-Alonso
... • 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 A. García-Alonso