representaÇÃo de superfÍciesemc5301.paginas.ufsc.br/files/2014/03/superficies1.pdf · •são...
TRANSCRIPT
117/4/2001
REPRESENTAÇÃO DE SUPERFÍCIES
Introdução ao Projeto e Manufatura assistido por Computador
PROF. ALTAMIR DIAS
2
• Introdução– Superfícies são usadas:
• projeto de forma e representação de objetos complexos
• descrição mais precisa dos objetos
• pode ser extendida para projeto geométrico
• usada para cálculo de propriedades de engenharia– massa, interferência, secções transversais, malhas, etc.
– Criação• exige mais dados
• requer no mínimo entidades em wireframe– ex: uma ou duas curvas;
– A escolha depende das aplicações– não há uma solução simples para todos os problemas
• deve ser adequada para projeto e representação
3
– Modelos baseados em superfícies• são mais complexos
• são menos ambíguo
• são mais rico em dados
• podem ser considerado uma extensão do modelo wireframe
– Diferenças• modelos de superfícies definem somente a geometria do objeto
• não há informação armazenada --> somente topológica– a criação se dá pelo uso de entidades wireframe
– a partir delas se cria a própria superfície, conectando-as apropriadamente
– Construção• modelos deve ser criados numa vista isométrica
– torna mais claro o processo de criação e visualização
– a criação deve ser orientada, para asegurar uma superfície correta
Comparado ao modelo wireframe
5
– Entidades
– podem ser:
» analíticas: planos, ruled, revolução e tabuladas
» sintéticas: Hermite, B-spline, Bezier, Coons, Gordon
– são baseadas nas propriedades matemáticas
» capacita o usuário escolher adequadamente a
superfície para a aplicação
» permite o usuário entender melhor a documentação e
os modificadores associados a cada entidade
6
•Planos: •são definidos por três pontos não colineares•gera secções transversais•é um elemento auxiliar na construção de modelos de superfícies
7
•Ruled (Lofted): •também é uma superficie linear•resulta de uma interpolação linear entre duas curvas
8
•De revolução:
•gera um objeto axisimétrico
•definido pela rotação de uma entidade planar em torno de um eixo
9
•Cilindro Tabulado•translação de uma curva plana ao longo de uma direção especificada•a curva plana é perpendicular à diretriz
10
•Superfícies de forma livre:•Bezier:
•é uma superfície que aproxima um conjunto de dados
•não passa por todos os pontos
•tem-se o controle global da superfície
14
• Representação de Superfícies• são descritas no espaço Cartesiano 3D, por equações
paramétricas ou não paramétricas
• dado um conjunto de pontos, a superfície pode ser:– interpolante
– sem interpolação: pontos são usados para gerar a superfície aproximada
– Formulação Geral:
» P é um ponto sobre a superfície
» a forma natural de f(x,y) ao passar pelos pontos dados é uma polinomial do tipo:
» x, y formam uma grade com (p+1) x (q+1) pontos.
P=[ x y z ]T=[ x y f x , y ]T
z= f x , y =∑m=0
p
∑n=0
q
amn xm yn
15
– Formulação paramétrica
• o espaço paramétrico E2 é mapeado no espaço cartesiano E3
• as variáveis u e v são restritas a um intervalo finito
• superficies podem ser modeladas a partir de segmentos de superfície
– os segmentos podem ser retangular ou triangular
» segmentos triangulares são mais flexíveis: não requerem ordenação dos pontos de entrada
• são definididas como analíticas ou sintéticas, como já foi mostrado na definição das entidades
• métodos para gerar superfícies sintéticas:– tensor, racional, e por ajuste
P u =[ x y z ]T=[ x u , v y u , v z u , v ]T
umin≤u≤umax , vmin≤v≤vmax
17
– Método tensorial• mais usado, mais simples e mais difundido• envolve o produto de funções bases univariadas (polinomiais)
– as propriedades podem ser deduzidas da base das curvas– mapeia um domínio retangular (u,v)
– serve para gerar segmentos de superficies com quatro lados (retangulares*)
– define uma orientação única da superfície
• Condições de fronteiras associados ao segmentos de superfícies
– quatro vetores de posição dados nos cantos
– oito vetores tangentes nos cantos
– quatro vetores de torção dados nos cantos
• Geração da superfície– fixa-se uma coordenda (u) e gera a curva em v, e vice-versa.
– Especifica-se uma malha (n x m) curvas para visualizar a superf.
18
• Análise geométrica» vetores tangentes: ajuda a determinar caminho de
ferramentas sobre superfícies
» vetores normais: usados para aproximação e afastamento da superfície
– Usa-se geometria diferencial
» comprimentos, áreas, ângulos e curvaturas
– Vetor tangente:
– Vetor torção: mede a taxa de variação de Pu com respeito a v
Puu , v =∂P∂u
=∂ x∂u
∂ y∂u
∂ z∂u
Puvu , v =∂2 P∂u∂v
=∂2 x∂u∂v
∂2 y∂u∂v
∂2 z∂u∂v
Pvu , v =∂P∂v
=∂ x∂v
∂ y∂v
∂ z∂v
20
• O vetor torção depende:– das características geométricas da superfície
– da parametrização Puv ≠ 0 não implica torção
• Vetor normal
– normal à superficie igual a zero significa:
» ponto de reversão, estreitamento ou autointersecção da
superfície
» ou ainda Pu e Pv são paralelas
N u , v =∂P∂u
×∂P∂v
=Pu×Pv
21
• Cálculo da distância entre dois pontos– dois pontos podem ser conectados por diferentes caminhos– vamos usar o caminho mínimo: ligados por uma linha reta– assim: a distância entre o ponto (u,v) e (u+du, v+dv) sobre a
superfície dá:
» ou
» E, F e G definem a primeira forma fundamental da superfície, ou coeficientes da superfícies
» definem a base para medidas de comprimentos, áreas, e especificação de direções e ângulos sobre uma superfície.
– Distância entre dois pontos:
» u’=du/dt, v’=dv/dt
ds 2=Pu⋅Pu du22 Pu⋅Pv dudvPv⋅Pv dv 2
ds 2=Edu22 FdudvGdv2
2
2
S=∫ta
tb E u¿2 F u' v'G v¿ dt
¿
S -> distância geodésica
22
• A primeira forma fundamental dá a distância ds no plano tangente da superfície;
• a distância perpendicular ao plano tangente da superficie é dado por:
– ou
– que define a segunda forma fundamental da superfície e forma a base para o cálculo da curvatura da mesma --> usa derivadas segunda da equação da superfície
1
2dh2=n⋅Puu du22 n⋅Puv dudvn⋅Pv dv 2
1
2dh2=Ldu22 MdudvNdv2
2
2
2
2
L u¿ 2 M u' v'Nv¿
E u¿2 F u' v'G v¿
k=¿¿
=1
k
23
• Curvatura Gaussiana e curvatura média
• as curvaturas principais são dadas por:
• Curvatura Gaussiana pode ser:» positiva, negativa ou zero
» superficie com curvatura gaussiana em qualquer lugar são chamada de desenvolvíveis
• Plano Tangente:
K=LN−M 2
EG−F 2 H=ENGL−2 FM
2 EG−F 2
kmax=HH 2−K
kmin=H−H 2−K
n⋅Q−P =Pu×Pv ⋅Q−P =0
24
– Superficies analíticas• Planos:
– a)definido por três pontos no espaço:
– b) definidos por dois vetores r e s:
– c) definido por dois planos e paralelo ao vetor r:
– d) passa por P0 e normal a n:
– a base de dados inclue: normal n, um ponto P0 e os eixos u e v
dados no MCS
P u , v =P0u P1−P0 v P2−P0
P u , v =P0uLu rvLv s Lu e Lv definem as dimensões do plano
P u , v =P0u P1−P0 vLv r
P−P0 ⋅n=0
25
• Superficie Ruled– é gerada pela junção linear (uma linha reta) de duas curvas (G
(u), Q(u)) no espaço
– geração da superfície em u=ui juntando os pontos de Gi e Qi
– generalizando:
• Superfície de Revolução
– rotação de uma curva plana de um ângulo v em torno de um eixo
de rotação
» para cada ponto da curva se tem um circulo, com raio rz(u)
» assume-se o eixo z como o eixo de rotação
P ui , v =Giv Qi−Gi
Pu , v =Gu v Qu −Gu
Pu , v =r z u cos vr z u sin vz u
27
• Cilindro Tabulado– translação de uma curva ao longo de uma direção
» curva plana é a diretriz
» linha reta é a geratriz
– a linha reta fica paralela ao vetor que define o cilindro
» G(u) é curva que define o cilindro
» v é o comprimento do cilindro
» nv é o eixo do cilindro
P u , v =Gu vnv
Base de dados do cilindro
28
– Superfícies Sintéticas• Superfície de Hermite
– usando uma formulação bi-cúbica
– na forma matricial
– onde C é uma matriz do tipo:
P u , v =∑i=0
3
∑j=0
3
cij ui v j 0≤u≤1
0≤v≤1
P u , v =UT CV
[c33 c3 2 c3 1 c30
c2 3 c22 c21 c2 0
c13 c12 c1 1 c10
c03 c0 2 c0 1 c00]
29
• Usando condições de contorno é possível escrever a equação da superficie de Hermite em termos de condições de fronteira:
• onde B fornece as condições de fronteira:
– as submatrizes acima são obtidos a partir das condições de contorno nos cantos do segmento de superfície
P u , v =UT M H BM H V
B=[ P0 0 P0 1 Pv 0 0 Pv 0 1
P1 0 P1 1 Pv1 0 Pv1 1
Pu 0 0 Pu 0 1 Puv 0 0 Puv0 1
Pu1 0 Pu1 1 Puv1 0 Puv1 1]
31
• A polinomial cúbica pode ser escrita como:
• suas derivadas:
P u , v =[F 1u F 2u F 3u F 4u ] [B ][F 1v
F 2 v
F 3 v
F 4 v ]Puu , v =[G1u G2u G3u G4u ] [B ][F 1 v
F 2 v
F 3 v
F 4 v ]Pvu , v =[F 1u F 2u F 3u F 4u ] [ B ][G1v
G2v
G3v
G4 v ]Puvu , v =[G1u G2u G3u G4u ] [B ][G1v
G2 v
G3 v
G4v ] F é uma polinomial cúbica e G sua derivada primeira
32
– Condições de continuidade entre segmentos de superfícies
• Superfície de Ferguson – assume que os vetores torção são nulos nos cantos
– facilita cálculo de caminho sobre a superfície
» a tangente nos cantos pode ser aproximado pela posição e a corda que junta os pontos
» tem características similar as curvas cúbicas splines
B=[ P0 0 P01 Pv0 0 Pv0 1
P1 0 P11 Pv1 0 Pv1 1
Pu 00 Pu0 1 0 0
Pu10 Pu1 1 0 0 ]
33
– Superfície de Bezier• é uma extensão das curvas de Bezier
• um conjunto de pontos ordenados é usado para construir um segmento de superfície retangular
• a equação é dada por:
– Pij são os pontos de controle
– Bi,k são as funções de Bernstein para cada direção
– características:
» interpolas os pontos de controle dos cantos
» possui um casca convexa em torno dela (poliedro)
Pu , v =∑i=0
n
∑j=0
m
Pij Bi , nu B j , m v 0≤u≤10≤v≤1
35
– Superfície B-spline• o método anterior pode ser extendido para descrever uma
superfície B-spline
• um conjunto de pontos cria a superficie– forma um contorno convexo (poliedro)
– controla a forma da superfície
• pode aproximar ou interpolar os vértices do poliedro
• o grau da superfície independe do número de pontos de controle
– a continuidade é mantida através da superfície devido as funções de ajuste
P u , v =∑i=0
n
∑j=0
m
Pij N i , nu B j , mv 0≤u≤umax
0≤v≤vmax
36
P u , v =∑i=0
n
∑j=0
m
Pij N i , nu B j , mv
0≤u≤umax
0≤v≤vmax
B j , mv são funções bases splines
37
– Superfície de Coons• um segmento de superfície de Coons é uma forma de
interpolação transfinita– interpola um número infinito de pontos: todos os pontod de um
segmento de curva para gerar a superfície
– é usado em ajustar quatro contornos numa superfície
• dado P(u,0), P(1,v), P(u,1) e P(0,v) gerar um superfície– que função P(u,v) ajusta melhor as curvas?
• Usar um interpolação bilinear entre dois contornos gerando duas superfícies:
• resultando em:
P1u , v =1−u P 0, v uP 1, v
P2u , v =1−v P u ,0 vP u ,1
P u , v =P1u , v P2u , v
40
• O segmento de superfície resultante não satisfaz as condições de contorno
– os termos entre colchetes teriam que ser eliminados para se ter o segmento de curva em v = 0 e v = 1.
– Eles definem o terceiro termo da equação
– e assim:
Pu ,0 =P u ,0 [1−u P 0,0 uP 1,0 ]
P u ,1 =P u ,1 [1−u P 0,1 uP 1,1 ]
P3u , v =1−v [1−u P 0,0 uP 1,0 ]
v [1−u P 0,1 uP 1,1 ]
P u , v =P1u , v P2u , v −P3u , v
41
• A equação anterior define o segmento bilinear de Coons
– esta superfície admite somente continuidade C0
• Para garantir continuidade C1, pode ser usado polinomiais de Hermite, na equação bilinear
• Isso implica que a nova superficie de Coons, com continuidade C1 é dada por:
P u , v =−[−1 1−u u ] [ 0 P u ,0 P u ,1 P 0, v P 0,0 P 0,1 P 1, v P 1,0 P 1,1 ][ −1
1−v v ]
P1u , v =2 u3−3u21 P 0, v −2 u33u2 P 1, v
P2u , v =2 v3−3 v21 P u ,0 −2 v33 v2 P u ,1
42
• Superficie de Coons com continuidade C1
• Formulação de superfície de Coons com informação de derivadas nos cantos são dadas na equação
• Formulações mais sofisticadas existem na literatura….
– Ajuste de Superfícies• conexão de duas superfícies ou segmentos
– inclue usar o conceito de continuidade
– é fornecido os pontos nos cantos e suas tangentes.
P u , v =−[−1 F 1u F 2u ] [ 0 Pu ,0 P u ,1 P 0, v P 0,0 P0,1 P1, v P1,0 P1,1 ][ −1
F1v
F 2v ]
43
– Offset de uma superfície• dado uma superfície achar a superfície offset
– n(u,v) - normal à superfície original
– d(u,v) - distância da nova superfície
– Segmento Triangular• útil quando a superfície não poder ser modelada por segmento
retangulares
• usa três parâmetros u,v,w são usados no domínio paramétrico– são chamadas de coordenadas baricêntricas
– w é dependente de u e v (u+v+w = 1)
• um segmento de Bezier é dado por:
P u , v offset=P u , v n u , v d u , v
P u , v , w =∑i , j , k
Pijk Bi , j , k , nu , v , w 0≤u≤10≤v≤10≤w≤1
45
• As funções de Bernstein são dadas por:
– Pi,j,k são pontos de controle;
» o número é dado por: (n+1)(n+2)/2 -- n é a ordem do segmento de Bezier
– a ordem de entrada dos pontos segue uma organização piramidal
– Superfície Paramétrica Racional
Bi , j , k , n=n !
i ! j ! k !ui v j wk
P u , v =∑i=0
n
∑j=0
m
Pij hij F i u F j v
∑i=0
n
∑j=0
m
hij F iu F j v
46
• Manipulações de Superfície– Exibição:
• mais simples: gerar malhas de curvas– um parâmetro é feito constante de cada vez
– pode se ter um modificador de tamanho da malha
• usar normais a superfície: melhora a exibição– usa-se segmentos de retas
• sombreamento – ver técnicas mais adiante ( Ammeraal)
– Cálculo de pontos sobre a superfície• determinar o valor de u e v no espaço paramétrico
– o método de diferenças finitas de curvas, também pode ser usado
• método inverso: dado x, y e z achar u, v– solução de sistemas não lineares - via método numérico
47
– Segmentação• reparametrização de uma superfície, mantendo o grau de suas
polinomiais
• seja um segmento de superfície definido u = u0, um e v = v0, vm
– deseja-se dividir a superfície no ponto P1, dado em (u1, v1)
» se o ponto é dado em coordenadas cartesianas a solução
inversa deve ser achada: determinar (u1, v1)
– introduzindo novas variáveis u1 e v1 entre (0, 1) pode ser escrito
» os outros segmentos são determinados de forma similar
u1=u0u1−u0 u
v1=v0v1−v0 vSubsegmento 1
49
– Recorte de superficie• pode ser como um problema de segmentação ou intersecção
– dado dois pontos na fronteira: tem-se o problema de segmentação
– dado outra superficie interceptante: problema de intersecção
– Intersecção• envolve resolver um problema não linear
– intersecção superfície/curva
– intersecção superfície/superfície
• intersecção superfície/curva
– P(u,v) = 0 e P(w) = 0 são equações paramétricas
» fornece três equações, onde u, v, w são desconhecidas
» uma solução: usar método de Newton-Raphson
P u , v −P w =0
51
• Intersecção superfície/superfície
– P(u,v) = 0 e P(t,w) = 0 são equações das superfícies
– tem-se três equações escalares em função de quatro variáveis
– problema sobrespecificado:
» é preciso reduzir a solução ao problema de intersecção superfície curva
» ou introduzir uma nova restrição
– Projeção• projetar pontos, retas, curvas e superficies
• Projeção de um ponto ao longo de uma direção r e calcular a coordenada do ponto Q ( projetado )
– equação do plano:
– equação da reta projetada:
– resolver:
P u , v −P t , w =0
P u , v =abucvP w =P0rw
Pu , v −Pw =0