REPRESENTAÇÃO DE SUPERFÍCIESemc5301.paginas.ufsc.br/files/2014/03/Superficies1.pdf · •são...

51
1 17/4/2001 REPRESENTAÇÃO DE SUPERFÍCIES Introdução ao Projeto e Manufatura assistido por Computador PROF. ALTAMIR DIAS

Transcript of REPRESENTAÇÃO DE SUPERFÍCIESemc5301.paginas.ufsc.br/files/2014/03/Superficies1.pdf · •são...

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

4

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

11

•B-spline: idêntica a formulaçõa à Bezier

•possui controle local da superfície

12

•Coons: • geradas por um conjunto de curvas fechadas

13

•Conectores de superfícies (fillets)

•Offset: cópia de superfícies

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

16

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

19

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

26

Superfície ruled

Superfície de revolução

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]

30

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

34

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

38

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

39

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

44

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

48

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

50

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