111
LUIZ CRISTO VAO GOMES COELHO SISTEMAS GRÁFICOS PARA GERAÇÃO DE MODELOS GEOMÉTRICOS DE PLATAFORMAS SEMI- SUBI\1ERSÍVEIS DISSERTAÇAO DE l\1ESTRADO Departamento de Engenharia Civil Rio de Janeiro, 30 de abril de 1991 . ! TIFfCIA UNIVERSIQADE CATÓLICA DO Rl_O! 0,E i JAN_EIRO , 1 1 1 i ' 1 DE SÃO VICENTE, 2?5 - · C, EP 1 1 1 1 j RIO DE JANEIRO - BRASIL 1 . 1 1

1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

Embed Size (px)

Citation preview

Page 1: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

LUIZ CRISTO V AO GOMES COELHO

SISTEMAS GRÁFICOS PARA GERAÇÃO DE MODELOS GEOMÉTRICOS DE PLATAFORMAS SEMI­

SUBI\1ERSÍVEIS

DISSERTAÇAO DE l\1ESTRADO

Departamento de Engenharia Civil

Rio de Janeiro, 30 de abril de 1991

. !

~

~ TIFfCIA UNIVERSIQADE CATÓLICA DO Rl_O ! 0,E iJAN_EIRO , 1 1 1 i ' 1 RU~ MAROU~S DE SÃO VICENTE, 2?5 - · C,EP ~2453

1 1 1 1

---~ j

RIO DE JANEIRO - BRASIL 1 . 1

1

Page 2: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo
Page 3: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

LUIZ CRISTOVÃO GOMES COELHO

SISTEMAS GRÁFICOS PARA GERAÇÃO DE

MODELOS GEOMÉTRICOS DE PLATAFORMAS

SEM l·SUBMERSÍV EIS

Diss,.e1taçlo apresentada ao Departa­

mento de Engenharia Civil da PUC/RJ

como parte dos requisitos para

obtenção do título de Mestre em Cien­

cias em Engenharia Civil: Estruturas.

Orientador: Marcelo Gattass.

Departamento de Engenharia Civil

Pontifícia Universidade Católica do Rio de Janeiro

Rio de Janeiro. 30 de abril de 1991

Page 4: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo
Page 5: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

ABSTRACT

Jnteractive Computer Oraphics can provide tools to create lhe nece5l8I)' data to

numerically simulate lhe behavior of aemi-submersible oi! platforms. The best aeometric

representation for these models, lhe possible techniques for conversion between lhese

representations and lhe most adequate data structure are, however, areas where research is

&til! needed.

'Ibis work investigates lhe geometric representation of two models for analysis of

aemi-submersible platforms: a model for static stability and a model for dynamic floating

behavior. The former is referred here as lhe static model and lhe !ater as lhe dynamic model.

Both analysis are used in lhe design of lhese systems.

The current available algorithms for hidden·line remova! are not capable of handling

lhe geometric representation of lhe static model. A new algoritlun for hidden·line remova! is

proposed to solve problems related with peculiarities of this model.

Page 6: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

RESUMO

A ComputaÇlo OrUica Interativa facilita a criaçlo de dados de modelos que alo

utilizados em simulações nummcas para o projeto de plataformas semi-aubmera!veis. A

melhor ieprosentaÇlo geom6trica para estes modelos, as possíveis t6cnicas para lransformaçlo

entre representaÇOes e suas eslTUturas de dados alo, entretanto, "- correntes de pesquisa.

Este trabalho procura estudar a representaçlo geom6trica de dois modelos de análise

de plataformas marftrnas semi-submersíveis: o modelo para análise de establDdade estética

que é referido como modelo estético, e o modelo para an'1lse de movimento dlnimlco que

é chamado de modelo dinAmlco. Ambas análises fazem parte das etapas do projeto destes

sistemas.

Os algoritmos de visualinçlo presentes na literatura nlo foram capazes de

representar os modelos geométricos de estabilidade estática com auas linhas ocultas

removidas. Por esta razio este lrabalho propõe ainda um novo algoritmo para remoção de

Unhas ocllltas, que se moslrou mais eficiente e robusto que os atualmente disponfveis.

Page 7: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

Meus agradecimentos

• Aos meus pais por toda a minha formaçlo .

• Ao Professor Marcelo Gattass, pela sólida orientação, pelos ensinamentos, incenti­

vo e confiança nas estapas do trabalho. Agradeço tamb6m pelo auxílio e dedicaçlo na prepa­

nçlo deste texto.

• Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo do modelo de pain6is e

pela atençlo dedicada ao meu trabalho .

• Ao amigo W aldemar pelo acompanhamento do trabalho, auxílio nas implementa­

ções e pelas valiosas idéias e inspirações.

- Ao Professor Paulo Cezar de Carvalho pelo auxílio no desenvolvimento das

estruturas de dados e algoritmos de geometria.

- Ao Tfiio, Marcelino e Jorjão pela amizade e companheirismo.

• À Bia por me apoiar e incentivar na conclusão deste trabalho.

- Ao Luis Henrique Figueiredo pelas aulas de linguagem [C] e pelo auxílio no

desenvolvimento e implementação do algoritmo de remoçlo de linhas ocultas.

- Ao engenheiro Masetti pelos conhecimentos de Engenharia Naval uansmitidos e

pelo incentivo dado ao trabalho no Convênio PUC/PETROBRÁS.

- Ao Grupo de Tecnologia em Computaçlo Orifica nas pessoas de Peter, ~

Cacá. Camilo, Rolf, Paulo Roma, !Cátia, Sedrez e Maranhlo, pela saudivel conviv!ncia e pelo

apoio dado à pesquisa.

• Ao CNPq e ao Convênio PUCJPETROBRÁS pelo auxOio financeiro.

Page 8: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

SUMÁRIO

USTA DE FIGURAS .......................................................................................... vii

LIST ADE TABELAS ............................................................................................ x

UST A DE PSEUD()..CÓDJOOS ........................................................................... x

CAPÍTUL01

1 ~ IN'TR.ODUÇÃO ................................................................................................ 1

1.1 • Organizaçloda Tese .................................................•...................•....... 4

CAPiTULOZ

2 ·MODELOS PARA PLATAFORMAS SEMI-SUBMERSÍVEIS ..........•........•... S

2.1. O Modelo Estitico ................................................................................. 8

2.2 .. O Modelo Dinlln.ico ............................................................................ 13

2.3 • A Transfonnaçlo no Modelo Dinimico ............................................... 15

2.3.l • Detenninaçlo da Linha D'igua e Corte do Modelo •...........•...•.•..• IS

2.3.2. Simplificações do Modelo ............................................................ 17

2.3.3 • ldentificaçlo da Superficie Molhada ............................................ 21

2.3.4 .. Geração do& Painéí& no C<lltorno ................................................. 21

2.3 .S .. Exemplos ..................................................................................... 22

2.3.S.1 • Modelo B'5ico (HUIL) ...................................................... 22

2.3.5.2 .. Modelo da Plataforma GV A ................................................. 24

3 ·AS ES'I'R.\J'l'lJRA.S DE DADOS .................................................................... 27

3.1 • Uma Estrutura Ba1ellll1 em Vetores pm Anilile e Vis1U1l~

do Modelo Es"tico ...................................................................................... 28

3.1.l ·A Estr11tura de Dados Principal (EDP) ......................................... 29

iv

Page 9: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

3.1.2. O Sistema Oerencildor da EDP ................................................... 32

3.1.3 • A Eatrutura de Dido• de Visualizaçlo ......................................... 36

3.2 • Uma Eatrutura para Transformaçlo no Modelo Dinlmico ................... 37

CAPÍTUL04

4. VISUALIZAÇÃO DO MODEL0 ................................................................... 41

4.1 .. O Sistema de Projeções ....................................................................... 42

4.2 ·Funções de Manipulaçlo da Imagem Projetada ................................... 44

4.2.1 • Detalhe (:ZOOm) ............................................................................ 44

4.2.2. Funçlo Translaçlo (Pan) ............................................................. 45

4.3 • Algorinnos de Linhas Ocultas ............................................................. 46

4.3.1 • O Modelo de TriAngulos e o Algorinno de Jansen ....................... 49

4.3.2. Deficiências do Algorinno de Jansen ........................................... 51

4.3.3. O Novo Algorinno de Linhas Ocultas .......................................... 53

4.3.3.1. Implementação do Algorinno ............................................... 53

4.3.3.2. O Algorinno para Determinaçlo dos Trechos Visíveis ......... 55

4.3.3.2.1 • Passo 1: RotaÇlopara a hori7.ontal .............................. 57

4.3.3.2.2. Passo 2: CQculo das Interseções Intermedimas .......... 58

4.3.3.2.3 ·Passo 3: An'Jise do vértice inicial.. ............................. 59

4.3.3.2.4 • Passo 4: Análise do vértice final ................................. (JO

4.3.3.2.5 • Passo 5: Teste de paridade do veior de visualizaçlo .... 61

4.3.3.2.6. Passo 6: Ordenaçlo do vetor de visualiUÇlo .............. 62

4.3.3.3 .. Filtros para Eficiencia .......................................................... 62

4.3.3.4 - Exemplos ............................................................................. 63

CAPÍ1lJL05

S • CONCLUSÕES .............................................................................................. 72

5.1 • Sobre os Modelos de Repreaentaçlo e suas Implementações ................ 73

V

Page 10: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

S.2 .. Sobre o Algoritznode Linhas Ocultas .................................................. 74

S.3 .. Suaestões para Trabalh0& Futuros ........................................................ 75

APtNDJCEA

OS ALGORITMOS DE SELEÇÃO ..................................................................... 77

A.1. O Algoritnlo dePick-Face 3D ............................................................ 77

A.2 .. Pick-Face 2D ..................................................................................... 79

A.3 ·O Diretório de Entidades .................................................................... 85

APtNDJCEB

IMPLEMENTAÇÕES DAS ESTRUTURAS DE DADOS ................................... 86

B.l - Estrulw'a Baseada em Arrays (EGSE) ................................................. 86

B.2 - Uma Estrulw'a Baseada em Listas e Apontadores (PANEL) ............... 88

REFEUNCJAS BIBLIOGRÁFICAS ............................................................... 90

vi

Page 11: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

LISTA DE FIGURAS

Figura 1.1 • Níveis de compartimentos de uma aemi·•ubmersfvel ............................. 2

Figura 1.2 • Etapas de operaçlo de uma aemi-submeraível.. ...................................... 2

Figura 2.1 • Níveis de absb'açlo da modelagem ........................................................ S

Figura 2.2 .. Plataforma semi-submersível ................................................................. 7

Figura 2.3 • Modelo de estabilidade de aemi-submersfvel ......................................... 8

Figura 2.4 ·Modelo dos flutuadores (volumes) ........................................................ 9

Figura 2.5. Volume prismático .............................................................................. 10

Figura 2.6 ·Volume cilíndrico ............................................................................... 10

Figura 2.7 ·Volumes internos aos flutuadores ........................................................ 11

Figura 2.8 ·Coluna com interferência de um B/ister ............................................... 12

Figura 2.9 • Entidades do modelo de estabilidade est4tica ....................................... 13

Figura 2.10 ·Obtenção do modelo dinamico a partir do esático ............................. 14

Figura 2.11 • Algoribllo de corte das faces domodelo ............................................ 16

Figura 2.12 • Corte do modelo de fronteiras da GV A ............................................. 17

Figura 2.13 ·Problemas do interfaceamento entre os volumes ................................ 18

Figura 2.14 ·Volumes com interfaces simplificadas ............................................... 18

Figura 2.15 • Oeomema do problema de substituiçlo de chanfros .......................... 19

Figura 2.16 ·Exemplo de eliminaçlo de chanfros em um volume .......................... 20

Figura 2.17 • Mapeamento isoparamEIJico .............................................................. 21

Figura 2.18 • Mapeamentos isoparamEuicos degenerldos ....................................... 22

Figura 2.19 • Modelo da HUlL com linhas ocultas removidas ............................... 23

Figura 2.20 ·Modelo de linhu da HULL aimplificado ........................................... 23

Figura 2.21 .. Malha do HtJLL ................................................................................ 24

Pi3ura 2.22 .. Modelo est6tico da OVA ................................................................... 24

Page 12: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

Figura 2.23 - Modelo da parte 1im6tric1 da GV A conado ....................................... 25

Figura 2.24 - Modelo de fronteiraa da OVA anres da malha ...•........................•.•..... 2S

Figura 2.25 .. Malha para o modelo OVA ................................................................ 26

Figura 3.1 ·Vetores daa estruturaa de dados ........................................................... 29

Figura 3.2 - Níveis hierárquicos da EDP ................................................................. 30

Figura 3.3 - Vetores de índices e endereços da EDP ............................................... 31

Figura 3.3 - Módulos do sistema de gerenciamento ................................................ 33

Figura 3.4 - lnserçlo de um vértice em baliza ......................................................... 35

Figura 3.5 - Vetores da lista de faces ...................................................................... 37

Figura 3.6 - Estrutura de dados do PANEL com informações hierárquicaa e de

adjacências ......................................................................................... 38

Figura 4.1 - Modelo de projeções adotado .......................................•.....•................ 42

Figura 4.2 - Modelo conceitual apresentado por Foley ............................................ 42

Figura 4.3 - Rotaçlo concatenada com a projeçlo Cabinet ..................................... 44

Figura 4.4 - Exemplo da funçlo detalhe •......•..•••..•.••......•.•••••••.•.•••.••.•..•••••......••....•. 45

Figura 4.5 .. Função Pan ......................................................................................... 46

Figura 4.6 - Modelo de linhas de plataforma semi-submersível ...................•........... 46

Figura 4.7 - Situações especiais entre faces e arestas .•••.•.••••.•...••.........•••.••.••••..•..••.. 48

Figura 4.8 - Algoriuno de triangulaçlo •....•...•....•....•.•.•.............•..........•••...•.•......•... SO

Figura 4.9 - Faces do modelo HULL trianguladas •••.............................•....•..•..•...•.. 51

Figura 4.10 - Algoriuno de Jansen para o modelo HULL ...•..•.•..•..•..••....••.........•.... SI

Figura 4.11 - Atualiuçlo do vetor de visualiviçlo global ...................................... SS

Figura 4.12 - Algoriuno de Scan-Unes para polfgonos ........•..•....•..••.•....•.....•.•...•..• 56

Figura 4.13 - RotaçlO do conjunto para a horiwnlll ............................................... 57

Figura 4.14-CQculo das in1e1Seções intennediúias (3D) .•.••.•.•..•..•..•....•......•...•.... 59

Figura 4.15 .. Anilise dos vértices inicial e final ..................................................... 6()

vili

Page 13: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

Fi11ura 4.16 ·Casos particulares de paridade fmpar ................................................. 61

Figura 4.17 • Exemplo 1 • 'Cubos de complexidade crescente' ................................ 65

Figura 4.18 ·Exemplo 2 ·'Plataforma semi-aubmerafvel (OVA)' .......................... 66

Figura 4.19 • Exemplo 3 ·'Linhas que furam faces' ................................................ 67

Figura 4.20 • Exemplo 4 • 'Plataforma semi-submersível (OER 26)' ...................... 68

Figura 4.21 ·Exemplo S ·'Plataforma semi-aubmersfvel (P-XID)' ......................... 69

Figura A.I • Determinação da face de Picl ............................................................. 78

Figura A.2 • Algoritmo de Pick Joce .J.D ............................................................... 79

Figura A.3 • Casos triviais de descarte ...........................................•....•...........•....... 81

Figura A.4 • lo vértice na mesma cota do ponto ..................................................... 81

Figura A.5 • 2o vértice na mesma c:ota do ponto ..............•........ : ............................. 81

Figura A.6 ·Dois vértices a direita do ponto .......................................................... 82

Figura A.7 ·Teste geométric:o de interseção ........................................................... 82

Figura A.8 • Diretórios de elementos e volumes ..................................................... 85

ix

Page 14: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

LISTA DE TABELAS

Tabela 4.1 ·Exemplos com tempos totais de processamento .................................. 70

Tabela 4.2 ·Exemplos com as porcentagens de cada passo ..................................... 71

LISTA DE PSEUDO-CÓDIGOS

Pseudo-código 4.1 • O algoribno de Hidden Unes .........................................•........ S4

Pseudo-código 4.2 ·O algoriuno com filtros .......................................................... 63

Pseudo-código A.I • Algoribno de Pick-Face ........................................................ 80

X

Page 15: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

l·INTRODUÇÃO

A crescente necessidade de realizar wefas de engenharia no mar, tais como

exploraçlo de petróleo, lançamento de estruturas, apoio à execução de obras (faróis,

plataformas fixas, portos, eu:.), motivou o aparecimento de sistemas flutuantes que

apresentam características muito distintas dos sistemas de casco dnico da engenharia naval

tradicional.

As plataformas 1e111l-submerslveis llo sistemas flutuantes formados por

compartimentos interligados que se prestam a serviços no mar. Elas possuem compartimentos

com formas diversas, distribuídos em três níveis búicos: convés, colunas e flutuadores, como

mostra a figura 1.1.

O adjetivo semi-submersível é explicado pelo seu sistema de Jastreamento que lhe

confere uma característica muito ótil em operações no mar. Com aeus compartimentos vazios

ela é capaz de navegar até o local da obra (poço). Uma vez posicionada no local de operação,

o seu sistema de Jastreamento é acionado fazendo com que determinados tanques situados

abaixo do nível do convés submerjam, transladando o centro de gravidade da plataforma para

baixo. A plataforma pode entlo ser ancorada ao fundo do mar por um sistema de cabos,

conseguindo, desta forma, maior estabilidade (figura 1.2).

F.stas operações conferem à plataforma uma estabilidade operacional de convés

semelhante à dos sistemas fixos (Jaqueta, ConcrelO, eu:.), tendo ainda a vantagem de,

tenninado o trabalho no local do poço, poder recupenr sua flutuabilidade e aer novamente

aproveitada em outro local.

Page 16: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

2

convf1

colan••

flatuadore1

FiJW11 l. l - Níveis de compartimentos de uma semi-submersível.

ANCORAGEM.

NAVEGAÇÃO

LASTllEAMENTO

Fipra 1.2 - Etapa de cperaçlo de uma semi-submerslvel.

Page 17: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

3

A ComputaçAo Grtftca Interativa facilita a criaçlo de dados de modelos que do

utilizados em simulações nummcas para o projeto de platafonnas aemi·submerslveis. A

melhor representaçAo aeomêtrlca para estes modelos, as poasfveis tknicas para

transformação entre representações e suas estruturas de dados alo, entretanto, '1'eas

correntes de pesquisa.

F.ste trabalho procura estudar a representaçlo geométrica de dois modelos de an41i!e

de plataformas marllroas semi·submerslveis: o modelo para análise de estabilidade est.6tica

que é referido como modelo es~tico, e o modelo para anAlise de movimento dlnimlco que

é chamado de modelo dinlmlco. Ambas análises faum pane das etapas do projeto de

estabilidade destes sistemas.

Os algoritmos de visualizaçlo presentes na literatura nlo foram capazes de

representar os modelos geométricos de estabilidade esbltica com suas linhas ocultas

iemovidas. Por esta razio este trabalho propõe ainda um novo algoritmo para iemoçlo de

linhas ocultas, que se mostrou mais eficiente e robusto que os atualmente disponlveis.

Durante o desenvolvimento deste estudo foram implementados dois programas de

computador dentro do convénio de Computaçlo Gráfica PUC/PETROBRÁS. O primeiro,

chamado EGSE (Editor Gráfico do Sistema Estabil), faz a vizualizaçlo e ediçlo do modelo

de estabilidade esbltica. O segundo, chamado PANEL, gera o modelo de painéis (elementos

de contornO) da superffcie molhada da plataformL

Page 18: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

4

J.J ·ORGANIZAÇÃO DA TESE

O capítulo 2 apresenta um estudo sobre os dois modelos geom6tricos de platafonnas

semi·submeníveis. Ele procura justificar a escolha ds representaçlo por amuto para o

modelo estitico e a de fronteiras para o modelo dinlmico. Apresenta também um

procedimento para converslo do modelo estático no modelo dinlmico. No final alo

apresentados exemplos que ilustram este procedimento.

No capítulo 3 alo abordados os aspectos das estruturas de dados implementadas.

Mostra-se uma alternativa baseada em vetores para iepresentar o modelo estático e uma outra

estrutura. baseada em listas e apontadOJeS, capaz de representar tods a tarefa de transfonnaçlo

do modelo estático no dinimico.

O capítulo 4 enfoca os problemas de \'lsualizaçio dos modelos descritos, cita os

algoritmos implementados, o sistema de projeções adotado e apiesenta o novo algoritmo de

linhas ocultas desenvolvido nesta tese. Esta apresentaçlo abrange: uma ievislo do problema

de linhas ocultas, uma descriçlo pormenorizada do seu funcionamento e exemplos que

mostram a aplicaçlo do algoritmo a alguns modelos de semi-submeníveis.

Par fim o capítulo S apresenta as conclusões à iespeito do trabalho ieali"Nlo e

sugestões pera trabalhos futwos.

Page 19: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

2-MODELOS PARA PLATAFORMAS SEMI· SUBMERSÍVEIS

De uma forma geral, um modelo é uma abstração de um objeto qualquer que pennite

facilidades para a sua observaçao. No caso das plataformas semi-submmfveis, assim como de

outras estruturas de engenharia, é muito lltil usar modelos que guardem as ielações de

dimensões e caracterfsticas flsicas do objeto original. Efetua-se apenas uma transfonnaçlo de

escala adequada e simplificações de dimensões que nlo se consideram ielevantes para a

observaçlo do objeto.

Uma representação feita no computador é equivalente a um nível a mais de

abstraçlo além do modelo idealiudo para o objeto (figura 2.1, [REQU82] e [MANT88]). As

informações slo armazenadas em arquivos e listas, podendo ser usadas para visualização,

an41ise, documentação, manufatura, etc. Os modelos de computador têm ainda o mérito de

poderem ser Ião compactos quanto se queira.

1 OBJETO 1-----+ l MODELO 1---- .,_R_E_P_R_Es_E_N_T_AÇXO _ __. COMPUTACIONAL

Figura 2.1 • Níveis de abstraçlo da modelagem.

As representações que podem ser feitas no computador para um modelo variam de

acordo com a abordagem que se dá ao espaço do objeto. Pode-se citar, dentie os tipos de

iepiesentações conhecidas, oa modelos de fronteira, os modelos de clecomposiçlo. oa modelos

de construçlo e os modelos hfbridos.

Os modeloa de fronteira (Boundary Models ou BReps}, guardam infonnações

çenas doa limites entre o objeto e o exterior. Estas representações i' fonm citadas como

modelos de casca ou pele (din models). Um modelo grffico bf.sico uaado neste tipo de

iepiesentaçlo pode ser formado çenas por vértices e por linhas (arestas das faoes).

Page 20: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

6

Os modelos de decomposlçjo fazem uma subdivialo do espaço ou do objeto atrav6s

de elementos menores de geometria e dimensões conhecidas. Esta forma de representaçlo é

muito poderosa quando ae trabalha com objetos irregulares e de diflcil modelagem

matem6tica. Normalmente, entretanto, requerem grande espaço de memória.

Os esquemas por construçjo (Constructive So/id Geometry ou CSG) utilizam

objetos JR-definidos, chamados de primitivas, annazenando todo o processo de geraçlo do

objeto que se deseja modelar em uma '1vore de operações b6sicas. Este procedimento permite

conamições de sólidos que podem aer obtidos por operações booleanas e envolve uma gama

muito extensa de objetos represenúveis. Entre suas vantagens encontram·ae as facilidades de

interfaceamento com o usuário e a volta de passos (undo) de uma maneira bastante 6gil e

natural.

Os esquemas hlbrldos se utilizam de mais de um tipo de representaÇlo. A vantagem

dos sistemas baseados nestes esquemas é que eles permitem que o implementador tire partido

dos algoritmos e propriedades mais llteis de cada uma delas.

A plataforma semi-submersfvel, objeto deste estudo, é composta por um conjunto de

compartimentos flutuantes e por elementos adicionais de bordo, tais como guinchos,

perfmatrizes, instalações de apoio, etc. A sua geometria g1obaJ ae assemelha l de um veleiro

com dois flutuadores possuindo um elemento adicional situado no topo das colunas, o conv6s.

Todos os compartimentos flutuantes localiuim-se abaixo do nfvel do conv6s, ficando as

demais instalações acima deste nfvel.

A figura 2.2 dá uma i~a do objeto a aer modelado.

Page 21: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

7

Figura 2.2 • Plalaforma semi-submm!vel ({VIUE78]).

Os modelos geométricos abordados neste trabalho slO oriundos de duas análises

distintas da plataforma. Uma de estabilidade estática e outra de movimento dinimico. A

ll!1álise estática procura definir se o sistema é seguro o suficiente contra o embcrcamento. Já o

estudo do m""1mento dinimico preve o comporwnento da plataforma em sua interaçlo com

as ondas do mar (domlnio da frequência).

Para análises de movimentos dinâmico&, apenas interessam os ÇQQJpartimentOS

flutuantes, uma vez que o convés nlo deve entrar em contato direto com o meio fluido.

O objeto a ser modelado iesume..se entlO a um conjunto de compartimentos, que

doravante serio chamados de volumes. &teS volumes SIO formados por chlpts me!Qicas

soldadas e anteparas tramversais. A figura 2.3 mostra um modelo geomttrico de estabilidade

de uma plataforma semi-aullmenível.

Neste irabalho os modelos geométricos de estabilidade SIO ~os pel1S

frontelru eles volumes (llolllllltuy rwpnientdorll) degcritos através de allllllDIS de 9rrulo

(1w1epbt1 lllOMll).

V mos fatom influenciaram a eçolha deste tipo de descriçlo. Sendo wn Ç()lljunto de

objetos priam,ticos com supaficies, em sua maioria plllllS, é natural se c:mcentrar as in­

formações nos vtrtices das fronteiru dos volumes. Um modelo de fronreiru descrito por suas

Page 22: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

8

seções transversais (arrasto) 6 mais compacto do que uma subdivislo do domlnio ou um

modelo de construçlo para o objeto em quesllo. A manipulaçlo de objetos prismáticos

descritos por arrasto, permite uma melhor interface com o usuário via projeçlo onognifica

das seções transversais. Explorando-se as propriedades do modelo de arrasto e lançando-se

mio de algoritmos adicionais, pode-se obter uma outra descriçlo do objeto modelado.

Figura 2.3 - Modelo de estabilidade de semi-submerslvel.

2.1 ·O MODELO ESTÁTICO

Para a anj}jse de estabilidade esática destas plataformas, 6 fundamental que se

iepresente a geometria dos volumes definida com os detalhes de canto (chanfros) existentes

no objeto, além da iepresentaçlo de todas as anteparas internas. Em uma primeira anj}jse,

entretanto, a espessura das chapas pode ser omitida do c61culo dos Ca!ORs hidrosWicos

influentes na anj}jse es!Ática ({ESTA90]).

O modelo que irt nopresentar os volumes da plataforma pode enllo ter a dimenslo

das chapas metAlicas omitida. sendo nopnosentado apenas por um conjunto de superltcies

bidimensionais definidas pelo posicionamento dos seus v6rtices (figura 2.4).

Page 23: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

9

Figura 2.4 ·Modelo dos flutuadores (volumes).

F.mbora exista uma interligação física entre estes volumes, a arálise de estabilidade

estática nlo considera a influência de um compartimento sobre os adjacentes. O nosultado da

an'1ise é apenas um somatório do comportamento individual dos volumes, nlo sendo

necessário representar explicitamente estas interligações.

As características geométricas dos volumes que formam o modelo esttitico, sugerem

duas maneiras de repnosentá-los: como prismas ou como cilindros. Observa-se que ,.tas

duas categorias podem ser enquadrados todos os tipos de volumes que formam o modelo

ilustrsdo na figura 2.3.

Os volumes descritos como prismas são formados por uma sequência de teções

uansvenais orientadas chamadas mllzas. &tas bslizas do identificadas por um ciclo de

v6rtices posicionados no espaço. A orientação destas balizas pode ser arbirrariamenle definida

de tal forma que, ao se aplicar a regra da mio direita no sentido de perc111$0 do ciclo de v6rti­

ces, o polegar devenl aponrar pars a próxima baliza que descreve o volume.

Neste trabalho faz-se a visu•liuçlo dos modelos descritos por amsto indiclndo com

linhas cheias as seções ITlllSvmais (balizas), e com JinhlS pontilhadas conecta-te o primeiro

v6rtice de cada baliza do volume. A figura 2.Sa mostra um volume prismatico descrito por

amsto e a figura 2.Sb o modelo de linhas deste volume.

Page 24: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

10

::Z:-:C::: ""'1 /-~ .. ~ ........ --. .,V

(a) (b)

Figura 2.5 - Volume prismático.

A categoria de cilindros é uma fonna simplificada de descrever volumes (colunas,

contraven1a111entos, etc) que possuem geometria tubular.

F.stes cilindros slo identificados pelos vértices que definem o seu eixo (geratriz) e

por um valor que representa o seu dilmetro (figura 2.6).

o Figura 2.6 - Volume cilfndrico.

Existem linda caracter!sticas especiais para os volumes que llo delerminanres para

seu comportamento na anilise de estabilidade. SIO elas a penneabilidade, os coeficienres de

fonna, os coeficienles hidrostáticos e o ponto marginal.

Page 25: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

11

A penneabilidade volumétrica é a pon:en1&gem de deteJminado volume da

embarcaçlo que pode ser totalmente preenchida com tgua. Os coeficientes de fonna dos

volumes 110 o coeficiente de finura, o coeficiente prismático e o coeficiente de flutuaçlo. Os

coeficientes hidrostáticos slo usados na an41ise de movimento da platafonna. O ponto

marginal indica a posiçlo da abertura nlo estanque associada a um volume. Estu definições

podem ser encontradas de maneira detalhada em [ESTA90].

A disposiçlo destes volumes no espaço nlo é limil&da por suas fronteiras, podendo

haver qualquer espécie de Interferência entre eles. Compartilhamento de fronteiras, interse­

çlo parcial ou até mesmo contençlo integral, podem ocorrer.

A existência de compartimentos internos a outros é justificada pela an4lise de

es!Abilidade em avaria. Quando um compartimento é abalroado e o meio fluido penetra em

seu interior. estes volumes internos modificam a flutuabilidade global do sistema. A figura

2.7 mostra um flutuador com seus elementos internos.

Figura 2.7 ·Volumes internos aos flutuadom.

Jnrafer&ncias entre os volumes SIO pennitidas para facilit&r o processo de

modelagem. AI> interseções podem ser detecl&das visualmente ou através de algoritmos

Page 26: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

12

aeom,tricos. Na an'1ise de estabilidade estática o erro cometido ' proporcional ao volume

total das inleneções entre os compartimentos estanques.

A figura 2.8 mostra um volume (Blister)que possui interfel!ncias com uma coluna.

Note-se na vista com linhas ocultas removidas que o volume que compõe o Bllster tem

algumas arestas de 1ua fronteira 1uperior ocultas pelaa facea da colwia.

Figura 2.8 - Coluna com interfertncia de um Blilter.

Conjuntos de volumes formam entidades chamadas elementos que podem penencer

a quatro grupos detenninados por suas propriedades específicas para a an4lise de estabilidade.

Há elementos de Casco (HULL), de Tanque (TANK). de Convá (DECK) e elementos de

Alagamento Progressivo (FWODING). Dentre os elementos de Casco estio os volumes que

representam a flutuabilidade global da plataforma.

Os elementos de Convá slo importanles para a an'1ise de estabilidade estática a

grandes lngulos.

Os elementos de Alagamento Progressivo possuem abenutu Dlo estanques ao nfvel

dos elementos de Convá. Quando o sistema inclina alm do lngulo de alaiamento

progressivo, eles devem ser estar pmentes no modelo para an'1ise estátiCL

Elementos da categoria Tanque se situam internamente aos volumes que compõem

os elementos de Casco. A sua representaçlo ' importante quando ocorrem penetrações de

líquidos nestes flutuadores.

Page 27: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

13

Um c6cll10 de cores pode aer usado no delenho dos modelos pficos para

identificar cada um destes elementos facilitando a 1ua visualizaçlo e modificaçlo. .

A estrutura hierárquica do modelo de estabilidade es"tica fica definida pelas

entidades elementos, volumes, balizas e v6nicea, çomo ilus1ra o esquema da figtaa 2.9.

ILllllJlrOI

I -:I

ltlJW

J_

mnca

Figura 2.9 • &uidldea cio modelo de estabilidade ea"tica.

2.2 ·O MODELO DINÁMICO

A ~ de movimento dinlmico traduz a capacidade do navio de m:eber e

armazenar a energia fornecida pelas ondas externas ([LEVl89J e [EST A9()J) .

. Muito 6til para este tipo de análise 6 a famulaçlo baaeada na leOOa do polencial,

que utiliza o m6todo da funçlo de ClJeen tridimensional. &te m6todo foi idealiuclo por John

([JOHNSO]); no entanto, devido à complexidade das equações integrais a que conduzia, o

m6toclo 16 en aplicade> a ccipos de geometria simples.

Molivados pelas facilidadea dos computadores digitais, muitos pesquisadORS

([BREBSI], (DUMM88J e [CARV90]) l&n ae dedicado ao m6todo da funçlo de Oreen,

atualmente mais conhecido como Mftoclo dos Elementos de Conlomo.

Page 28: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

14

O modelo que iepresenta o compo11amento da platafonna na an'1ise de movimento

pode aer visto como um modelo de elementos de contorno tridimensional. Ele ' fonnado por

paln81 (faces) llnicos, quadranguJ11e5 ou lriangulaJel, de tamanho semelhante, que definem a

fronteira que ae encontra em contato com a 'gua do mar.

Tal iepresentaçlo pode aer obtida a partir do modelo de estabilidade eat6tica.

bastando que ae identifique a fronteira molhada (após definiçlo do plano que iepresenta a

linha d'água) e se faça uma subdivislo padronizada deata superl!cie. A figura 2.10 mostra um

exemplo desta transfonnaçlo para os três volumes que fonnam uma coluna.

L 1-i

H .:'.]

L H

~ ~ y 7

->

1-1 .

·~

Figura 2.10 - Transfoonaçlo do modelo eat6tico no dinlmico.

O modelo de fronteiras da plataforma criado a partir do modelo de anuto dos

volumes, deve ter sua consist&lcia garantida por algoritmos que detectem as intmferenciu

entJe os volumes e identifiquem de maneira llnica a fronteira da platafoona, antes de ae

efetuar. aeraçlO dos painW.

Objetivando uma maicr precislo dos multados da álise de movimento, devem aer

aerados pain6is com caractcrfsticas ~fulidas. A primeira delas diz respeito ao mlmero de

lados destes pain6is que ' limitado pelos tipos de elementos do programa de elementos de

contorno (3 ou 4 em geral).

Page 29: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

A iazlo entre os lidos dos painéis deve eer aproximadamente igual a um, e eates

lidos devem ter dimensão proporcional a altura da onda incidente ([LEVI89]). SimplificlÇl!es

devem eer feitas no modelo de anasto porque as faces que formam a sua fronteira podem

apresentar aspecto muito desigual.

Nao slo pennitidos, para os painéis, nenhum tipo de interuçlo ou compartilhamento

de fronteiras, como no modelo para an'1ise estática. O modelo de fronteiras que fonna os

volumes eleve ter estes tipos de interseção detectados e resolvidos.

• Nlo h4 necessidade de reordenação dos vértices dos painéis, uma vez que a matriz

global da an'1ise por elementos de contorno (nlo simétrica), é armazenada ínteiramente

(matriz quldiada).

2.3 ·A TRANSFORMAÇÃO NO MODELO DINÁMICO

A!!. 1J'anSfonnações necessárias ao modelo de anasto (estático) para obtençlo cios

painéis (dinlmico) slo: identificaçlo do plano da Jinha-d'igua. cone cio modelo (retirando-se

as faces acima deste plano), simplificações do modelo de anasto, representaçlo da fronteira

molhada da plataforma e subdivisão desta fronteira em painéis (geiaçlo da malha no

contcxno).

2.3.1 ·DETERMINAÇÃO DA LINHA D' ÁGUA E CORTE DO MODELO

O plano que identifica a Unha d'qua pode ser fornecido pelo usuéio 111&vés do •

çontamento de tres pontos na superffcie (faces) do modelo de fronteiras. A direçlo do vet«

normal a este plano 6 dada pela regra da mio direita 1plicllda l estes pontos.

Devem ser retiradas todas as faces do modelo de fronteiras que se localinm cio i.do

positivo deste plano. A representaçlo dos painéis destas faces nlo promove qualquer

alteração cios resultados na an61ise de movimento; opta-se. entlo, por nlo representá-las.

Page 30: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

16

O al&oritmo para realiuçlo do corte no modelo de fronteiras pode 1er obtido do

algoritmo de cerceamento tridimensional desenvolvido por Shuterland ((SHU'l74a)),

utilizando-se apenas um plano de corte. Este procedimento pode 1er encontrado de maneira

pormenorizada na dissertação de mestrado de Waldemar Ceies Filho ([CELE90)), nlo se

pretendendo aqui maiores explicações sobre o seu funcionamento.

O algoritmo testa cada face do modelo de fronteiras contra o plano de corte indicado.

As faces situadas totalmente a frente do plano slo imediatamente eliminadas da lista. As faces

totalmente atrás pennanecem na lista. Quando uma face possui vértices a frente e atrás deste

plano, com arestas sendo divididas por ele (figura 2.11). o algoritmo identifica os vértices de . intmeçlo e armazena apenas a parte situada atrás.

-· 2'------"""3

2''-------l3 •

Figura 2.11 • Algcritmo de corte das faces do modelo.

Para ilustrar o algoritmo de corte das faces, mostra-se o corte o modelo de fronteiras

(nlo simplificado) da platafonna OVA, que 6 o modelo do exemplo 2 deste capitulo analisado

na seç1o 2.3.S.2.

Page 31: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

17

/ 7 •

Figura 2.12 ·e.ate do modelo de ftonreiru da OVA. •

2.3.2 ·SIMPLIFICAÇÕES DO MODELO .

As slmpllllcaç6es do modelo de arrasto promovem facilidades para oblençlo de uma

malha suove nas inlelfaces entre os volumes destes modelos.

Tais simplificações coosistem basicamente em ttes operações: dlmlnaçlo de

volumes (internos ou desnecessmcs para a an4lise emtica), concaten!ICIO das Interfaces

entre volumes adjacentes e ellmlnaçio de chlllfnl.

A eliminlçlo de volumes internos ou que pouco acracenllm 111 anQise de

movimenlo dinlmico, pode ser acionada por apontamento do usuirio. En1mle se que a

ieprcsenllÇlo destes volumes nlo altera de forma 1ignifü:ativa esta Wliae. Muitas ver.cs a

funçlo de mnoçlo de volumes i usada para que se ttabalhe 10111ente com a parte lim6ttic;a da

estrutura.

Page 32: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

18

As. interfaces entre os volumes podem ser ~giões problemiticu para uma

dismtizaçlo continua da fronteira. Ocorrem nestas ~giões faces que 1e c:onlrapõem e

vénices penencentes à fronteira ou ao domínio de faces vizinhas (figura 2.13a). A ocontncia

destas ailUIÇões conduz a malhas que nlo ~presentam adequadamente a fronteira molhada

(fipra 2.13b).

(a) (b)

Figura 2.13 ·Problemas do interfaceamento entre os volumes.

As. operações de ttanslaçlo de vénices e eliminaçlo de clwlfros permitem que ae

molva problemas como os da figura 2.13. A figura 2.14 mostra os volumes da figura 2.13

com os problemas de intelface reaolvidol.

FiJura 2.14 • Volumea com inlelfecec limplificadu.

Page 33: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

19

Pua a eliminação dos chanfros implementou-se um algoritmo ar'fico interativo,

capaz de substituir esr& chanfros por uma ónica aresta. O usuário aponta dois vbtices

consecutivos de uma baliza e o programa substitui, automaticamente, em todas as balizas,

estes dois v&tices por um dnico, determinando assim a posiçlo da nova aresta.

O cruzamento das duas arestas (da mesma baliza) seria naturalmente o ponto mais

próximo. Entretanto, deve-se notar que se o ciclo de vbtices que fonnam a baliza nlo estiver

inteiramente contido no mesmo plano, este ponto de interseçlo pode nlo existir. A nova

posiçlo é definida entlo como o ponto mais próximo a duas retas no espaço, nlo importando

a sua posiçlo relativa.

Detenninando-se nas duas retas (prolongamentos das arestas a serem substituídas) os

pontos onde elas alo mais próximas, a posição desejada será a m&lia aritmética desr& dois

pontos. A figura 2.15 ilustra a aeometria do problema e a simbologia pti!izada

Figura 2.15 • Oeometria do problema de substituiçlo de chanfros.

O que se deseja enllo é calcular os parlmetros alfa e beta pua que a distlncia

assuma um valor mínimo.

Page 34: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

20

4'(di•tª, - [ - -• 2 PP • ( P1 - 01 4'a

4'(di•t1 l - [ - -• 2 Dq • ( P1 - 01 ..,. •.. o que conduz ao aiatema ... •

- --• Dq ) [

1 Dp

-< õ;

• Dp > - --( Dp • Dq l

- -!Dq.Dql

- -ttD:]•o ) + o Dp

- -] l + a Dp - /t Dq • O

- -( P1 - 01 - -( P1 - 01

O ponto R pode aer facilmente obtido a partir de P e Q por:

1

: ]

O funcionamento do algorilmo "ê exemplificado pela figura 2.16, onde aparecem o

modelo de fronteira com chanfros e com os pontos fornecidos pelo usuário, e o modelo

simplificado com este chanfro substituido. - . . .

• L_ ~

_v

Figura 2.16 • Exemplo de eliminaçlo de chanfros em um volume.

Page 35: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

21

2.3.3 ·IDENTIFICAÇÃO DA SUPERF1CJE MOLHADA

Para que se detecte as situações em que as faces se contrapõem, pode-se utilizar um

algoribno que percorra todas as faces e teste as suas inci&ncias de vértices. Uma vez que se

ache duas faces com o mesmo ciclo de vértices ~m com orientaçlo condria, deve-se

elimint-las da lista, pois estas slo feces internas.

Os casos em que nlo há coincidência de vértices mas a posição das feces no espaço é

id!ntica (figura 2.13), deve ser detectado visualmente. Simplificações devem ser feitas no

modelo para que os vértices destas feces tenham as mesmas coordenadas.

2.3.4 ·GERAÇÃO DOS PAINÉIS NO CONTORNO

Para as feces fmmadas por quatro vértices optou-se por um mapeamento

lsopanuMtrico, do mesmo tipo do usado para a transfmmaçlo em coordenadas naturais de

elementos finitos.

A fmmulaçlo do mapeamento utiliudo é a descrita na fíeura 2.17 abaixo .

• , 2 1 2 1

f , L_ ~ •

• • • 1 ... •f.t1• .. ,1 ... 1

''"••> • E •u.1r •• , • ª' fd .... ,, ... ,.,,1 .. 1 Y(r,s) • t Nlt;. •• , • Yl

NJ •-ttl•r>Cl1J -,,,. .• , • r ,.,,,,. .• , • '' M •.f.c1•,.>11~•> ,,., .. ,

l'ipia 2.17 - Mape11nen10 iaopmmétrico.

Page 36: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

22

Pwa as faces que possuem mais de quatro lados utiliza-se composições de

mapeamentos isoparam6tricos de quatro lados e mapeamentos isoparam6tricos degenerados

(fiaura 2.11).

Pigwa 2.18 ·Mapeamentos isoparam61ricos degenerados .

• 2.3.S • EXEMPLOS

Nesta seção apresentam-se alguns exemplos de transfonnaçlo de modelos para

estabilidllde esbltica em modelos de pain6is. As imagens mostram, passo a passo, as etapas de

obtençlO ele um modelo de paiMis como fcram descritas anteriormente.

Plentende-se, desta forma, demonstrar a funcionalidade do protótipo desenvolvido

(PANEL) como editor dos modelos geom6tricos destas plataformas.

2.3.5.1 ·MODELO BÁSICO (llULL)

&te exemplo ~presenta o modelo limplificado de uma plataf(1111a aemi­

aubmersfvel. Apesar ele nlo aer um modelo possuidor de todos os elementos presentes em

uma aemi-submmfvel (pois 16 cont6m os elementos búicos), ele ilustra ele forma clidttica a

oblençlo do modelo de pain6is.

Page 37: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

23

O modelo de estabilidade estática ~ apresentado na figura 2. 19 com tuas linhas

ocultas removidas.

Figura 2.19- Modelo da HULL com linhas ocultas removidas.

Na figura 2.20, mostra-se o modelo de estabilidade após aimplificaçlo dos volumes

(eliminaçio de chanfros) , retirada da porção acima da linha d'4gua e isolamento de 1/4 do

modelo, explorando-se a sua dupla simetria. Optou-se nesta figura por mostrar o modelo com

todas as linhas para que se visualize as faces que se contrapõem, maroadas com linhas grossas

no desenho.

Figura 2.20 - Modelo de linhas da HULL aimplificldo.

O cone apontado pelo usumo elimina todo o conv6s e a pane superior dai colunas.

Após a eliminaçlo dai faces que se contrapõem, pode-se gerar a malha no contorno como

mostra a figura 2.21.

Page 38: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

24

FigW"a 2.21 ·Malha do HULL.

2.3.5.2 ·MODELO DA PLATAFORMA GVA

O sistema GV A foi analisado durante o convênio enb'e a Peb'obrú e a OVA na

instalaçlo do programa SESAM para cilculo de platafonnas (LEVl89]). O modelo que

nopresenta esta plataforma foi transformado no formato do arquivo de comunicaçlo do

sistema desenvolvido e pode ser editado pelo protótipo implementado.

Seu modelo de estabilidade esWica com linhas ocultas Jemovidas t m0&!rlldo na

figura 2.22.

"""'/ ____ /

Pipa 2.22 · Modelo es1'!ico da OVA.

Page 39: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

25

O modelo com a parte aimétrica ietirada e cortado pelo plano da linha d',gua

indicado.' mostrad9 na fiaura 2.23.

Figura 2.23 - Modelo da parte simétriéa da GV A cortado.

A eliminação dos chanfros, volumes secundários e identificação das ftces internas

concluem o processo de edição do modelo de fronteiras. O modelo iesultante aparece na

figura 2.24.

Figura 2.24 - Modelo de fronteiras da OVA antes da malha.

A malha gerada no contorno do modelo da figura 2.24 6 mostnlda na figura 2.25.

Page 40: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

FiJura 2.25 • Malha para o modelo OVA.

Page 41: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

3-AS ESTRUTURAS DE DADOS

Muitas técnicas de estruturlÇIO de dados têm aido objeto de pesquiw de cientistas

de diferenlleS áreas. Na área de modelagem geom6trica muito ae tem eatudado sobre as eatru­

turas de dados topológicas para representações de modelos de úonteiras. Mesmo na área de

engenharia. estudos ~ntes tem enfocado estruturas topológicas para prt ([CAMP91]) e pós·

processamento ([CELE90]) grtficos de modelos de elementos finitos e para an4liaes

interativas ([MART89], [POTY90]). A vantagem destas estruturas 6 que elas possuem

informações suficientes para detenninaçlo das adjacências entre elementos topológicos aem

necessidade de busca em toda a eatrutura. Isto pennite que ae implemente algoriunos para

modelagem de maneira bastante eficiente. O esplÇO de memória é, normalmente, um fator

limitante para sua utilização em apliCIÇões de engenharia.

Qualquer forma de eatruturlÇlo de dados que se destine a atender determinada

apliclÇlo deve ser capaz de retratar as rel1Ções lógicas que envolvem as entidades que

compõem o modelo que se deseja representar. Se eate relacionamento nlO for facilitado pelas

informações preaentes na eatrutura de dados, algorittnos adicionai} devem garantir a

consistência das operações que as manipulam.

As pesquisas tendem a caminhar na direção da adaptAÇIO de detenninadas estruturas

para atender às apliCIÇões solicitadas. Representam-se na estrutura de dados as informlÇões

fundamenlais para as operações pretendidas e suprimem-se outras, aem que se prejudique a

validade da representAÇIO.

Os modelos representados aqui utilizam estruturas cliferemes 1llS duas

implemerações feitas. A implementAÇIO do sistema de visualiuçto e odiÇIO do modelo

eatitico (EGSE) utiliza uma eatrutura com um mínimo de informações posafvel Objetiva-se

com isto obter um aistema capaz de llatar modelos completos de plalafmmas aemi·

submersfveis em ambientes com restrição de memória. Uma eatrutura auxiliar se faz neces­

aúria pua permitir uma visu•linçlO adequada do modelo.

O protóâpo desenvolvido para lrlnsfmmlÇIO do modelo estitico no dinlmico

(PANEL). posaui ds representações do modelo: arrasto, fronteiras e pain6is. Estas

Page 42: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

28

representações estio interligadas atravú de apontadores. A representaçlo por arrasto possui

todas as infonnações topológicas entre suas entidades (elementos, volumes, balizas e

vértices). As representações de fronteiras e de paino!is nlo possuem infonnações topológicas

entre seus elementos, estando ambas completamente apoiadas nas infonnações dos v6rtices.

3.l·UMA ESTRUTURA DE VETORES PARA EDIÇÃO E

VISUALIZAÇÃO DO MODELO ESTÁTICO

Para a representaçlo dos modelos de estabilidade est4tica das plataformas semi­

submersfveis sob a forma de amsto, a hierarquia determinada pelas entidades (elemento,

volume, baliza, vértice) deve ser determinante no planejamento da estrutura de dados. Para o

sistema de edição e visualizaçlo do modelo est4tico (EGSE) idealizou-se uma estrutura, a

Estrutura de Dados Principal (EDP), que procura retratar a hierarquia do modelo de arrasto.

Viste que a EDP nlo se mostra adequada para algmtmos .de visualizaçlo, foi

ideali•ada também uma estrutura de dados paralela l EDP e que 6 montada a partir dela, a

Estrutura ele Dados de Visualizaçlo (EDV). Esta estrutura consiste basicamente de uma lista

de faces e uma lista de arestas das fronteiras dos volumes da plataforma. Ela tem por objetivo

tomar mais viável o funcionamento dos algmtmos ele visuali"'Çlo do modelo (rolaÇões,

linhas ocultas, superlfcies ocultas) e tomar mais lgil a interface com o aistema grUico GKS·

2D.

Ambas as estruturas foram implementadas na linguagem FORTRAN e trabalham

com vetores de endereço& (apontadores) e vetores de identific1çlo (fndices). O. vetcres de

endereços 1pODtam para os vetores de identificaçlo do mesmo nfvel e llo referenciados pelos

vetores de fndices do nfvel imediatamente superior. A figun 3.1 ilustra de forma pn6ric&

este procedimento.

Page 43: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

caracter•• indicador•• do n1val

11 1' 41 EN>eM

11 1 1 UN>e M 1 • jl l

61 1

~I

29

N!VEL SUPERIOR

l 1 41 :!I 6l 7181911011q ..... 1-­

l N!VEL INFERIOR

Figura 3.1 ·Vetores das estruturas de dados.

llETOR DE

ENDEREÇOS VETOR

DE !NDICES

&ta técnica de annazenamento em vetores é análoga a usada para annazeriamento

em perfil (skykline) de matrizes que apresentam grande esparsidade (quantidade de zeros).

Uma explicação detalhada destes procedimentos pode ser encontrada em [VEL086).

Assim como as matrizes esparsas podem ipresentar um perfil muito variado, as sub.

entidades que iepresentam os elementos da plataforma variam muito em nómero. Um

elemento é formado por um ou mais volumes, um volume é formado por duas ou mais balizas

e uma baliza pode ser formada tanto por ris quanto por trinta vértices. Observa-se enfio que

se fosse adotado um nómero múimo de entidades em cada nível, e se fiz.esse o

annazenamento em uma matriz, o seu grau de esparsidade e o consequente despenlfcio de

memória seria muito grande.

3.1.1 ·A ESTRUTURA DE DADOS PRINCIPAL

A figura 3.2 mostra os nfveis hilrirquicos para as entidades da Estrutura de Dedos

Principal do modelo es1'tico. A figura 3.3 1PJeSC111a esta hierarquia ICl'eSCida de atributos, na

forma de vetores de endereços e vetotes de índices.

Page 44: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

30

O llstema 1erenclador da EatrutW'l de !>Idos Principal (El>P), foi implementado de

maneira a conseivar esta hierarquia a cada wefa de alteraçlo, ou 1eja, IC wn volume 6 re­

movido, todas as suas balizas e os v6nices destas balizas alo tamb6m removidos.

PL.ATAFORl1A ( Prefixo do Arquivo.int )

T EL.E11ENTOS

( Conjunto• da volumas )

T VOL.U11ES

( Pri•m•• ou Cilindros )

-i BAL.IZAS

( Conjuntos d• v6rtic•• )

T Vf;RT!CES

C Ent• ;eom6trico 30 )

Figura 3.2 • Níveis hiettrquicos da EDP.

Os detalhes IObre a implementaçlO FORTRAN desta estrutura podem ser

encontnldos no çendice B desta cliasertaçlO.

Page 45: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

E L E

" E N t o s

31

"EL • N~~•'D ~•·J•c •• •l• .... ~tD• D•r•1tleo IL. TNIPIE.L J

e'ZiLUl"I~ • iRAC'E .~, v .............. ENEL ('1EL >

]' i' •I ~Ji!l'il''IS?'il······ I 1

UNEL.t••ML.l • 1 .....

1 . ...i::E====~ - ------------------------------------------------------------------------VOTN{HVOl llt)PCC8."YO>~ ~ • . f0:LÜP'IN 't- . . . . . BRAtE Af'T ~h .: .. :. . . .

~ . . . . . . . . . . . . . . . . . . ..

.o

o ~oc1..11:s,,.,vc>H. 1!.'m· !l L

u . . . . . . . " 1. . . . .

'"" . .

E 1 • .o .o . . .o . . 5 . . . . . . . . . . . . . . ..

ENvPl"VO> 1 j' j' il !11~!~!27!~1··•••1

L.. ~ !

-------~~~~~:~~~~-f~-~:~-~~-~~-~~-:~~:~~~~~~~~~~------------ -----~ ENSP!"B•~I il ;t•• :-ro ~:i~~- ~· b•Hu• .. roiU1'•o z UN8P(41"BA> 6 •••• ••. .

• • s UNIC( 32t1'1VC >[ r -1r1~2~1""'•~1-•TT1-•r1~•Ml'"""'"f~s~1-..... 1-.-.-.-.-.-.-.-1

-'-------------------------------------------------------------------

COVPC3.ttYE> 1

Figura 3.3 ·Vetores da EDP.

Page 46: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

32

3.1.2 ·O SISTEMA GERENCIADOR DA EDP

Para uma implementaçlo consistente de um sistema gerenciador de dados, cuidados

devem ser tomados no sentido de tomar o código ao mesmo tempo eficiente e aciJ de desen­

volver, manter e portar.

As funções que compõem o gerenciador devem realizar operações que permitam

realizar uma manipulaçlo consistente da EDP, devendo também ser as llnicas a ter acesso a

esta estrutura (encapsulamento). Além disto é interessante que se implemente o grupo de

rotinas do gerenciador em um uquivo separado do resto do sistema (modularir.açAo ), o que

facilita a etapa de depuração de erros e prováveis alteraÇões futuras. Estando estas funções em

um módulo que tem acesso exclusivo à estrutura de dados, podem ser feitas alterações,

mantendo-se sua funcionalidade, tanto na estrutura quanto no gerenciador, sem prejuízo para

os outros módulos do sistema.

Optou-se entlo por dois grupos de funções para o gerenciador: as Mslcas e as

lntennediArias. O grupo classificado como "'8ico é o 11nico a alterar as variáveis da EDP e é

responsável por sua consistência topológica.

O grupo intermediário facilita as rotinas de di41ogo do editor a ae comunicar com as

rotinas do nível "'8ico. Estas rotinas podem ainda tratar das incoosistências geométricas do

modelo.

A figura 3.3 mostra a a organizaçlo modular do sistema de gerenciamenro.

Page 47: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

DIALOGO COM O USUÃRIO

CONSJST!:NCIA

33

/ l ~ CRIAÇAO CONSULTA REl10ÇAO

~ l / ~, -E-DP--,

NtYEL INTER11EDIÃRl0

N!YEL BASICO

Figura 3.3 ·Módulos do sistema de gerenciamento.

As funções do túvel bisico trabalham apenas sobre as varitveis da EDP, criando,

iemovendo, alterando ou consultando seus campos de maneira a viabilizar o funcionamento

das operações do Nível Intermediário.

Para a entidade vértices existem as funções de criaçlo, consulta, translaçlo e

remoção. A função que cria vértices recebe coordenadas X,Y :Z no espaço do objeto e retoma

um identificador para a posição. Antes de alocar uma nova posição (identificador) no entanto,

6 feita uma busca nas posições já armuenadas para investigar se a posição já es1' sendo usada

por outro v6rtice. Se a posição já estiver sendo usada por outro v6rtice, a função incrementa o

uso desta posição em uma unidade e retoma o seu identificadcr, sem que nova posição seja

alocada.

A rotina de iemoção de v6rtices reduz em uma unidade o uso da posição. S6 6 feita a

liberaçlo do espaço ocupado pelo v6rtice se o seu uso atingir o valor zero.

A rotina de translaçlo efetua as duas operações .i' descritas: nomoçlo e criação de

posiçlo. Para que ela funcione devem aer passados como parlmetros apenas o seu identifi-

Page 48: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

34

cldor e os valores du 1ranslações, sendo retomado um novo identificldor pira a posiçlo

desejlda.

Neste procedimento deve-se ter cuidado p1ra que se mantenha a independtncia

geométrica existente en1re as entidldes de rúveis superiores. Ou seja, ao se translldlT um

vmice de um volume que tenha posições compartilhadas com oulro, deve-se alocar uma nova

posição para este vértice sem se alterar as coordenldas dos vmices do oulrO volume.

A consulta recebe o identificldor da posiçlo e retorna as coordenadu do vmice no

espaço do objeto.

Para os rúveis superiores ao de vmices as funções búicas alo as de criaçlo,

remoçlo, consulta, inserção de novas entidades, e alteraçlo de índices ou atributos.

As funções de criaçlo recebem os índices que formam as entidades e os demais

atributos presentes em clda rúvel, retomando um identificador p1ra preenchimento do rúvel

superior. Assim a criaçlo de uma entidade deve ser feita sempre de "baixo p1r1 cima" na

esO"utura hierárquica.

Como o posicionamento de uma dada entidlde topológica nos vetores depende das

entidades anteriormente criadas e afeta todas as entidades criadas posteriormente, a remoção

de entidades passa a ser um problema neste tipo de es!rutura. O método encontrado p1r1

remoç&o de entidades topológicas foi criar um vetor paralelo ao mlmero de cada entidade

indicando se ele está ativo ou se foi removido. A funçlo de remoç&o acessa o vetor do rúvel

requerido (balizas, volumes, elementos) e faz chamldas pua as funções de remoç&o de nfveis

inferiores. Assim ao se retir1r um volume as baliuis penencentes l ele também alo mlttadu

como removidas e os vmices destas bali1.1S tem seu uso Rduzido.

As consultas podem ser feitas por identificador ou por algum llributo que identifique

a entidade, sem ambiguidades. Slo retomadas todas as informações disporúveis sobre a enti­

dade.

Page 49: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

3S

A maior deficiencia da estrutura de dados implementada pode aer encontrada pela

dificuldade em alterar IS posições originai& du entidade& criadas. A& funções de&tinadlS a

in&erir novlS entidade& ilu&tram e&ta dificuldade.

Para exemplificar, a figura 3.4 ilustra o funcionamento da funçlo

in&ere_ vbúce_em_baliza. Supõe-se que se deseja inserir um novo v6rtice com identificador

61 na segunda posiçlo de uma baliza com identificador (índice) igual a 2. &ta inserçlo

implica em movimentar todo o vetor UNBP a partir da posiçlo 6 e comgir todo o vetor de

endereços a partir da terceira posiçlo.

EN8P

•1 -

•2 -

•3-

•4 - 1~

UN8P

1

2

3

4

b

7

e

10

EN8P

lb

fiaura 3.4 - Jmerçlo de um vútice em baliu

UN8P

1

2

3

61

b

7

e

A& funções de alteraçlo de fndice& substituem os fndices de detenninlda entidade

pelos índices presentes nos parlmetros. A alteraçlo dos C11Dpos reservados para os atributos

tem funcionamento identico.

A& funções do nfvel intennec!Wio nocebem commlos do aistema de clWogo com o

usumo e talizam chamadas à funções do nfvel búico para Jea1izar IS macro-cipcrações.

t importante ressaltar que suas operações &6 alo feitas atravEs dlS funções do nfvel

búico, aem que nenhuma delas possa acessar dUetamente a EDP.

Page 50: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

36

As operações que estas funções realizam alo especificas da aplicaçlo e consistem de

Cópia, Oiaçlo, Translaçlo, Espelhamento, Remoçlo e Alteração de atributos de entidades

em todos os nfveis da esttutura de dados do modelo.

3.1.3 ·A ESTRUTURA DE DADOS DE VISUALIZAÇÃO

Com o objetivo de agilizar o funcionamento do sistema, diminuindo o tempo de

resposta dos algoritmos e viabilizando a interaçlo com o usullrio e o funcionamento dos

algoritmos de linhas e superf!cies ocultas (capitulo 4), foi iduliuida uma esttutura de

visualizaçlo formada por uma lista de arestas (segmentos de reta) que ~ capaz de representar

o modelo de linhas, e por uma lista de faces que representam as superf!cies que formam as

fronteiras dos volumes do modelo.

Para a lista de arestas foi adotado um armazenamento compactado dos dois fndices

dos v&tices da aresta em um 1!nico valor inteiro (4 bytes). Os fndices de menor valor ocupam

os dois bytes mais significativos e os de maior valor, os dois bytes restantes. Esta forma de

armazenamento permite uma ordenaçlo da lista de arestas por seus índices, tomando possível

a eliminaçlo de arestas repetidas e otimizaçlo do funcionamento dos algoritmos que usam

esta lista.

Pira a lista de faces foi adotado um armuenamento parecido com o dos índices das

entidades da esttutura principal (EDP). Esta lista possui dois vetores de endereçamento e um

vetor com os fndices dos v&tioes. Um vetor indica a posiçlo inicial (fcs) e o outro a posiçlo

final (foe) no vetor de fndices de v&tioes (figura 3.S).

&te armazenamento terna mais f6cil a tarefa de 1roca de duas f1Ces de posiçlo usada

flequentemente pelo algcritmo de remoçlo de superf!cies ocultas.

Page 51: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

37

FCS FCE 1••• •1

1 I\ 1\

FCU l101! 30!li!S! li 21 3! '1! lOI

Fi3ura 3.S ·Vetores da lista de foces.

A estrutura de dados de visualizaçlo deve ser montada a cada mudanda de projeção

ou alteraçlo da estrutura de dados principal na fase de ediçlo. Isto porque além das

informações iopológicas, esta estrutura possui informações geométricas sobre a projeção

corrente.

As rotinas que gerenciam a estrutura de visualiuçlo também foram implementadas à

parte do código principal, com o objetivo de pennitir facilidades para possíveis alterações.

3.2 ·UMA ESTRUTURA DE DADOS PARA TRANSFORMAÇÃO NO

MODELO DINÃMICO

As dificuldades de manipulação enconndas na implemenl&Çlo das listas da EDP e

EDV, discutidas na aeçlO anterior, levaram l decislo por uma nova implemenl&Çlo baseada

em apontadores e lfJtas duplamente encadeadas. As listas mnazenam as e1J1idades de um

nlvel e o uatamento hiri"quico do modelo de llTISto 6 feito llrlvá cio uso de lpOlll&dcres

para as listas das difmntes entidades.

O manipulador de listas usado 6 formodo por quatto funções ~. inserir primeiro

elemento (Dll_first), inserir elemento em determinada posição (OIJ_link), iemovcr elemento

(Dll_unlink) e consultar detenninada posiçlo (Oll_query). Qualquer q>eraç1o que ae faça

com a estrutura de dados consiste em uma aequência destas funções.

Page 52: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

38

A estrutura de dados do programa J> ANEL possui tres nlveis de repreaentações do

modelo da plataforma:

• a representação por arrasto (sweeping model);

• a estrutura de fronteiras (boundary model);

• a descrição por pain6is (panei model).

A organização hierirquica dos elementos de cada representaçlo, mim como os

apontadores dos diversos nlveis e entidades topológicas, slo mostrados na figura 3.6.

ARRASTO FRONTEIRA PUllEIS ... ... . ... •10 tmJCI

... •ict

Figura 3.6 • Estrutura de dados do J> ANEL com informações hierirquicas e de ldjdncias.

Na estrutura de arrasto Cid& entidade possui um apontador para a ccmspondente

imediatamente inferior ("filha") e outro para a imediatamente superior ("mie"). Todas estio

organizadas em uma lista duplamente encadeada e cin:ular, de maneira que dado um

apontador para uma entidade qualquer, consegue-se todas as informações solR as entidades

acima e abaixo desta.

Deve-se notar que na estrutura proposta na figura 3.6 dois vbticcs de belius

distintas que ocupam a mesma posição lllo armazenados aepuadamente. Para 1e evitar esla

Page 53: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

39

dupliclÇlo de coordenadas, E necesdria a adoçlo de um esquema distinto para o tratamento

de balizas e vErtices. Isto implica na criaçlo de duas novas entidades topOlógicas: ciclo de

vfrtlces e dclo de balizas. Os ciclos de v6rtices cont6m a informaçlo dos v6nices de uma

dada baliza e os ciclo de balizas indicam as balizas que utilizam detenninado v6nice. A

entidade v6nice neste esquema pode ficar armazenada em uma lista separada sem repetições.

A representação de fronteiras 6 composta por faces e arestas. As faces llo formadas

por vetores de apontadores para os v6nices do modelo de arrasto, estando organizadas em

uma lista. As arestas, por sua vez, possuem dois apontadores para estes v6rtices e também

formam uma lista independente. Como não existem apontadores face->aresta, aresta->face,

v6nice->face e v6nice->aresta, estas adjacências não podem ser obtidas diretamente. Estas

informações só podem ser obtidas atrav6s da pesquisa exaustiva nas listas.

O nfvel de painéis possui organização idêntica à eslrUtura de dados de fronteiras. Os

novos v6rtices são criados a partir de um mapeamento dos v6nices das faces da eslrUIW'a de

fronteiras. Para reduzir o espaço de memória. estes v6nices são armazenados em uma lista

aem iepetições e sem apontadores para nenhuma outra entidade.

Nlo existem apontadores enlre as entidades gráficas que compõem estas duas

eslrUturas (fronteiras e painéis). Isto se justifica pelo fato de Dlo se pretender dar à estas

represen18ÇOes consistência topOlógica automática. O modelo de fronteiras pode RpreSentar

tanto as faces dos volumes individualmente quanto a fronteira global da pllllfonna. A

consistência inicial do modelo de painéis depende da consistência do modelo de fronteiras

que o gerou.

Utiliza-se estes níveis para visualização Jealista do modelo atrav6s dos algoribllos de

visualinçlo (linhas ocultas e superffcies ocultas). O algoribllo de 1uperficies ocultas (capitulo

4) modifica a ordem da lista de faces aem no entanto alterar nenhuma propriedade geomEaica

ou topológica de cada face individualmente. O algoribllo de linhas ocultas simplesmente leSta

cada aresla contra cada face do modelo Dlo produzindo qualquer alteraçlo nestas listas.

Page 54: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

A interligaçlo entre u entidades du diferentes representações o~ l seauinte

filosofia. Inicialmente monta-se a estrutura de arruto. Com base nu informações desta estru·

tura monta-se a estrutura de fronteiras e dai o~m-se um mapeamento para °' pai~is. A

qualq- momento pode-se alterar qualquer destas representações oem que ocorram

modificações automáticu nos outros níveis. Tal modificaçlo deve ser explicitamente

fornecida pelo usuário.

A implementação da estrutura de dados do programa P ANEL 6 mostrada no

apêndice B desta dissertação.

Page 55: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

4-VISUALIZAÇÃO DO MODELO

Um dos módulos mais imponantes de um 1istema gr«fico interativo que trata

modelos lridimensionais 6 o módulo de visualização. Ele 6 fundamental nlo 16 para o

desempenho do sistema mas tambE!n para a nlpida compreensão do usumo. A imagem

gerada deve esclarecer, sem ambiguidades, o objeto que se quer re~sentar.

O esquema aqui adotado foi desenvolvido para se trabalhar aobre um aistema gnlfico

búico bidimensional (GKS·2D). Este esquema se encarrega da tarefa de projetar e

determinar a visibilidade das arestas e faces do modelo. O sistema gnlfico é utiliudo no seu

nível mais básico apenas para promover a portabilidade entre diferentes equipamentos.

A primeira parte deste capítulo contém uma descrição do módulo de projeções

implementado para visualizar o modelo estático (EGSE) e posterionnente para gerar o

modelo din&mico (PANEL). Seu esclarecimento é fundamental para o entendimento dos

algoritmos de linhas ocultas e superffcies ocultas e do sistema de interface com o usumo,

onde através da loc•li•açlode um ponto na tela se faz a escolha de um objeto no espaço

lridimensional. Os algoritmos de linhas ocultas do apresentados no final deste capítulo e os

algoritmos de seleçlo se encontram no apêndice A.

Os algoritmos de superfícies ocultas implementados neste trabalho foram o de

Newel, Newel e Sancha ([NEWE72]), descrito por Foley e Van Dam ([FOLE86]) e o de

Partição Bin6ria das Faces (Bywy Space Partition), idealizado por Fuchs ((FUCH80]) e

descrito por Harrington (IHARR87]). O funcionamento destes algoritmos, suas limitações e

vantagens podem ser encontrados na dissertaçlo de mestrado de Waldemar Ceies Filho

(ICELE90]). Nlo alo por isto, discutidos aqui.

á importante salientar, que o algoriuno de Newel, Newel e Sancha, que 11e baseia em

ordenação das faces por profundidade, nlo atende ao modelo em questlo, enquanto que o de

Fuchs, tpesar de resolver qualq- tipo de modelo no que 11e refere l profundidade das faces,

apresenta problemas no desenho de suas fronteiras e nlo é capaz de gerar imagens corretas

para as traçadoras de pena.

Page 56: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

42

4.l • O SISTEMA DE PROJEÇÕES

O sistema de projeções implementado (EGSE e PANEL) ldota um modelo que

efetua a projeçlo para o espaço 20. para posteriormente nalizar u anfu de cerceamento

(clipping) e transfonnações consecutivas até u coordenadas finais do dispositivo, como

mOltra a fiaura 4.1.

p

llC

, .. ,., ...... •roJtttdas

E 1 Ili, lt

llllSll ,., llC

lt llC

Ct•fft••h• ~.,,.. ln4••

r:v ~· r. •

..• if'""i•• p ,., *

CllSI

Fígwa 4.1 - Modelo de projeções adotado.

~

p

te

A título de comparação, mostra-se o modelo conceituai de transformações descrito

por Foley em [FOLE82]. Neste sistema efetua-se o cerceamento contra o volume de vislo

ainda no espaço tridimensional, iealizando-se em seguida u transfonnações bidimensionais,

como ilustra a figwa 4.2. F.ste cerceamento tridimensional pennite que se observe elementos

inicialmente ocultos por outros em determinada projeçlo. Pemtite tamb6m a observaçlo de

pertes internas dos modelOl.

,-L ~ Pu! i! •• .... • D D '"'t . D D llC llC llC * te

f'ilura 4.2 - Modelo conceituai .-rac1o por Foley.

Page 57: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

43

Para efetuar a projeçlo do modelo, utiliza-te uma das matrizes de projeçlo jf

determinadas (Ortoar,ncas, Coblrul, Isométrica ou Cavaleira), que estio explicitamente

declaradas no código do programa, projeta-se os v~ces da plataforma e determina-se a

janela que efetuari o ceroeamento com estas coordenadas projetadas.

As transformações para coordenadas normalizadas e coordenadas do dilpositívo alo

feitas atrav6s da determinaçlo da vista (vlewpon) e transfonnações para a estaçlo de trabalho

(workslation lransfonnations), via GKS·2D. Estas transformações determinam o grau de

deformação e a posição do desenho na superfície de visualização da estaçlo de lnlbalho

11tilizada. usualmente a tela do computador.

O sistema de eixos que define o espaço da platafonna (coordenadas do objeto), é um

sistema carteziano XYZ destrógiro, geralmente com origem posicionada no centro de simetria

do modelo. Esta posiçlo se explica pela facilidade de construçlo do modelo 811llv6s de

operações de cópias de volumes .por planos de simetria, uma vez que a maioria dos modelos

de platafonnas semi-submerslveis apresenta dupla simetria.

O sistema de eixos que posiciona as coordenadas no espaço projetado foi

denominado STR e é determinado pela matriz de projeçlo escolhida. Note-se que apesar de

uma projeção representar uma transformação do espaço tridimensional para o bidimensional

(plano ST), a terceira coordenada (R) é de fundamental importincia. Ela RplllSC!lta a

profundidade do v~ce no espaço projetado e serve para determinar que entidades ocultam

outras.

Ar. projeções obtidas com as matrizes clúsicas podem aer concalenadas com

matrizes de rotaçlo para que se simule uma mudança de posiçlo do observador. O que é feito

na tealidade é uma modificaçlo dos lngulos entre os sistemas XYZ e STR.

A figura 4.3 exemplifica uma rotaçlo ele 30 graus em tomo de X, seguida de 40

pus em tomo de Y e ele 10 pus em trono de Z. concatenadas com a projeçlo Coblnet.

Page 58: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

44

FigWll 4.3 • Rotação concatenada com a projeçlo Cabine/.

4.2 ·FUNÇÕES DE MANIPULAÇÃO DA IMAGEM PROJETADA

Uma vez que se dispõe da informação projetada num plano é importante prever

como funções do tipo detalhe (7.oom) e translação (Pan), devem ser incorporadas ao sistema.

Estas funções são importanteS para minimizar os problemas associados às linritações de

tamanho da superflcie de visualização.

4.2.1 • Detalhe (Zoom)

Através do apontamento de dois pontos na projeção, pode-se defuúr wna nova janela

baseada nesteS pontos, interpretando-os como cantos de uma janela de detalhe. Pretende-se

com este procedimento, mostrar çenas a pane do modelo que se encontra nesta janela.

IU duas opções para definição da nova janela. A primeira consiste em simplesmente

transfomw as coonlenadas lpOllladas na tela em coordenadas do objelo e definir uma nova

janela baseada nestes limites. Este procedimento muitas veus provoca uma distorção do

modelo inicial, se a janela definida nlo apresentar o mesmo aspecto (dy/dx) da transformaçlo

inicial.

A segunda maneiJa de se defuúr um detalhe no espaço 2D, pode ser obtida com o

seguinte conjunto de procedimentos:

Page 59: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

45

i) Computa-se os lidos, o upecto (dy/dx) e o centro d• nova janel1, com os

cantos fornecidos pelo usuúio;

ti) Compara-se o aspecto da nova janela com o aspecto da vista onde aerf feita 1

projeção;

ili) Calcula-se uma nova janela com o mesmo upecto da vista. Se o upecto da

janela for maior que o upecto da vista significa que a janela pode aer

definida pelo intervalo em y (dy). de outra fonna ela deve ser definida pelo

intervalo em x (dx).

A figura 4.4 mostra um exemplo do segundo procedimento, onde o usuúio

determina uma janela muito alongada e o programa apresenta o detalhe sem distorÇIO.

Figura 4.4 • Exemplo da funçlo detalhe.

4.2.2 • Função Translação (Pan)

Muito lltil entre 11 funções de manipulaçlo de vista em um listema ar'fico

interativo, a funçlo de translaçlo ou Pan apenas define interativamente uma nova posiçlo

para o cen1ro da projeçlo.

&ta operaçlo permite que se translade a projeçlo sem alteraçlo do upecto da janela.

Desta forma nlo se perde uma amplilçlo i' feita anteriormente. A figura 4.S ilustra este pro­

cedimento.

Page 60: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

46

Figura 4.S • Funçlo Pan.

4.3 ·ALGORITMOS DE LINHAS OCULTAS

Como o modelo de estabilidade das platafonnas semi-submersíveis é nonnalmente

fonnado por muitos volumes (100 a 200), com muitas interseções entre eles, a projeção do

modelo de linhas destas platafonnas é geralmente muito confusa (vide figura 4.6). Por isto, é

necessúia a utilizaçlo de algoritmos de visualiVIÇlo que esclareçam a geomettia da

platafonna através da remoção de linhas e faces ocultas.

Fig1n 4.6 • Modelo de linhas de plataforma semi-submcrsfvel.

Page 61: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

47

O problema de linhas ocultas (llJdtkn llM1) e auperflcies ocultas (h/4d#n 1ulfoe•1),

mualmente enquadrado na 6rea de tratamento de imagens rulistas (Rtnbrlnl), 6 abordado

por muitos autores ([NEWM8 l, FOLE82, PLAS86]). !!ates trabalhos, entrellnlO, enfatizam

muito mais os algoritmos de superllcies ocultas em detrimento dos algoritmos de linhas ocul·

tas. Justifica-se esta posição pela possibilidade de algoritmos de 1upeJffcies ocultas poderem

ser usados em tenninais de rastreamento para gerarem imagens com as linhas ocultas iemovi·

das. Para isto basta que a pintura da face aeja feita primeiro com a cor do fundo, desenhando­

se depois a sua fronteira. Este esquema porém, nlo ae presta para desenhar figuras em

traçadoras ele pena (muito comuna em ambientes de projeto) nem possibilita a obtençlO de

imagens com linhas ocultas traeejaclas.

Sutherland em [SUTii74b] apnosenta um levantamento dos algoritmos de linhas e

auperflcies ocultas desenvolvidos até 1973, classificando-os em nts categorias distintas:

espaço do objeto (o/ljecl space), espaço da imagem (imaft 1paee) e lista de prioridadel (líst

priorlly).

Os algoritmos da categoria espaço do objeto trabalham neste espaço, como sugere o

nome, ietirando daí inf01111açlles para projetar os llechos visfveis das faces. Estes algoritmos

têm a sua preciçlO limitada apenas pela piecislO do computador usado.

Os métodos classificados na linha espaço da imagem descrevem a cena com menor

precis10 e cletenninam o que é visfvel em detenninada m-e& do dispositivo em que a imagem

esti sendo gerada. usualmente uma matriz de pontos (pixeis}.

Os algoritmos do tipo lista de prioridades trabalham parcialmente nos deis domínios

e determinam uma ordem para converslO bidimensional das faces.

O objetivo desta etapa do piesente trabalho 6 gerar uma imagem com linhu ocultas

iemovidas nlo a6 nos monitom de vídeo (raster}, mas principalmente nas craçadoras

(Calcomp M84, IDD43, Versatec, etc). Por isto optou-se por algoritmos que trabalham no

espaço do objeto.

Page 62: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

05 modelos mencionados detenninam ainda que o alaoritmo aeja capaz de tratar

faces côncavas, com ndmero qualquer de vbtices, geometricamente desproporcionais e que

possam se interceptar das mais variadas formas. A figura 4.7 mostra algumas deltas situações.

1

• • • 1 • • • •

pertinência

a)

. ....-··"\ 1

1

cruzamento

b)

contenção

c)

Figura 4.7. Situações especiais entre faces e arestas.

1

l

V'1:ios trabalhos pesquisados que se enquadram na linha eapaço do objeto

([WARN68, LOUI70, WRIG72, GORDSO, Wl1T81, CHEU82, KRIP85, 1.087, RANK87,

W ALK88, LAMB89]) contém valiosas contribuições paia as aplicações a que se destinam.

Muitos aspectos do problema de linhas ocultas slo abordados, como o problema do c4lculo de

interseções entre duas arestas ([WITl'81,L087)), claasificaçlo de arestas e flces ([LOUMO,

GORDSO, CHEU82, KRIP85)), faces desconectadas ([L087]), subdivido da imagem

([l.087]), ordenação de interseções ([RANK87]), teste de peninencia de um ponto em uma

face ({LAMB89]) e outros.

A maioria dos trabalhos, en-to. procura aumentar a eficiencia dos algoritmos

utilizando princfpios de coer&ncia que restringem o escopo dos objetos que podem w

tratados. À exceçto dos trabalhos de Jansen ({JANS82)) e de Spilers ([SPil..86)), todos os

Page 63: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

49

outros 1111balhos investigados nJo pl!eCem 1er capazes de tratar os problemas exemplificados

na figura 4.7.

O algoritmo de Jansen foi implementado na PUC-Rio e no Centro de Pesquisas da

Petrobrú e se mostrou adequado para o tratamento de imagens de malhas de elementos

finitos ([MORE88J e [FONS89]). O IJllbalho de Spilers propõe uma modificaçlo no

algoritmo ele Jansen visando aumentar aua eficiencia.

4.3.1 ·O MODELO DE TRIÁNGULOS E O ALGORITMO DE JANSEN

Para utilizaçlo do algoriuno de Jansen com as arestas e faces do modelo de

fronteilas das plataformas semi-submersíveis, tomou-se necessllria a implementaçlo de um

algoritmo de triangulação de pollgonos.

As faces do volume do modelo de fronteilas que representam as balizas exttemas,

podem apresentar formas nlo convexas. Todas no entanto podem ser representadas em um

plano como polígonos limples (nlo entrecruzados). O escopo do problema tana·se enllo o de

triangulaçlo de um polígono simples sem geração de novos vértices em 1eu domínio.

O algoritmo proposto neste 11abalho se baseia em dois testes: o sinal do produto

vetorial de dois vetores que definem lreStas consecutivas e o teste de pertinencia dos vértices

no domínio do possfvel triingulo a ser formado.

A idéia ~ ietirar c:onsecutivamente trilngulos do pollgono a partir da '"'1ise de suas

l!eStas. Caminhando nas l!eStas do polígono no lentido anti-horllrio, duas arestu definem um

lrilngulo que pode ser retirado 1e o produto vetcrial da anterior com a postericr fcr pogitivo e

1e nenhum vérlice do polígono fcr interior a este trilngulo. Neste caso o trilngulo ~ formado

e o vh1ic:e comum às duas amtu em questlo ~ retirado da lista do polígono ainda a

triangular.

Se algum vérlice pertencer IO domfnio do trilngulo, eacolhe-1e o que 1e encon11a

mais perto do vérlice comum, subdivide·se a n>gilo de triangulaçlo em duas CCllleetando-se

Page 64: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

'

'º estes dois vhtices e fai-ae a chamada recursiva desle meamo procedimenlO com as duas liatas

criadas.

A figura 4.8 ilustra o funcionamento do algoritmo de triangulação implementado

com um polígono nlo convexo. Após o produto positivo entre 12 x 23 , encontra-se o vhtice

4 no domfnio do possível trilngulo 123. As frenles FI e F2 slo abertas, com a inlerligaçlo

dos v6rtices 2 e 4. A frenle F2 6 imediatamente fechada par possuir 3 v6rtices (TI •234). Na

frente FI cria-se, sucessivamente os trilngulos T2•124, T3•14S e T4-IS6.

3

6.----1 F1

2

T2

Figura 4.8 - Algoritmo de triangulação.

Oa resultados da aplicação do algoribno de triangu~o soln as flces do modelo de

fronleiras da pl818forma HUlL (exemplo 1 do capitulo 2), slo mostrados na figura 4.9.

Page 65: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

51

Figura 4.9. Faces do modelo HUlL lriangullldu.

4.3.2 • DEFICitNCIAS DO ALGORITMO DE JANSEN

Os resultados obtidos através do algoriuno de Jansen dependem da escolha das

tolerênclas para testes com ponto flutuante. Esta escolha varia com o computador utilizado.

O trabalho de Fonseca ([FONS89]) reporta resultados satisfatórios para modelos de elementos

finitos, em micros da linha PC.

A implementação desta mesma rotina nos sistemas deste trabalho apresentou,

eniretanto, resultados indesejáveis. Linhas que deveriam ser ocultas slo desenhadas,

enquanto ou1ras visíveis slo omitidas. A figura 4.10 ilustra este tipo de comportamento (Note

a vizinhança dos cbanfrol da colwia l direita).

fiaura 4.10 • AJaoriuno de Jamen pua o modelo HUU..

Page 66: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

O aparecimento das linhas indesejiveis mostrou 1er funçlo das tolertnc:ias ado!Adas.

Após iepelidas tentativas frustradas, decidiu-se tentar as modificações propostas por Spilen

([SPIL86)). Este trabalho substitui o teste com coordenadas baricêntricas, pelo teste com

equações paramétricas dos segmentos de ieta. Esta modificação Jeduz o tempo de proces­

aamento cio algoritmo, sem no entanto molver os problemas de ponto flutuante associados às

tolerancias.

Page 67: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

53

4.3.3 •O NOVO ALGORITMO DE LINHAS OCULTAS

O algoritmo apresentado aqui utiliza muitas tknicas presentes nos trabalhos

consultados mas possui um processo novo e bastante eficiente, que é o de determlnaç&o dos

trechos Yislvels de uma linha contra uma face qualquer.

O funcionamento aJobal é semelhante ao de muitos dos algoritmos citados. Partindo

de uma lista de aiestas e de uma lista de faces jt projetadas, o algoritmo testa cada linha do

modelo contra todas as faces a fim de determinar, passo a passo, seus trechos vislveis. Ao fim

do processo o algoritmo é capaz de desenhar ou armazenar os trechos visíveis da aiesta em

questlo.

As características principais do algoritmo são:

- Trabalha no espaço do objeto;

- Trabalha com faces (polfgonos) cõncavas ou convexas;

- As linhas não estlc necessariamente relacionadas com as faces, podendo

inclusive perfurar faces;

4.3.3.1- IMPLEMENTAÇÃO DO ALGORITMO

Partindo de uma lista de arestas, A•{al,a2,a3,. .. ,an} que descravem o modelo de

linhas (ai•{vl,v2)) e de uma lista de faces, F•{fl,f2,f3,. .. fn} que representam as auperffcies

opacas do modelo (fj•{vl,v2, ... ,vn)), o algcritmo testa cada ateSta contra cada face da lista

determinando, passo a passo, os trechos que a face não ocultou. Em seguida o algcritmo

determina a inierseçlo destes trechos com o conjunto de trechos visíveis da ateSta att o

momento.

t importante ragsa}tar que as coordenadas dos vértices que formam as ateStas e as

faces devem ieprasentar uma projeção qualquer com visualizaç&o no plano ST e que a

coordenada R·.de cada vértice é fundamental para a determinaçlo da profundidade de cada

objeto. Assume-se cjue o sistema de eixos STR é destr6alro.

Page 68: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

54

Uma vez que o algoritmo testa todas as linhas contra todas as f1ees do modelo, aua

ordem pode ser determinada pelo nómero de arestas das f1ees multiplicado pelo nómero total

de de linhu do modelo.

Para o ctlculo dos treehos visíveis, utiliza-se a equaçlo paramttrica (4.1) do

segmento de reta definida pelos vátices inicial e final da aresta.

" . "v1 • t < "v2

ond•: OS t S 1.

-. v1 )

) (4.1)

vl a v2 aao o• v•rtices inicial e f 1nal da •resta

()g trechos vilfveis da aresta alo armazenados em um vetor, denominado vetor de

visualizaçlo, por meio dos valores do parimetro t. Sendo assim, registram-se nas posições

ímpares do vetor de visualização os pontos de inicio dos treehos visíveis (start points),

reservand~se as posições pares para os pontos de témiino (end points).

O algoritmo trabalha com dois vetores de visualização, um global e outro local. Para

cada face determina-se o vetor de vísualizaçllo local para a aresta em questão. Após o cálculo

do vetor local, atualiza-se o vetor de visualizaçlio global por meio da interseção dos treehos

vilfveis, aendo que o vetor global t inicialiudo considerand~se toda a aresta como vilfvel.

O pseudo-código 4.1 esclarece a lógica global do algoritmo.

Unhas_ Ocultas (

}

para aresta = 1 8" aresta = n ( para face = 1 8" face = m (

)

Detennfna...trechol_vlslvels Olnba,face,llocal) Atualiza.. vetor..atobal (llocal,talobal)

Desenha..tnchos_ vlslvels Olnha,talobal) )

Pseud~õdigo 4.1 ·O algoritmo de Hidden Una.

Page 69: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

55

O processo de atualização do vetor de vilualizaçlo global pelo local está ilustrado na

figura 4.11.

INlCIO Al'OSFActn Al'OSFAct'2 •&•ta A.

~" jn 1

a.a tloctl 1.D a.a 0.3 a.e 1.0 O.D 0.1

a.a qlohtl l.D ll.O 11.3 11.6 UI a.o a.3 a.60.1 -Figura 4.11 - Atualização do vetor de visualização global.

Após percorrer todas as faces, obtém-se o vetor de visualizaçlo final que pode ser

então desenhado ou armazenado sob a forma de posições na cena (coonlenadas S e T) ou

ainda como objetos (segmentos) para o sistema gr4fico utilizado.

Se durante o ciclo de faces o vetor global se anular, significando que a aresta foi

totalmente escondida, o processo é inlmompido, passando-se à an41ise da próxima aresta.

4.3.3.2 ·O ALGORITMO PARA DETERMINAÇÃO DOS TRECHOS

VISfvEIS

O processo que detennina a cficiencia e a robustez do alg<Bitmo implementado é o

de detenninaçlo dos 11eehos visíveis de uma aresta.

A idéia do alg<Bitmo que se apiaenta é muito semelhante a do alg<Bitmo de

preenchimento de polígonos em dispositivos de rastreamento (Scan Convtrling Polyons)

descrito em [FOLE82J. Este alg<Bitmo trabalha na lista de vértices do pol!gono e determina

Page 70: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

56

oa trechoa da linha de pontos (scan·llnt) que ettlo no inlel'ior do polfgono, desenhando-oa em

seguida (fiaura 4.12). O algoritmo~ divido em llta paasoa:

1. Acha aa interseções da 1can·llnt com todas aa arestas do polfgono;

2. Ordena aa interseções em ordem crescente de coordenadas X;

3. Acende OI pontos (pixe/.s) enll'e-OS perea de inteneçõea.

y

Fece

Jt Figura 4.12 • Algmtmo de SCQll·Unes para polígonos.

O algoritmo desenvolvido trabalha no espaço tridimensional projetado (S1R) para

calcular 15 interseções da aresta contra aa bordas de uma face, determinando ainda a

visibilidade dos v6nices inicial e final da aresta durante o processo de c41culo dos pontos de

interseçlo. Ao retomar ao módulo de atualiuçlo do vetor de vilualizaçlo Jlobal, estio

presentes no vetor local os pares de pontos que nopresentam os trechos vilfveis da linha' contra

a face em questlo.

seguir:

OI paasos do algoritmo de detenninlçlo dos trechos visíveis alo oa nolaciOllldos a

1. Rotação do conjunto linha e face para a horil.ontal;

2. Olculo das interseções intennediúias e annazenamento das iJurseções l

esquerda e l direita dos v6nices;

Page 71: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

57

3. Testa de viaibilidade do v6rtice inicial;

4. Testa de visibilidade do v6rtice final;

S. Testa de paridade do vetor de visualizaçlo;

6. Ordenação do vetor de visualizaçlo local.

Os passos do algoritmo slo descritos aeparadamenta a seguir.

4.3.3.2.1 • Passo 1: Rotação para a horizontal

Para que a projeçlo de uma aresta fique na horizontal, coincidindo com a direçlo do

''raio" que cletarminará as inle11eções no passo 2, deve·se executar uma rotação na &Iesta e na

face em questlo de maneira que a &IeSta se tome horizontal com o v6rtice inicial à esquerda,

como ilustrado na figura4.13.

y to•Rotoolo

Roto•lo

X

Fipra 4.13 • Reuçio cio conjunto pua a borizcntal.

Esta rotação pode parecer a priori sem sentido ou desnoces5'ria. pois as intmeç(les

tamb6m poderiam ser calculadas com as coordenadas iniciais. No entanto esta rotaçlo 6 que

fornece subsídios ao algoritmo para clescanar a maioria dos casos triviais de nlo interseção e

tratar os casos particul&Ies de maneira mais eficiente.

Page 72: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

4.3.3.2.2 • Passo 2: Célculo das lnterseç6es lntermedl6rlas

Nesta etapa, além do c'1culo dos pontos de intemçlo intmnedimos da aresta com a

face, são armazenadas informações para detmninaçlo da visibilidade dos váüces inicial e

final, e J>ll1l identificação dos casos particulares.

O cilculo das interseções é feito em funçlo do parAmetro t da equação (4.1) no plano

de projeções ST, havendo necessidade de uma anlilise de profundidade feita com a

coordenada R dos pontos da face e aresta envolvidos.

No contexto do algoritmo, chama-se de ponto de interseção os pontos onde a aresta

passa a ser obscurecida pela borda da face (ponto de término) ou onde a aresta volta ou passa

a ser visível em relação à borda da face (ponto de inicio). Em ambas as situações, é necessário

que a borda da face esteja à frente da aresta, isto é, a coordenada R da borda da face deve ser

maior que a coordenada R da aresta para que este seja um ponto de interseção.

Para os casos em que as coordenadas R da borda da face e da aresta alo iguais em

um ponto de interseção, armazena-se o valor paramétrico da inle!leÇlo em uma vamvel

auxiliar (IZiero), não incluindo-o no vetor de visualização. A visibilidade tea1 deste ponto

(ponto de inicio ou ponto de término) senl determinada nos passos subsequentes.

Deve-se observar, ainda, que como o algoribno s6 trabalha com faces planas e

arestas Jel&S, a ocorrência de duas situações de igualdade das coordenadas R, significa que

face e aresta pertencem ao mesmo plano. Nestes casos passa-se à an'1ise da próxima face,

assumindo-se que a face conente nlo deve obscuncer a aresta.

Annazena-se ainda neste passo o nl!mero de interseções l direita do váüce inicial e

l esquerda do v6rtice final, para que a delerminaçlo da visibilidade destes vhtices posaa ser

feita nos passos seguintes (3 e 4).

A figura 4.14 ilustra o c41culo das interseções intermediárias.

Page 73: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

Vl1

59

lo lnttraeceo

' "'

' "4

..._ _________ ..... "5

Nao e Qonto de lntaraeceo pois Zfece e Zertste

Vtf

2e tnterseceo

Figura 4.14 • CQculo das inrmeções intermec!Wiu (3D).

4.3.3.2.3 • Passo 3: Análise do vértice Inicial

Nesta etapa do procedimento é verificado se o vértice inicial da aresta (~.O) deve

ou nlo ser incluído no vetor de visualização.

O vértice inicial s6 pode ser considerado ponto de interseção se ele for um ponto de

início de ttecho visível. Para que isto ocorra, há duas possibilidades:

a) O vértice inicial 6 um ponto externo à face;

b) O vértice inicial é um ponto interno à face mas Rvi>Rface, isto 6, a face es~

atrás do vértice inicial.

Para a determinaçlo dessas situações utiliza-ae o nómero de inlerseçtles l dileita do

vértice inicial calculado no passo anterior. Se este nWnero for par o ponto 6 externo l face e

imediatamente incluido no vetor de visuali•açto local. Em contrlplltida se este nllmero for

ímpar, indicando que sua projeçlo pertence ao domínio da face, compara-se sua coordenada

R com a C-OORlenada R da face naquela projeçlo, podendo ocorrer 1Jes situações: menor,

maior ou igual.

Page 74: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

60

Se a coordenlda R do vértice for a menor, o vértice nlo ' incluido no vetor de

visualizaÇIO, pois ele eati attú da face.

Se a coordenada R do vértice for a maior, inclui .. e o valar paramérrico i-0.0 no

vetar de visualizaçlo pois ele esti l frente da face.

Caso as coordenldas R coincidam, armuena-se o valar i-0.0 na vwvel auxiliar

(tzero), nlo incluindo-o no vetar de visualizaçlo.

4.3.3.2.4 • Passo 4: Análise do vértice final

Esta etapa é idêntica à anterior, usando-se ~m o nllmero de inteneçl!es à esquerda

do vértice final e o valar paramétrico t-1.0. A figura 4.15 ilustra os passos 3 e 4 do ai·

goritmo.

Vf dentro VI 1 Vf.

e zvr e Zfece estoo foro de roce

Vi Vi

VI oe11tro mes zv1 > Zfece

Figura 4.15 ·Análise dos vértices inicial e final.

Page 75: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

61

4.3.3.2.5 • Passo !: Teste de paridade do vetor de visualização

Deve-se notar que o m1mero de pontos annazenados no vetor de visualização local

deve ser par, pois este vetor define os trechos visíveis da aresta.

No entanto, se o nl!mero de pontos annazenados for ímpar, tamos duas situações

possíveis, dependendo da variável auxiliar (tzero) possuir ou nlo um parlmelro v'1ido, ou

seja, j' tiver sido detarminado ou nlo o ponto de coincidência de coordenadas R entre face e

aresta.

Se tzero contiver um parlmetro v'1ido (0.0<t<l.0), obteve-se. em algum dos passos

anteriores. um ponto de interseçlo onde a coordenada R da face foi igual à coordenada R da

aresta. Seu valor paramétrico é entlo incluido no vetor local de visuali•açlo e este é

considerado completo.

Se a variável tzero estiver com um valor inv'1ido, nlo houve igualdade das

coordenadas R dos pontos de interseção com a face. Neste caso, obrigatoriamemc, ocorreu a

situação em que a aresta perfura a face. O cálculo do valor paramétrico da aresta neste ponto

é feito em funçlo das distAncias dos vérticea inicial e final em ielaçlo ao plano definido pela

face. Este valor é então incluído no vetor de vis~alinção.

Vi

A figura 4.16 ilustra os casos de paridade ímpar.

Vf

1 ponto da lntersaceo tzaro = 0.60

Vi

1 ponto de lnt1rs1c110 tzero = ideflnldD

Figura 4.16 ·Casos particulares de paridade ímpar.

vr

Page 76: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

62

4.3.3.l.6 • Passo 6: Ordenaçlo do vetor de vlsuallzaçlo

Pode-se obseivar que o cilculo dos pontos de inte11eçlo foi feito de maneira nao

sequencial. Nesta etapa, deve-se ordenar o vetor de visualizaçlo, pois wim cada ponto de

inicio ICri seguido pelo ponto de t6imino correspondente, possibilitando a atualizaçlo do

vetor de visualização global de maneira coerente.

4.3.3.3 ·FILTROS PARA EFICitNCIA

Com a finalidade de diminuir o tempo de processamento do algoritmo, vmos

procedimentos podem ser incluídos durante o seu processamento ou na etapa de pré­

processamento.

Um pré-processamento no sentido de eliminar repetições de arestas e faces com

projeções negativas (back faces) 6 fundamental para o iendimento do algoritmo e

normalmente de f'i:il implementaçlo. podendo, ambas as tarefas serem feitas em ordem linear

com o mimero de arestas e faces das listas.

Algoritmos adicionais de ordenaçlo das listas de arestas e faces ([WlTI'81]) ou

annazenamento das listas em trechos da imagem ([l.087]) alo pré-processamentos que

podem reduzir substancialmente o tempo de processamento para cenas de complexidade

cmcente. Estes procedimentos podem ~lar de muita memõria, limitando a sua

utilizaçlo em equipamentos de pequeno porte.

O teste das coordenadas múimas e mfnimas (Bounding·bo%) no plano de projeçlo

da aresta an questlo com as COOldenldas mlnimas e múimas da face define se esta face pode

ou nlo ocultar a linha. Este tamb6m 6 um teste facilmente implementtvel.

Outro teste poasfvel 6 o de descartar faces que estejam totalmente ll!ú ele linhas.

Este teste pode envolver o cálculo da distlncia dos dois v6rtices da msta ao plano da face en-

Page 77: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

63

volvida. Se esta equaçlo do plano nlo far calculada e annuenada durante o pr6-

processamento, este le&te pode compromeler o rendimento do algoriuno como um ledo.

a aeguir.

O Pseudo-código 4.2 repre&enta o algoriuno com os filaos adicionais e eati de&crito

Unhas_ Ocultas {

}

para aresta = 1 ali aresta = n { para face = 1 ali face = m { Se TeateJrontelra Olnha,face) então {

} )

Se Teate_profundldade Olnha,face) então { Determlna_trechos_>lslvels(linha,face,docal) Atualiza_ vetor _global(docal,tglobal)

}

Desenha_trechos_>lslvels Olnha,tglobal) )

Pseudo-código 4.2 - O algoriuno com filO'O&.

4.3.3.4 ·EXEMPLOS

Nesta seçlo slo apresentadas as imagens dO& modelos que ilustram o funçionamento

do algcritmo. Todos os exemplos !aram analizados pelo EGSE e pelo PANEL, à ex<:eçlo do

exemplo de linhas que furam faces que foi gerado pelo POS-3D ([CELE90]).

Cun exceçlo do exemplo 1, as figuras que ae aeguem apiesentam nos flens (a) os

modelos com todas as linhas deaenhldas (Wire FrmM) e nos !tens (b) o modelo gerado pelo

algcriuno .,,,-esentado.

Page 78: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

64

O primeiro exemplo consta do lrlbalho de Wit1ram em [WJTI'82] e representa cenu

de complexidade crescente. Os cubos 110 gerados com espaçamento iauaJ ao lado e

dependente do mlmero de subdivisões (Figura 4.17).

O aegundo exemplo representa o modelo gerado pelo CENPES/PETROBRÁS

durante o programa de lrlnsfer&ncia de tecnologia entre a Petrolris e a OVA (Sistema

SESAM). Este modelo foi traduzido para o formato do arquivo de comunicaçlo e pode aer

visualizado pelo EGSE (Figura 4.18).

O terceiro exemplo ilustra a possibilidade do algoritmo em representar linhas que

perfuram faces e é um modelo fictício preparado pelo POS-3D ([CELE90]) (Figura 4.19).

O quarto exemplo é também um modelo de plataforma aemi-submersfvel atualmente

em análise pelo CENPES/PETROBRÁS, tendo a particularidade de possuir muitos volumes

internos e que se interpenetram (Figura 4.20).

O quinto exemplo é um sistema de produção de petróleo também do tipo aemi­

submersfvel que apresenta todos os elementos acima do convés e muitos cilindros de

contravenramento (Fig. 4.21).

Page 79: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

65

"L L • "l L. 71

l L L 1) ,..., t-

t- t-' l ..... ./ L. 7

..J:. ' L ·L.L "L L

r-1-" e. t- t- rJ--'

v ./ L L.....[ ....... t.1 ·1.

r-1-" vt- _;- i-V

Figura 4.17 • Exemplo 1 • 'Cubos de complexidade crescente'.

Page 80: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

66

(A)

~/ __ ~/

(8)

Figura 4.18 ·Exemplo 2 • 'Platafonna semi-submeBfvel (OVA)'.

Page 81: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

67

(A)

(B)

Figura 4.19 • Exemplo 3. 'Unhas que fw"am faces'.

Page 82: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

68

(A)

(B)

Figura 4.20 ·Exemplo 4 ·'Plataforma semi-submersível (0ER26)'.

Page 83: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

69

(A)

. • • • 1 1

1 : 1

(B) . . ' . . • • •

1 1

1 1 •

Figura 4.21 - Exemplo 5 • 'Plltafcrma semi-submcnfvel (PXIIl)'.

Page 84: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

Apresenta-se a seguir a Tabela 4.1 que fornece os tempos totais necadrios para a

ieraflo das imagens dos exemplos. Ali estio tamb6m relatados o nómero de amtas e faces

de cada um dos modeloo.

' Ntll'IERO NtlMERO TEMPO EXE11Pi..O DE DE PROCESSAMENTO

ARESTAS FACES ISEGl

&CUBOS .,, 24 2

27CUBOS 325 81 12

b4CUBOS 7b'I 1'12 55

125CUB05 HIOl 375 182

GVA 1281 357 152

FURA_FACES 45 8 l

GER-2b 1113 41b 181

P-XI 11 1771 3b7 275

Tabela 4.1 • Exemploo com tempos totais de processamento.

Os percentulis de cada passo do algoritmo, podem ser visuaJiud05 na tabela 4.2.

Page 85: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

71

llOTAÇXO ATUAL.IZAÇXO CAL.CUL.O TESTES EKE11PL.0 DE FACES DO VETOR DE DOS TRECHOS DE

E ARESTAS ' VISUAL. l Z AÇXO VISIVEIS FRONTEIRAS

&CUBOS 6 1 18 45

27CUB05 5 1 13 54

64CUB05 4 1 10 61

125CUB05 2 1 7 64

GVA 2 1 7 63

FURA_FACES - - - -GER-26 4 2 11 59

P-Klll 5 2 14 5b

Tabela 4.2 - Exemplos com as pon:entagens de cada passo.

Page 86: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

5·CONCLUSÕES

Este trabalho apresentou um modelo de ll'l'llto para repreaenllr OI volumes de

platafonnas aemi-submersfveis com duas p01Sfveis implementações: uma baseada em vewres

(própria para FORTRAN) e outra baseada em apontadores (própria para C). Acompanham

ambas implementações listas de faces e arestas que facilitam os processos de vilualizaçlo do

modelo.

Outro modelo apresentado foi o de elementos de fronteiras que representa a

superffcie molhada da plataforma. Um aspecto importante deste trabalho 6 o procedimento

sr6ftco-lnteratlvo para gerar este modelo a partir do modelo de arrasto que representa os

volumes. Neste procedimento estio incluidos: simplificaçlo do modelo (eliminaçlo de

detalhes), eliminação de faces internas (passagem da fronteira dos volumes para a fronteira da

platafonna), corte na linha d'4gua e geraçlo da malha de elementos de contorno.

Uma contribuiçlo importante deste trabalho foi o desenvolvimento do novo

algoribno de linhas ocultas apresentado no capfllllo 4.

Finalmente, deve-ae ainda destacar que este trabalho também procurou contribuir

para o lançamento das bases de um sistema grillco-lnteratlvo capaz de integrar os diversos

mopdelos para as arW1ises que ocorrem d1111111te o projeto de uma plalaforma aemi·

submersível. Deste esforço surgiram o Editor G1'fico para o Sistema Estabil (EGSE) para

visualização e ediçlo do modelo de estabilidade esWica e o programa para transformação

deste modelo no modelo de elementos de fronteiJU (PANEL). Ambos os sistemas foram

desenvolvidos dentro convenio de Computaçio Gnlk:a PUC/PETROBRÁS.

A representaçlo dos modelos, auas implementações e os procedimentos de

vizn•liuçlo permitem que ae tire algumas conclllSÕes adicionais.

Page 87: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

73

5.1 ·SOBRE OS MODELOS DE REPRESENTAÇÃO E SUAS

IMPLEMENTAÇÕES

A ldoção da represenllÇão por llTISto para os volumes dos modelos de platafonnas

confere muitas facilidades b tarefas do edição. t mais f4cil trabalhar com volumes

representados por balizas que com a represenllÇão de fronteiras (faces e arestas) dos volumes.

As operações do tipo eliminação de chanfros, por exemplo, feitas em uma baliza alteram as

balizas subsequentes automaticamente.

A estrutma de dados resultante da represenllÇlo por llTISto dos volumes é compacta

e permite a represenllÇão de modelos completos com pouco uso de memória.

A implemenllÇlo da estrutura de dados do modelo de arrasto em vetores

(FORTRAN) é bastante eficiente quanto ao uso de memória, mas a manutenção de sua

consistência 6 uma tarefa complexa que requer modularizaçlo do código e encapsulamento

dos dados. Entre as tarefas mais complexas de serem executadas neste tipo de implementaçto

estio: remover entidades e adicionar elementos em uma entidade.

A implementaçlo da estnn de dados através de apontadores (linguagem C) se

moslrou mais versátil e modular. O custo inicial de se lnltlr com estruturas de dados menos

comWIS nos modelos de engenharia se paga com a facilidade de desenvolvimento e

manutençlo que se obtém após as opeiações búicas estarem implementadas.

A adoção de listas duplameme encadeadas çesar de possuir uma redundlncia de

informações e consequente clespenllcio de memória, facilita muito a implemenllÇlo dos

algoritmos.

Oulras fonnas de 11muenamento tais como pilhas. vetem, malrizes, évores ou filas

poderiam ter sido usldas, possuindo vantagens e desvantagens. As pilhas e filas 1l!m contra li

a dificuldade de acesso a um elemento ou a seus ldjacentes, possuindo vantagens quanto ao

tamanho. Os vetores e matrizes c:onstiiuem uma execelente forma de lllllUelWllento quando

Page 88: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

74

nlo H objetiva um iratamento dinlmico da eslnltura. As frvores (binúias, 2·3, etc), oferecem

facilidades quanto à busca, ao annazenamento ordenado e l alocaçlo din!mica.

A 1ransfonnaçlo do modelo estático no dinlmico pode aer feita rapidamente airav6s

ele operações simples de eliminaçlo de volumes, chanfros e translaçlo de v6rtices. Nos exem·

pios estudados estas operações pareceram satisfatóriaa para cumprir estas tarefas.

Como o modelo estudado tem, entretanto, um grande poder ele tepJeSentaçlo e nlo 6

consistente geometricamente, nlo H pode afinnar que estas operações aerlo 1empre suficien·

tes para transfonnar o modelo estático no de painéis (dinlmico).

5.2 ·SOBRE O ALGORITMO DE LINHAS OCULTAS

Uma análise dos resultados das tabelas 4.1 e 4.2 leva a concluir que o tempo para

rotaçlo dos conjuntos (face+aresta) para a horizontal nlo compromete o funcionamento do

algoritmo.

Observa-se também que os testes ele fronteiras acabam absorvendo o maior tempo do

algoritmo. liberando muitas faces dos cAlculos geom6tricos do passo ele cleterminaçlo dos

trechos 'risfveis. Se, no entanto, forem suprimidos os lestes ele fronteiras os tempos

-'rios l geração da imagem aumentam da ordem ele 30 a 40 pootos peroeiib1ais, pois o

algoritmo de cAlculo de trechos visíveis ~nta imlmeros casos ele nlo inteneçlo lrivial.

O passo mais oneroso em tamos ele esforço compuracicnal para os algoritmos ele

linhu ocultas que uabalham no espaço do objeto está na cleterminaçlo dos trechos viafveis

das linhu conira as flces. Bate passo normalmente envolve o cAlculo das illlmeÇões da areata

com todOI OI Hgmentos que definem o COlllClmO das facea e o tratamento dos casos partícula·

res que o m6todo usado pode conduzir (tetas paralelas, v6rtices lloln o ContclmO, núiero

fmpar de pontos no Veta' de viau•liuçlO indicando inconsistençia ele trechos viafveis, etc).

Somando« aos problemas geom6tricos citados, nesta e11pa aurpm ainda OI problemas

Page 89: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

'' nummcos relacionados com a lll'itm6tica de ponto flutuante, levando o implementador a uur

tolerlncias que podem aer difíceis de determinar.

O algoritmo proposto ae mostrou bastante robusto na etapa de detenninaçlo dos

trechos Yislveis de uma aresta, reaidindo aí a 1ua maior vantagem, pois Ili~ de ter ae

mostrado vitvel em termos de tempo de proceaaamento (fundamental para programas

interativos), este passo 6 capaz de tratar 06 cuos particulares ao mesmo tempo em que

determina os pontos de interseção da aresta com a face.

O algoritmo ae mostrou abrangente o suficiente para tratar tanto 06 modelos de

plataformas semi-submersíveis, quanto modelos de elementos finitos em sua implementação

no programa POS-3d ([CELE90]).

Os casos em que linhas perflD'am uma ou mais faces também slo sistematicamente

tratados durante o processo de determinação dos trechos visíveis. Mais ainda, as linhas nlo

necessitam estar relacionadas com as faces, permitindo o uso do lllgoritmo em programas que

analizem fluxo pelo interior de volumes, como mostra o exemplo 3.do capítulo 4.

A idéia de ordenaçlo de faces apresentada por Wittram ([WITI'81]) e adaptada neste

trablllho para o tratamento de arestas parece reduzir a ordem usnalm"11te quadritica dos al­

goritmo de linhas escondidas.

Os tempos registrados para geraçlo de imagens com ~el gnw de complexidade

em microcomputadores da linha PC-XT-AT f<nm bastante ruo6veia viabilizando a

implementaçlo do lllgoritmo em programas de computaçlo P'fica intenliva nesies

equipamentos.

5.3 ·SUGESTÕES PARA TRABALHOS FUTUROS

Pila que ae complete o estudo de Yisu•liZl(to tridimenlional cios modelos

pom61ricos de plataformas, poderia aer jmplementado um aJamitmo de remOÇlo de

1uperffcies oculw com efeito de iluminaçlo. Bate alJoritmo nlo deve ter sua aplicaçlo

Page 90: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

76

restrita pelo uso de coerenciu do modelo, de maneira a aer aplicivel tanto na visualizaçlo do

modelo es!Atico quanto no de pain6ia e att em outros aistemu que funcionam em ambientes

com baixa capacidade de processamento.

Estudar a possibilidade de adaptaçlo dos modelos de construçlo (CSG) para a

an41ise es!Atica de estabilidade. De uma fonna mais abrangente, o estudo de uma *nica consistente de modelagem geom6trica para os modelos de platafonnu.

Investigar as infonnações topológicu adicionais a aerem incluídas nas

representações de fronteiras (faces e arestas). que facilitem a geração e edição da malha de

elementos de contorno.

Incluir tarefas de pós-processamento e discutir a integraçlo das an6lises de

estabilidade e estrutural, em um ónico sistema.

Page 91: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

APtNDICEA

OS ALGORITMOS DE SELEÇÃO

A fim de permitir ao usuário o apontamen10 de uma entidade do modelo da

plataforma. no plano projetado atravi& do dispogitivo de locator do OKS, foi desenvolvido

um algoriano que identifica, atravi& das coordenadas deste pon!O, aobre que volume o usu6rio

se refere no modelo ll'idimensional.

O algoriano apenas calcula que face do modelo de fronteiras, se encontra mais perto

do usumo. identificando a seguir, a que volume e elemen10 esta face penence.

A seleção de elementos nlo visíveis (na projeção) ou internos a outros pode ser feita

atrav6s da seleção em diretório.

A.1 ·O ALGORITMO DE PICK·FACE 3D

. Apresenta-se a seguir o algoritmo que permite a escolha de um volume da

plataforma no espaço projetado da tela. O primeiro passo do algoritmo 6 determinar as faces

que contán o pon10 determinado pelo usumo (Pick-Faee-2D). Este procedimen10 6 descrito

naseçãoA.2.

O aeguinte conjunto de procedimentos explicita o funcionamento do algoritmo em 3

dimensões:

• Selecione todas as faces que conthn o pon10 do usumo;

-Apanhe a face que es~ mais próxima do usumo;

·Determine o volume que cont6m eata face.

O primeiro passo do algoriuno consiste apenas em perçoner toda a lista de faces,

separando em uma lista auxiliar as que conthn o ponto determinado pelo usumo.

O aegundo passo pode aer feito oom o auxflio das equaçees normaliudas dos planos

decadaúce:

Page 92: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

78

aS+bT+cR+d•O

Se calcularmos a equaçlo do plano de cada face com IS coordenadas projetadas dos

v6rtices, teremos condições de calcular a coordenada R do ponto sobre cada face da lilta

auxiliar. A filura A.l 11Clm.

T ri· F2

13 ) 12 ) 11

F3 ·afreate

1

Figma A. t • Deienninaçlo da face de Pick.

B1Sta entlo selecionar a face que possui maior coordenada R na projeçlo corrente.

O teroeiro procedimento do algoritmo consiste em, de posse da face mais próxima.

buscar na eatrutura de dados que volume contmi esta face.

Na implementaçlo do EOSE nlo b6 infonnaçlo uplfcita de adjdnciu volum11-

>face, fazendo.se neceaúria a C<llDpll'IÇlo dos fndicea dos válicea da face C<llD os fndices

dos válicea das balizas.

Na implementaçlo do programa P ANEL IS adjdnciu volum11->face eallo

JnHlllel aob a forma de apontadores, permitindo que eata determinaçlo seja feita

imediatamente, sem a necessidade de algoritmo adicional.

Page 93: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

79

A.2 • PICK·FACE 2D (TESTE DE PERTINtNCIA DE UM PONTO EM

UM POLfGONO)

O teste de pertinencia de um ponto em uma regiJo poligonal qualquer, é fundamental

para o funcionamento de divmos algoritmos em geometria compullcional. Bate leSte deve

funcionar rapidamente para tornar vi'vel algoritmos que pieciaem dele ~tidas vezes.

O algoritmo que aqui se apresenta é baseado no nlimero de interseções que um aemi­

eixo horizontal ("raio"), com origem no ponto testado e direçlo positiva do eixo horizontal

faz com as fronteiras ("arestas") da face em questlo (Figura A.2).

A sua lógica se baseia no fato de que a cada cruzamento com uma aresta, o raio entra

ou sai do domlnio da regilo. Desta forma. após contar o nlimero de interseções do raio com

todas as arestas da face, teremos:

- Se o nlimero de inte11eções for fmpar, o ponto pertence ao domínio da face;

- Se o nlimero de inte11eções for par, o ponto está fora do domlnio da face.

ll. importante ressaltar que o algoritmo funciona para polfgonos aimples (nlo

entrecruz.ados), convexos ou cõncavos, porEm nlo é capaz de identificar os casos em que o

ponto está sobre a fronteira da regiJo.

y

, "' ............. , -- ....... ----~

Nt • Jflfen•fln•t-fllHto •• ,.,.,

1 r ----.

J(

Pipa A.2 • Algc:ritmo de f'/d. .}tlct .)D.

Page 94: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

80

O pseud~código do algoritmo é apresentado a seguir e o tratamemo dos casos

especiais de interseçlo slo ilustrados nas figuras indicadas l direita do pseudo-c6digo.

PickJact (fac:e,ponto) 41lnterseç6el = O Para cada aresta da face Se ( (aresta nlo for horizontal) e

(aresta não estiver acima do ponto) e (aresta não estiver abaixo do ponto) e (aresta nlo estiver à esquerda do ponto))entAo

Se { lo vértice estiver na mesma cota do ponto } entAo Se { (lo vértice estiver à direita do ponto) e

(2-ovértlce estiver acima do ponto) } então tllnteneç6es = tllnteneç6es + 1 Fim Se

Senão Se {lo vértice estiver na mesma cota do ponto } então Se { (lo vértice estiver à direita do ponto) e

(lo vértice estiver acima do ponto)} então tllnteneç6es = tllnteneç6es + 1 Fim Se

Senlo Se (2 vértices estiverem à direita do ponto } então 411nteraeç0es = tllnteneçOes + 1 Sento Se ( Teste geométrico de lnteneçlo } entAo 41lnterseç6es = tllnteneçOes + 1 Fim Se Fim Se

Fim Para Se ( tllnteraeçOes é par } entAo Pick./«t = dentro Senão Picl:Joct = fora FlmSe Fim Pici.J«t

Pseudo-código A.1 -Aigcribno de Pict-Foct.

Fig. A.5

Fig. A.6

Fig. A.7

Page 95: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

81

• Ur1ssit.al ..... ...... a a1prda

• - / ___-.;: . -- -

FigW'I A.3 • Casos triviais de descarte.

y 92

91

Figura A.4 • lo vénice na mesma cota do ponto.

y

n

PigW'I A.5 • 2o vénice 111 mesma cota do ponto.

Page 96: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

y

Yl

82

y 91

\ 92

Figtll'a A.6 - Pois vértices à direita do ponto.

Ba int.eraecao

92 T

92

Jlao lia interaecao 91

Quase todos os testes descritos no algoritmo envolvem apenu comporlÇl5es de

coordenldu, apeou o caso nlo trivial de inteneçlo (figun A6) exige operaç&I com ponto

flutuante.

OI c:6diJos FORTRAN e C desta implementlÇlo do algoritmo 111o apnsentadoo a

eesuir.

Page 97: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

83

• PlckFace (cocllao FORTRAN) • Testa R am ponto pertece 10 Interior de um poll1ono llmples

1oa1C11 l'llncdon PlckFace( nvf, xf, yf, xp, 1P ) lnte,er•2 nvf 1 Numero da face em questao (E) real d{•) 1 Coordenadas X da face [E) real ;ri(•) ! Coordenadas Y da face [E) real llPJP 1 Coordenadas do ponto leitado [E) real r, xc, dx lnteae~2 1, fst, pl, p2, nl

nl = 1 ! Inicializa o numero de pontos de lnlersecao flt=•vf doll=l,nvf pl=I p2=fst Ir( (.aol.(11'(p1).eq.yf(p2)) .anel.

+ (.aol.((11'(p1).gt.yp).and.(yf(p2).gt.yp))).and. + (.nol.((yí(pl).ll.yp).and.(yf(pl).11.yp))).and. + (.aol.((xí(p1).lt,xp).and.(xf(p2).ll.xp))) + ) Cllen

lf(;rl(pt).eq.yp) then ! 1· Ponto na mesma cota lf ( (d{pl).gt.xp) .and. (11'(p2).gl.yp)) nl = nl + 1

else tr(;rl(p2).eq.yp) then ! 2- Ponto na mesma cota lf( (xf(p2).gl.xp) .and.

+ {;rl(pt).gl.yp)) nl = nl + 1 tbe ! Dois vértices à direita lf( (xf(p1).gl.xp).and.(xf(p2).ll.xp)) lhen al=nl+l tbe ! CQculo poiMtrlco eh "' xf(pt) • xf(p2) ! da lnleneçlo lllC .. xf(pt) lf( abs(dx) .se- tol) xc = xc + (yp-yf(p1))~1f(yf(p1)-yf(p2)) lf (xc.gl.:rp) nl = nl + 1 mdlf ... .,

mcllf encl lf ,. ...

l continue ftFc: e ( mod(nl,2) .ae. O ) 1 Numero llnpar de lntenecoa ·> TRVE relul'll -

Page 98: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

84

!• PlckFace • codleo (c) •/ !• Checa ee um ponto (x,y) pertence ou nao a uma face (f) •/ !• Retorna 1 -> ponto pertence a face ou O -> ponto externo •/ tllnclude cmalh.h> tllnclude "f1pe_var.h" lnt PlckFace ( face_plr f, ftoat x, ftoat y ) { resl1ter lnt I; lnl ai = O; 1• numero de lntersecoes •/ lnt fst = f->n • 1; /' comeca pela ultima aresta •/ vertex_ptr pi, p.2; !• vertlces da aresta •/ noat xc;

for( 1=I;1 < f->n; I++) { pl = f·>Yfl]; p.2 = f->v[fst); Ir ( !( pl·>YP == pl->YP) && /•horl7.ontals •/

!( (pl·>YP > y) && (pl->yp > y)) && /'acima•/ 1( (pl·>YP < y) && (pl->yp < y)) && /•abaixo•/ !( (pl·>XP < x) && (pl->xp < x))) 1 /•a esquerda •/

Ir ( pl·>YP == 1) { /'lo vértice na mesma cota•/ lf( ( pl•>xp >X) && ( p.2->yp > 1)) nl++;

) ehe( Ir( pl->yp == 1) { /'lo vértice na mesma cota•/ Ir ( ( p.2->xp > x) && ( pl·>YP > y)) ai++; )

ehe( Ir( ( p1->xp >X) && ( pl->XP >X)) ai++;,. Dois vútlces à direita., elle ( I' verifica ponto de lntereecao •/ ftoat dx = pl->xp. pl->xp; xc= pl·>xp; Ir( ds != 1.0) sc += ( f • pl·>fP) • dx I ( pl·>1P • p.2->yp ); lf(XC>X)al++;

) ) ) fll e I; I' ultimo ponto para proxlma aresta •/ ) return(lll 9' 2 ); )

Page 99: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

O algoriuno funciona rapidamente pois descarta trivialmente (atrav6s de

comparações), a maioria dos casos onde nlO ocorrem interseções.

Para a 1oluçlo do problema de fronteiras, testes ldicionais devem ser feíios com as

arestas da face, antes do c'1culo das interseções. O algoriuno pode, no entanto, perder a sua

eficiencia se este teste for caro computacionalmente.

A.3 ·O DIRETÓRIO DE ENTIDADES

Dentre os atribulOS relacionados aos volumes e elemenlOS temos o nome destas

entidades. Para um rápido acesso e também como alternativa ao apontamento da posiçlo,

foram implementados diretórios de nomes de elemenlOS e volumes. Estes diretórios permitem

que o usumo escolha uma entidade apontando seu nome. A figura A.8 esclarece.

--· u-.c "!!lC!' --· LICCOUI . - .. ---· - 9 --· LICCOLH --· HCJI WOlllt ....... ltLll'OHfO --· PIPI'. MCX _ ... B*T.UIM + --· CllJllOIOS l•I --· ClllNCllOS 1•4 --· QIJNOIOS t-1

-n-1 QUICllOS ..... ....... . ..... ,,,' _ ... , ., .... ,,,. . 9'T'IJl•l JODE •· . _,.ftl•I ........ ........ --· ..,..1:("'4 - ~ ... 11 ................................... •• cac>-. .. ._)

Pigura A.I -Dlret6rios de elemenlOS e volumes.

Page 100: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

APtNDICEB

IMPLEMENTAÇÕES DAS ESTRUTURAS DE DADOS

Nesie ap!ndice descreve-se os detalhes sobre 11 implementaçoes feitas nos aisiemu

desenvolvidos (EGSE e PANEL). Mostra-se aqui os códigos das vwveis das eatrulw"IS de

dados pars estes 1is1em11.

B.1 ·ESTRUTURA BASEADA EM ARRAYS (EGSE) ·

No topo da estrutura principal de dados lem-se uma variável do tipo lexto que

iepresenta o nome do platafonna (arquivo de comunicação). Em seguida ao nível de

elementos. estilo presentes o nome e o tipo de cada um e um vetor de endereços que indica 11

posiçoes no vetor de índices de volumes.

Ao nível de volumes. lemos o nome. o tipo e uma matriz de propriedades para cada

volume. cabendo. a partir daí, um tratamento diferenciado pars volumes prismáticos ou

cilindrico&. Para os volumes prismáticos lemos um vetor de endereços de volumes e um vetor

de índices de balizas que fonnam eates volumes. Sendo cilfndrico exisle uma malriz c:onlendo

aa coordmodos do eixo (geratriz). o clilmetro e aa cooolenadas dos vetOJes normais aos

planos que fcrmam aa duas balins cilíndrica&.

No penóltimo nível, o de baliw, lemos pars aa balizas que descrevan prismaa o

vetor de endereços de b&lizaa e o vetor de índices de v&tices que 11 fcrmam. Para aa balius

que delclevem cilindros, exisie çenaa um vetor de índices de v6nices que f011Dam 11 beliw,

pois c:oi•idera-se que os volumes cilfndricos a6 possuem duaa aeçl!ea, que estilo di.lcJeliudaa

em um n6mero fixo de v6nices (cujo vllor default 6 32).

No nível mais baixo , o de v6nicea, lemos a matriz de coordenadas X, Y. Z e um

vetor de npetiçoe& de uso dos v6rtices que 6 utilizado na etapa de edição da estrutura.

Page 101: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

87

O bloco comum de vlrilveis desta estrutura es1' listado a seguir e t íncluido nas

rotinas do gerenciador.

lnteaer mel, mvo, mba, mve, mvc .-rameier (mel=128, mvo=256, mba=512, mvc:32, mve:2048) cbaracter eltn(mel)•2t, votn(mvo)•13 lntecer•2 nel, nvp, nvc, nvt, nbp, nve,enel(mel), unel(49mel), + envp(mvo), unvp(4•mvo), aad(mvo), enbp(mba), + unbp(4•mba), unbc(32•mvc) lnteaer•l vtus(mve) loglcal•t dlel(mel), dlvl(mvo), cllbp(mba) rea1•4 vopc(8,mvo), vocl(13,mvc), covp(3,mve) common /estdad/ nel, nvp, nvc, nvt, nbp, ave, + eltn, enel, unel, + votn, envp, unvp, vopc, voei, esad, + enbp, unbp, unbc, + covp, vtus, + cllel, dlvl, dlbp

Page 102: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

88

B.2 ·UMA ESTRUTURA BASEADA EM LISTAS E APONTADORES

(PANEL)

A implementaÇlo das variáveis da estrutura de dados bueld1 em liltu duplamente

encadeadas. implementada no sistema para oblençlo do modelo de pain6is 6 moelrada abaixo.

f7pedeflnt Plnt; f7pedef char Pchar; f7peder ftoat Pftoat;

typedef struct ( Pnoat x; t• X coonllnate •/ Pnoat y; t• Y coordlnate •/ Pnoat z; fO Z coonllnate •t

} Pvtx; t• Space coordlnates •/

f7peder struct vertex_ ( llnlct vertex_ •next; fO Unk to next vertex •/ llrllct vertex_ •prev; fO Unk to preYious vertex •/ llrllct lladon_ '°lt; fO polnter to parent lladon •t Pvtx C; fO world coonllnates •/ Pvtx P; fO proJected coonllnates •/

} Vertex; fO Vertex llrnctUre •/

f7pedef ltruct stadon_ ( llrllct ltadon_ *Dext; fO Unk to next stsdon •/ llnlct lladon_ *prev; /* link to prel'lous stadon •/ llrllct volume_ *YI; fO polnter to parent volume •/ llnlct vertex_ *vi; fO polnter to llnt vertex •/ Plnt n; fO I or ltatlon Yer11ces •t Pc:bar i,pe; /* prilm or qllnder sweep •/ Pftoat dlam; fO dlameter of cyDnder •/ Pvtx C; /*centercoonllnates •/

} Stadon; fO Stadon ltracture •/

Page 103: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

typedef 1trvct volume_ {

89

ltnlct volume_ •next; /9 llnk to next volume •/ ltnlct volume_ •prev; ,. llnk to prevlous volume•/ ltnlct element_ eei; ,. polnter to parent element •/ ltnlct llatlon_ .. ,; ,. polnter to nnt lllatlon ., Plnt n; ,. number or volume 1tatlon1 •/ Pdlar name[13]; ,. name or volume •/ Pdlar type; ,. prl1m or cyllnder 1Weep •/ Plloat attr[SJ; ,. volume altrlbutes •/ } Volume; ,. Volume Structure •/

typedef strvct element_ ( ltnlct element_ •next; t• llnk to next element •/ ltnlct element_ •prev; t• fink to prevlous element •/ ltnlct model_ •md; t• polnter to parent model •/ ltnlct volume_ •vi; ,. polnter to nrst volume ., Pint n; ,. number of volumes •/ Pdlar name[21J; ,. name of element •/ Pdlar type; t• type of element (estatlc) •t

} Element; ,. Element Structure •/

typedef strvct model_ ( Pint n; ,. number or elements •/ llnlcl element_ eei;,. polnter to ftrll element •/ } Model; ,. Model llructure •/

typeder strvct face_ { ...,,ct race_ '"next; ,. link to next face •/ llnlct face_ •prev; ,. Bnk to prevlous face •/ llnlct vertex... ••n; ,. vector or polnten to viu ., l'lnt n; ,. number or vertlcea or race •/ l'lnt d; ,. eolour lndex •/

} Face; ,. Face ltrudure •/ typedef llruct flll&e_ { 11n1c1 ec1ae_ -.eu; ,. Bnk to next ed&e •t ltnlct ed&e- •prev; ,. Bnk to preYlous edae •/ ltnlct vertex... evt; ,. polnter to nnt vertex •/ llnlct verta... evl; ,. polnter to leCond vertex •/ } l!dae; ,. Edae llrvchlre •/

Page 104: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

[BREB81)

[CABR79)

[CAMP91)

[CARV90)

[CELE90)

[CHEU82)

(COEL90)

REFERtNCIAS BIBLIOGRÁFICAS

Brebia, C. A., anel Wallcer S., "Boundaly Element Techniquea ín

Engineering", Newnes-Butter Wonhs. 1981.

Cabral, J. P. F. S., Arquitectura Naval, Centro do Livro Braaileiro, Rio

de Janeiro, 1979.

Campos, J. A. P.. "Geração de Malhas de Elementos Finitos

Bidimensionais Baseada em uma Estrutura de Dados Topológica",

Dissertação de Mestrado, Depto. de Eng. Civil, PUC do Rio de Janeiro,

fevereiro de 1991.

Carvalho, M. T. M., ''lmplementaçlo Computacional no Método Híbrido

dos Elementos de Contorno", Dissertaçlo de Mestrado, Depto. de Eng.

Civil, PUC do Rio de Janeiro, setembro de 1990.

Ceies, W. F., "Um Pós-Processador de Elementos Finitos Sólidos

baseado na fronteira dos Elementos", Dissertaçlo de Mestrado, Depto. de

Eng. Civil, PUC do Rio de Janeiro, outubro de 1990.

Oleung, Y. K., Lo S. H. anel Leung Y. T .. "An Algorilbm to Diaplay

Three Dimensional Objecls", Computei' and Structutes, vol. IS, No 6,

pqs. 673-683, 1983.

Coelho, L. C. G., Gattaaa, M. e Ceies Filho, W., "Um Algcritmo pm

Remoçao de Linhas Oeultaa", anais do smGRAPl'llO. pqs. 2.10.

Clmnldo, RG, 1990.

Page 105: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

[DUMM88J

[ESTA90]

[FOLE84]

[FOLE90]

[FONS89a]

[FONS89b]

[FUCH80]

91

Dummont. N. A., "The Hybrid Boundary l!lement Method in

l!lastostatics: Overview of lhe Theory and Examples•, Boundary

l!lements X, Vol. 1: Mathematical Computational and Alpects, Com·

putational Mechanics Publications, Springer Verlag, pag 43-57, 1988.

Estabil, Manual do Sistema (Ductor), Sistema Estabil, Volumes 1 a s, PETROBRÁS/CENPES, Publicação Interna da Diprex, Janeiro 1990.

Foley, J. D. and Van Dam, A., Fundamentais of lnteractive Computer

Oraphics, Addison-Wesley, Reading, Massachuasets, 1984.

Foley, J. D., Van Dam, A .. Feiner, S. K. and Hughes, J. F., Computer

Oraphics Principies and Practice, 2nd. edition, Addison-Wesley,

Reading, Massachusetts, 1990.

Fonseca. G. L., "Editor GrMico de Malhas Transfinitas Tridimensionais

para l!lementos Finitos", Tese de Mestrado, Depto. de Eng. Civil PUC·

Rio, outubro de 1989.

Fonseca. G. L. e Gattass, M., Algoritmos Simples de linhas e Faces

Escondidas, RJ 06/89, Depto. Eng. Civil PUC·Rio, 26 pqs. agosto de

1989.

Fuchs, H. anel Kadem, Z., "On Visible Surface Clenlnlico by a Priori

'l'lee Structure", Computer Clraphics, vol. 17, no. 3, pp. 6S·72. 1980.

Page 106: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

[00RD80)

[HARR87]

[HEAR86)

[HOPG86)

[1ANS83)

(10HNSO]

(KERN88]

Gordon, J. J. and Oooduit. C. L., "COIFES • An Efficiem SIJUCtural

Oraphics Program Uaing lhe Hidden Line Technique", Computer anel

SIJUCtures, vol.12,p,gs. 699·712, 1980.

Harrington, S., Computer Oraphics • A Programming Approach, 2nd

edition, McOraw·Hill Book Company, New York, 1988.

Heam, D. anel Baker, M. P., Computer Oraphics, Prentice-Hall, inc.,

Englewood Cliffs, New Jersey, 1986.

Hopgood, F. R. A., Duce, D. A., Gallop, 1. R. and Suu:líffe, D. C.,

Introduction to lhe Oraphical Kemel System (GKS), 2nd edition,

Academic Press, London, 1986.

1anasen, T. L. ·"A simple efficient hidden tine algorithm", Computers &

S1n1ctures, Vol.17, 1983, pp.563-571.

John, F., "On lhe Motion of Floating Bodies ll", Comm. Pule and

Applied Mathematics, 1950.

Kemighan, B. w. and RiU:hie, D. M .. e A Unguagem de l'rogrlmllÇIO.

4a ediçlo. Editaa Campus Lida, Porto Alegre, 1988.

Kriplc, J., "Ousification of Edges and lls Aplicalion in Delermining

Viaibility", Computer Aided Design, vol. 17 No I, pp. !G-36. Fevereiro

1985.

Page 107: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

[LAMB89]

[LEVl89]

93

Lamberti, A. anel Luchi, M. L .. "A Hidden Line Aiaorithm for a Model

Oenerated By Assembling Solid Convex Polyhedra", Adv. Eng.

Software, vol. li, No 3, pAgs 110-117, 1989.

l.evi, L. A. P., "Aplicações do Programa WILMA no Projeto ele

Platafonnas Semi-Submersíveis", Anais do 2o ETIAP (2o F.nconao

Técnico Interdepartamental Sobre Explotaçlo em Águas Profundas),

pAgs. 459 a 468, novembro ele 1989.

[L087] Lo, S. H., "A Hidden-Line Algorithm Using Picture Subdivision

Technique", Computer & Sauctures, vol. 28, No 1, pAgs 37-45, 1988.

[LOUT70]

[MANT88]

[MART89]

[MORE88J

Louael, P. P., "A Solution to The Hidden Line Problern for Computer

Drawn Polyhedra", IEEE TtaN. on Comp., Vol C-19, No 3, pAgs 205-

213, 1970.

Mantyla, M., An lnb'Oduction to Solid Modeling, Compum Scienoe,

lnc., Rockville, Maryland, 1988.

Manha, L. F. anel Ingraffea. A. R.. Topological anel Geomettical

Modeling Approach to Numerical Discrelization anel Crack Proplgation

in Three-Dimensions, Repor! 89-9, School of Civil anel l!aviioomenlll

Engir.rlng. Cornell Univcnity, 1989.

Moreira. L. F. R .. Linauaaem Orientada para Aplicações ele Computaçlo

OrUica em Engenharia ele Esau!UIU Marítimas, Tese ele Meslrldo,

COPPFJIJFRJ, 1988.

Page 108: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

[NEWE72)

[NEWM81)

(PAUL89)

[POTY90)

(PREP8S]

[RANK87)

[RBQU82)

(SCID87)

94

Newell. N. E., Newell, R. O. e Sancha, T. L., "A New pproach to lhe

Shaded Picture Problem", Proc. ACM Nat. Conf., P'&· 443, 1972.

Newman, W. M. anel Sproull, R. F .. Principies of lntmctive Computer

Oraphics, 2nd edition, McOraw·Hill Book Company, Auckland, 1981.

Paulino, O. H. e Oattass, M., l'r6·processamento de EsttulllnlS Espaciais,

com Reordenaçlo Nodal, usando Computação OrUica Interativa, RI

04/89, Depto. Eng. Civil PUC-Rio, 300 pigs., 1989.

Potyondi, D., 'Toward lhe Simulation of Three Dimensional Reiforeed

Concrete Subassemblages", MSc. Thesis, Comell Univmity, School of

Civil anel Environmental Engineering, 1990.

Preparata, F. P. anel Shamos, M. J., Computational Oeomeuy, Springer·

Verlag, New Y otk, 1985.

Rankin, J. R., "A Oeometric Hidden Une Processing Algorithm",

Compurer Oraphics, Vol. li, No 1, pigs 11·19, 1987.

Requicha, A. A. O. and H. B. Voelker, "Solid Modeling: a historical

1ummiry and contempcnry uaessment", IEEE Computa" Orçhica and

Aplications 2(2), pigs 9-24, 1982.

Schildt, H., C Avançado· Ouia do Usuúio, McOraw-Hill, Slo Paulo,

1987.

Page 109: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

[SCH189]

[SPIL86)

[SUTH74a]

[SUTH74b]

[TEC089]

[VEL086)

[VRIE78]

[WALK88]

9S

Schild~ H., Turbo C • Guia do Uaumo, 2a ediçlo, McOraw-Hill, Slo

Paulo, 1989.

Spillers, W. R. and Law, K. H., "On lhe hidden line iemoval problem",

Computm &: S!nlctures, Vol.26, 1986, pp.709-717.

Sutherland, 1. E. e Hodgman, G. W., "Reentrant Polygon Clipping",

Communications of the ACM, 17(1), pp. 32-42, January 1974.

Sutherland, 1. E., Sproull, R. F. e Scbumacker, R. A., "A

Characlerization of Ten Hidden·Surface Algorithms", Computing

Smveys, 6(1), pp. l·SS, March 1974.

Grupo de Tecnologia em Computaçlo OrUica, OKS/PUC. Manual de

Utilizaçlo e Referência, verslo 3.0, Pontiffcia Universidade Católica do

Rio de Janeiro, 1989.

Veloso, P., Santos, C., Azeredo, P. e Furtado, A., Estruturas de

Dados, Editora Campus, Rio de Janeiro, 1986.

Vries, H. de and Kaldenbech, W. P., "Desisn, COllllnlCllon and

worbbility of 1emi-submeraible denick barge 'NarwhaJ'•, Off Shore

Brazil 78, Conference, pp. 19.1-19.6, Rio de Janeiro, June 1978.

Walker, M .. "Hidden Line detection in polytiee npraentations",

Computer &: Clnphics, vol. 12, pp. 65-69, 1988.

Page 110: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

[WARN68}

[WEII..86}

[Wl1T81J

[WRIG72J

W1mock, J. E., "A hidden-line algorithm for halftone picture

iepresentation", Depanment of Computer Science, University of Utah,

Salt Lalce City, Utah, Tech. Rept. 4-S, May 1968.

Weiler, K. J., Topological Structures for Oeomelric Modeling, Ph. D.

Thesis, Rensselaer Polyiechnic lnstitute, Troy, New York, August 1986.

Wittram, M., "Hidden Line Algorithm for Scenes of High Complexity",

Computer Aided Design, Vol. 13 No 4 págs 187-192, 1981.

Wrigh~ T. J., "A Two Space Solution to The Hidden Line Problem for

Plotting Functions of Two Variables", IEEE Trans. on Comp., Vol. C-

22, No 1, p6gs 28-33, 1973.

Page 111: 1ERSÍVEIS - webserver2.tecgraf.puc-rio.brwebserver2.tecgraf.puc-rio.br/~mgattass/teses/1991DissertacaoLuizC... · • Ao Professor Luiz Fernando Martha pelo auxílio na criaçlo

'1Sistemas Gráficos para Geração de Modelos Geométricos de Platafonnas Semi­

submersíveis". Dissertação de Mestrado apresentada por Luiz Cristovão Gomes Coelho em 30

de Abril de 1991 ao Departamento de Engenharia Civil da PUC-Rio e aprovada pela

Comissão Julgadora, formada los seguintes professores:

\ Prof. Mar elo Gattass (Orientador)

Departamento de Engenharia Civil - PUC-Rio

Prof. Paulo Cezar Pinto Carvalho

Instituto de Matemática Pura e Aplicada - CNPq

1:1,_ c]/ r~ L C Prof. Protásio Dutra Martins Filho

Universidade Federal do Rio de Janeiro - COPPE

A '/G.,..~-Pro~iz Fernando Campos Ramos Manha

Departamento de Engenharia Civil - PUC-Rio

c:=c:=:=v= r~~ Is~ma Masseti

CENPES/PETROBRÁS

Vista e permitida a impressão

Rio de Janeiro,IJ/1)6/ j /