46
RMSol. - Geometria S ´ olida Construtiva (CSG) Representac ¸˜ ao Matem ´ atica de S ´ olidos Altamir Dias 1 DEPTO. DE ENGENHARIA MEC ˆ ANICA Universidade Federal de Santa Catarina POSMEC-2007 1 PROGRAMA DE P ´ OS-GRADUAC ¸ ˜ AO EM ENGENHARIA MEC ˆ ANICA Dias, A. Sistemas CAE/CAD/CAM I

Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

Representacao Matematica de Solidos

Altamir Dias

1DEPTO. DE ENGENHARIA MECANICAUniversidade Federal de Santa Catarina

POSMEC-2007 1PROGRAMA DE POS-GRADUACAO EM ENGENHARIA

MECANICA

Dias, A. Sistemas CAE/CAD/CAM I

Page 2: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

1 RMSol. - Geometria Solida Construtiva (CSG)IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Dias, A. Sistemas CAE/CAD/CAM I

Page 3: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Introducao

Definicao

Um modelo CSG e baseado na nocao topologica de que objetosfısicos podem ser divididos em um conjunto de primitivas (elementosbasicos) que se combinados seguindo uma ordem e certas regrasformam o objeto.

as primitivas sao consideradas CSG validos;elas tem um conjunto de superfıcies orientadas e fechadas;

as superfıcies sao combinadas via processo de determinacao defaces, arestas e vertices;

so que sao objetos diferentes de B-rep - nao armazenamexplicitamente faces, arestas e vertices;

precisa calcula-las toda vez que necessita delas;

Dias, A. Sistemas CAE/CAD/CAM I

Page 4: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Introducao

Existem dois esquemas principais para CSG:baseado em conjuntos regulares r-sets - primitivas solidaslimitadas;baseado em sim-espacos - nao r-sets;

alguns modeladores CSG permitem usar as duas propostas;Modeladores CSG dependem de semi-espacos, que formam abase para gerar primiticas solidas limitadas;O esquema baseado em primitivas limitadas e mais conciso;

Dias, A. Sistemas CAE/CAD/CAM I

Page 5: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Introducao

A base de dados do modelo CSG armazena tambem topologia egeometria;a topologia e criada via operacoes regularizada que combina asprimitivas;

a validade reduz a verificar as primitivas usadas;geralmente pela verificacao do padrao sintatico usado - o modeloCSG usa uma linguagem de construcao que precisa ser usadocorretamente pelo usuario na construcao do modelo;

a geometria armazenada inclui:parametros de configuracao do modelo;transformacoes de corpo rıgido;faces, vertices e arestas nao sao armazenados - precisam sercalculados toda vez que for necessario.

a estrutura de dados da representacao CSG e baseada emgrafos e arvores;

Dias, A. Sistemas CAE/CAD/CAM I

Page 6: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Grafos

Um grafo e definido como um conjunto de nos conectado porramos ou linhas;

sao nos: {A,B,C,D,C,E ,F ,G} e

sao ramos os pares ordenados{{A,B},{A,C},{B,C},{B,E},{B,F},{B,G},{C,D},{C,E}}note que os pares nao estao ordenados.

Dias, A. Sistemas CAE/CAD/CAM I

Page 7: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Grafos

Dıgrafos ou grafo direto e um grafo ordenado;eles sao representado por setas dando a direcao de ordenacao;

ou seja: os ramos tem direcao;cada no tem:

um grau de entrada: numero de ramos que entram nele;e um grau de saıda: numero de ramos que saem dele.e pertence a um caminho (que e a sequencia de nos quando sevai do no n para o no m.

Dias, A. Sistemas CAE/CAD/CAM I

Page 8: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Grafos

O caminho pode ser cıclico ou acıclico;e o grafo tambem pode ser cıclico ou acıclico;grafos cıclicos tambem sao chamados de redes;grafos acıclicos sao chamados de arvores;arvore: e um grafo dag - grafo direto acıclico que e compostapor:

uma raiz: um no unico com grau de entrada zero e grau de saıdaum;todos os outros nos tem grau de entrada e saıda igual a um 1.

Dias, A. Sistemas CAE/CAD/CAM I

Page 9: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Grafos

Os nos da arvore podem ter ancestral e descendentes;o no raiz e o unico que so tem descendentes;as arvores podem ser gerais ou binarias

arvores gerais um no pode ter mais que dois descendentes;as arvores binarias sao aquelas cujos nos tem somente doisdescendentes ;

nos que nao tem descendentes sao chamados de folhas (grau desaıda zero); Dias, A. Sistemas CAE/CAD/CAM I

Page 10: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

a estrutura de dados de CSG e relacionada a grafos e arvores;

Dias, A. Sistemas CAE/CAD/CAM I

Page 11: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

Um grafo representando o solido da figura anterior:

Dias, A. Sistemas CAE/CAD/CAM I

Page 12: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

grafos tem uma estrutura suscinta para representar um modelosolido;e considerado desejavel e eficiente para a edicao de modelos;nao desejavel para calculos geometricos;

os ciclos significam nos compatilhados que estabelecem relacoesde vizinhancas das primitivas solidas;este compartilhamento nao e armazenado explicitamente nografo;

Uma outra proposta de manipular dados CSG e arvorearovres podem ser geradas pelos grafos atraves da copia de noscompartilhados e pela avaliacao de palavras de construcao domodelo solido;

alguns modeladores como CSG usam grafos como estruturaprimaria e arvore como estrutura derivada para outras operacoesde modelagem.

Dias, A. Sistemas CAE/CAD/CAM I

Page 13: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

Uma arvore invertida gerada a partir do grafo representando osolido da figura anterior:

Dias, A. Sistemas CAE/CAD/CAM I

Page 14: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

O numero total de nos na arvore CSG e diretamente relacionadaao numero de primitivas que o solido e decomposto;isso decide o numero de operacoes booleanas requeridas para aconstrucao;

se um solido tem n primitivas, havera (n−1) operacoesbooleanas para (2n−1) nos;

o ideal e obter arvores balanceadas para operacoes emaplicacoes como sombreamento, analise e calculo depropriedades mecanicas.

uma arvore balanceada e definida como aquela cujos subarvoresdireita e esquerda tem igual numero de nos:

nL +nR = 2n−2 o no raiz nao e incluido

a arvore e perfeita quando |nL−nR |= 0.

Dias, A. Sistemas CAE/CAD/CAM I

Page 15: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

Uma arvore desbalanceada

Dias, A. Sistemas CAE/CAD/CAM I

Page 16: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

algoritmos de aplicativos precisam percorrer a arvore CSGir de um no para outro;

percorrer arvores de maneira ordenada fornece meios dearmazenar a estrutura de dados;nao existe uma forma natural de seguimento de percurso naarvore;

diferentes ordens sao possıveis;existem tres formas de percurso de arvore;os metodos sao recursivos, tal que numa arvore binaria pode-separtir da raiz e ir ordenamente no no da esquerda e direitarespectivamente;

Os tres metodos sao:em pre-ordem;em ordem;em pos-ordem.

metodos derivados chamados de reversos podem imitar estesprocedimentos;

Dias, A. Sistemas CAE/CAD/CAM I

Page 17: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

Percorrer uma arvore em preordem, segue-se o seguinteprocedimento:

1 visite a raiz;2 percorra a arvore da esquerda em pre-ordem;3 percorra a arvore da direita em pre-ordem.

Dias, A. Sistemas CAE/CAD/CAM I

Page 18: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

Percorrer uma arvore em ordem, segue-se o seguinteprocedimento:

1 percorra a arvore da esquerda em ordem;2 visite a raiz;3 percorra a arvore da direita em ordem.

Dias, A. Sistemas CAE/CAD/CAM I

Page 19: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

Percorrer uma arvore em pos-ordem, segue-se o seguinteprocedimento:

1 percorra a arvore da esquerda em pos-ordem;2 percorra a arvore da direita em pos-ordem.3 visite a raiz;

Dias, A. Sistemas CAE/CAD/CAM I

Page 20: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

Questao: qual e a forma desejavel para armazenar a arvore?Numa expressao aritmetica A+(B +C)D, a melhor forma e aarvore em pos-ordem, pois a expressao deve ser percorrida daesquerda para a direita e ser ordenada deevido ao paranteses eda ordem das operacoes;precisa-se usar, o conceito de pilha, LIFO (last-in, first out);

este exercıcio racional pode ser extendido para arvore:alguns comandos de composicao do modelo precisam serpercorridos da esquerda para a direita e podem conterparanteses;aı, o metodo pos-ordem pode ser uma boa escolha:o problema e que a raiz fica com uma numeracao alta, entao asolucao seria usar a pos-ordem reversa.

Dias, A. Sistemas CAE/CAD/CAM I

Page 21: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Estrutura de dados CSG

Metodo de pos-ordem reversa usada no PADL-2:

Dias, A. Sistemas CAE/CAD/CAM I

Page 22: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

A primitivas solidas limitadas sao as entidades basicas dosmodelos CSG;Elas sao formas parametricas contendo dois conjuntos de dadosgeometricos:

parametros de configuracao - (ex:bloco (w,h,d);parametros de transformacao de corpo rıgido - (posicionamentoda primitiva relativa ao MCS).

cada primitiva vista como um objeto parametrico corresponde auma famılia de pecas;a entrada do usuario e verificada se um objeto valido esta sendodefinido.a escolha do parametro de configuracao define o tamanho;os parametro de transformacao o posicionamento/orientacao.

Dias, A. Sistemas CAE/CAD/CAM I

Page 23: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

matematicamente cada primitiva e um conjunto de pontos regularde coordenadas ordenadas (x ,y ,z).

Bloco: {(x ,y ,z) : 0 < x < w ; 0 < y < h; 0 < z < d}Cilindro: {(x ,y ,z) : x2 + y2 < r2, e0 < z < h}Cone: {(x ,y ,z) : x2 + y2 < [(r/h)z]2, e0 < z < h}Esfera: {(x ,y ,z) : x2 + y2 + z2 < r2}Cunha:{(x ,y ,z) : 0 < x < w ; 0 < y < h; 0 < z < d , eyw + xh < hw}Toroide: {(x ,y ,z) : (x2 + y+z2− r2

2 − r21 )2 < 4r2

2 (r21 − z2)}

Dias, A. Sistemas CAE/CAD/CAM I

Page 24: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

Veja que estas equacoes sao definicoes de semi-espacos:

Dias, A. Sistemas CAE/CAD/CAM I

Page 25: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

Existe algumas representacoes alternativas, alguma com poucoou nenhum dado;

sao chamadas de representacao de entrada de dados econveniente para entradas do usuario;

outras sao muito descritivas e com uma serie de dadosredundantes e nao servem e nem convenientes para execucaocomputacional;

sao chamadas de representacoes internasdados redundantes sao faces, arestas, vertices e normais assuperfıcies que sao armazenadas junto com semi-espacos;

Dias, A. Sistemas CAE/CAD/CAM I

Page 26: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

Estrutura de dados - incluindo dados redudantes

Dias, A. Sistemas CAE/CAD/CAM I

Page 27: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

As superfıcies, faces e arestas que um modelador solido podefornecer estao diretamente relacionado aos semi-espacos que oesquema do modelador utiliza

as equacoes de semi-espacos definem por sı so as superfıcies doesquema ou modelador:superfıcie plano: S = {(x ,y ,z) : z = 0}superfıcie cilındrico: S = {(x ,y ,z) : x2 + y2 = r2}superfıcie esferico: S = {(x ,y ,z) : x2 + y2 + z2 = r2}superfıcie conico: S = {(x ,y ,z) : x2 + y2 = [(tanα/2z]2}superfıcie toroidal:S = {(x ,y ,z) : (x2 + y2 + z2− r2

2 − r21 )2 = 4r2

2 (r21 − z)}

Dias, A. Sistemas CAE/CAD/CAM I

Page 28: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

As superfıcies sao infinitas e as interseccoes conduzem aarestas infinitas

a solucao e classificar as arestas usando a algoritmo declassificacao de membros para classificar que pedaco da curvapertence as primitivas e dentro do solido

As faces sao primitivas selecionadas tal que as fronteiras dequalquer primitiva possa ser representada pela uniao de umnumero finito de faces depois de posicionadas apropriadamenteno espaco;

Dias, A. Sistemas CAE/CAD/CAM I

Page 29: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

Equacoes de faces:

face plana: F = {(x ,y ,z) : 0 < x < w , 0 < y < h, e z = 0}face plana triangular:F = {(x ,y ,z) : 0 < x < w , 0 < y < h, e yw + xh < hw}face disco: F = {(x ,y ,z) : x2 + y2 < r2, e z = 0}face esferica: F = {(x ,y ,z) : x2 + y2 + z2 = r2}face conica:F = {(x ,y ,z) : x2 + y2 = [(tanα/2z]2, e 0 < z < h}face toroidal:F = {(x ,y ,z) : (x2 + y2 + z2− r2

2 − r21 )2 = 4r2

2 (r21 − z)}

A primitiva face e um subconjunto das superfıcies F ⊂ S.

Dias, A. Sistemas CAE/CAD/CAM I

Page 30: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

As primitivas arestas sao selecionads tal que a fronteira dequalquer face seja representada pela uniao de um numero finitode arestas depois de posicionado apropriadamente no espaco;a aresta e finita ou uma regiao limitada da curva (que pode serilimitada ou disjunta);a aresta e obtida pelo calculo de interseccao das superfıcies doesquema CSG;

podem ser curvas ou silhuetas (cilindro, esfera ou cone)na superfıcies quadraticas: interseccao com planos gera asarestas;

o que geralmente complica a interseccao de superfıcies e aposicao e orientacao no espaco:

uma solucao: calcular a interseccao na posicao padrao e depoisaplicar as transformacoes de posicionamente e orientacao;

Dias, A. Sistemas CAE/CAD/CAM I

Page 31: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

Interseccao entre superfıcies e fundamental para modelagemgeometrica;

ela define o domınio e os limites do modelador;para executar operacoes booelanas automaticamente,eficientemente e nao-ambiguamente e preciso a descricaoprecisa da curva de interseccao;e preciso saber que pares de superfıcies produzem a curva;

Embora o problema de interseccao de superfıcie ja tenha sidoexposto, pode-se explorar o caso de interseccao com superfıciesquadraticas:

Ax2 +By2 +Cz2 +2Dxy +2Eyz +2Fxz +2Gx +2Hy +2Jz +K = 0(1)

Dias, A. Sistemas CAE/CAD/CAM I

Page 32: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

A equacao quadratica pode ser reescrita na forma matricialcomo:

F(x ,y ,z) = V T QV = 0 (2)

onde V e igual: A D F GD B E HF E C JG H J K

A matriz Q define as diferentes superfıcies quadraticas:

superfıcie plana: 0 0 0 00 0 0 00 0 0 1

20 0 1

2 0

Dias, A. Sistemas CAE/CAD/CAM I

Page 33: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

A matriz Q:superfıcie cilindrica:

1 0 0 00 1 0 00 0 0 00 0 0 −r2

superfıcie esferica:

1 0 0 00 1 0 00 0 1 00 0 0 −r2

Dias, A. Sistemas CAE/CAD/CAM I

Page 34: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

A matriz Q:superfıcie conica:

1 0 0 00 1 0 00 0 − r

h 00 0 0 0

Os coeficientes da matriz Q dependem da posicao e orientacaoda superfıcie (as equacoes acima sao validas para o MCS);

Em geral:Q = T T QT

em que T e a matriz de transformacao de corpo rıgido.

Dias, A. Sistemas CAE/CAD/CAM I

Page 35: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Entidades basicas

A interseccao entre duas superfıcies quadraticas pode ser escritacomo:

V T (Q1−Q2)V = 0

gera uma curva infinita; para determinar o limite da curva para osolido pode-se

parametrizar a curva de interseccao em termos de u e v ;por exemplo: achar a interseccao entre um cilindro e umasuperfıcie quadratica qualquer:um cilindro na posicao padrao a equacao parametrica econhecida e pode-se assumir que V =

[r cosu r sinu v

]T.

Usando a equacao de interseccao resulta em:

a(u)v2 +b(u)v + c(u) = 0

cuja solucao e conhecida e u pode ser investigado porb2(u)−4a(u)c(u).

Dias, A. Sistemas CAE/CAD/CAM I

Page 36: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

As operacoes de construcao de modelos no esquema CSG edado via operadores booleanos regularizados:

uniao (∪∗), interseccao (∩∗) e diferenca (−∗);Diferentemente dos operadores de Euler, os operadores deconjuntos regularizados nao sao baseados em equacoes:

as operacoes e propriedades dependem da teoria de conjunto edo conceito de fechamento;sao operadores de nıvel mais alto do que os operadores de Euler;

se as primitivas sao validas e as operacoes sao regularizadas,entao a topologia do solido resultante e sempre valida.

Dias, A. Sistemas CAE/CAD/CAM I

Page 37: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

Podem ser usados outros operadores como Assemble e Glue -eles operam sobre solidos, mas nao combinam solidos;

quase todos os sistemas CAE/CAD/CAM oferecem operadoresbooleanos, explıcitos ou implıcitos;as operacoes booleanas parecem as mesmas para todos osmodeladores solidos:

o que as diferencia e o algoritmo de operacao de conjuntos quedepende do esquema de representacao suportada;sem se fixar no esquema de representacao o algoritmoimplementado deve calcular a fronteira do solido desejada;

os operadores booleanos sao chamados de juncao de fronteiras

no esquema B-rep e calculo de fronteira no esquema CSG;

Dias, A. Sistemas CAE/CAD/CAM I

Page 38: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

seja a operacao to tipo A < OP > B, onde A e B sao primitivas e< OP > e um operador regularizado de conjuntos;CSG usa algoritmos incremental e nao incremental para avaliaras suas fronteiras

nao-incremental: somente a fronteria dos solido final e calculada;incremental: avalia a fronteira dos solidos intermediarios

O algoritmo incremental:este algoritmo e do tipo juncao de fronteira usado pelosmodeladores B-rep;serviria para um conversor de representacao CSG para B-rep.e mais usados que o nao incremental devido a eficienciacomputacional na edicao, manipulacao, exibicao e seccionamentode solidos.

Dias, A. Sistemas CAE/CAD/CAM I

Page 39: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

Um sistema CSG implementado requer ferramentas deinterseccao aresta/solido

um algoritmo de classificacao de membro M[X ,S];um algoritmo de combinacao dos membros classificados.

usa-se o paradigma divide-conquer e criterio de classificacao porvizinhanca.

o paradigma divide-conquer substitui o mecanismo de“ray-tracing” por arestas de um dado solido;classifica-se aresta contra o solido e e equivalente a classificar aaresta contra a sub-arvore da direita ou da esquerda;

Dias, A. Sistemas CAE/CAD/CAM I

Page 40: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

O conceito de vizinhanca e usado para resolver as ambiguidades“on/on” quando combina-se segmentos numa dada clasificacao;

sao usadas tambem para converter CSG em B-rep;

a ambiguidade aparece quando os solidos sao tangentes.

Dias, A. Sistemas CAE/CAD/CAM I

Page 41: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

Dias, A. Sistemas CAE/CAD/CAM I

Page 42: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

Define-se o conceito de vizinhanca N(P,S) - vizinhanca de umponto P com um solido S.

e definido como a interseccao de uma esfera, com raio R,centrada em P, com solido;

Pode-se generalizar a funcao de classificacao de membrosM[X ,S] para incluir tambem informacao de vizinhanca;

Vizinhanca de pontos: se ele esta no interior ou exterior efacilmente representado por cheio ou vazio: classificado N como:[−1,0,1];

E preciso tratar o caso N = 0:

Dias, A. Sistemas CAE/CAD/CAM I

Page 43: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

Pontos sobre um fonteira de um solido pode estar em tres casos:1 Um ponto pode estar no interior de uma face do solido

o caso de vizinhanca pode ser representado usando o sinal danormal a face ou superfıcie

2 o ponto pode estar sobre uma aresta:assumindo que a aresta e compartilhada por duas faces, os sinaisda normal e da tangente das faces podem representar a visiznhaca

3 o ponto pode estar sobre um vertice:geralmente um vertice e compartilhado por tres faces: a vizinhacae mais complexa e difıcil de ser manipulado

Dias, A. Sistemas CAE/CAD/CAM I

Page 44: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

Dias, A. Sistemas CAE/CAD/CAM I

Page 45: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Operacoes de Construcao

Com todas as ferramentas na mao pode-se desenvolver umalgoritmo CSG baseando em operacoes de conjuntos;

1 executar S = A < OP > B e classificar as faces com respeito a S,usando o paradigma divide e conquiste e classificandoface/solido;

2 combinar as classificacoes usando < OP > para obter o solido S;

a classificacao fornece parcelas de A e B que estao em S;baseia-se no fato de que b(A < OP > B)⊂ (bA∪bB), onde b e afronteira;

as classificacoes faces/solidos sao mais complexas, e podem sersubstituidas por classificacao aresta/solido;

implica que a classificacao de faces pode ser feita indiretamentevia aresta/solido;

usa-se um conjunto de arestas tentativas (t-aresta), que podemser arestas que ja estao em A e B, ser arestas cruzadas ouresultado da interseccao entre A e B.Dias, A. Sistemas CAE/CAD/CAM I

Page 46: Representac¸ao Matem˜ atica de S´ olidos´ · 2015. 3. 27. · algoritmos de aplicativos precisam percorrer a arvore CSG ... esquerda para a direita e ser ordenada deevido ao paranteses

RMSol. - Geometria Solida Construtiva (CSG)

IntroducaoGrafosEstrutura de dados CSGEntidades basicasOperacoes de ConstrucaoObservacoes

Observacoes gerais

O esquema CSG e um tipo de representacao poderosa;

e facil para produzir primitivas e operacoes booleanas;

e conciso e requer espaco mınimo para armazenar a definicaode solidos;

e lento para reconstruir o modelo, ja que precisa construir afronteira do sistema;

bom para conversao em B-rep e compete com a representacaoB-rep;

uma desvantagem: representar solidos esculturados esemi-espacos....

Dias, A. Sistemas CAE/CAD/CAM I