View
219
Download
0
Category
Preview:
Citation preview
EXTRAÇÃO D E LITOFÁCIES UTILIZANDO MARCHING CUBES
COM PROCESSAMENTO PARALELO
Alexandre Xavier Martins
DISSERTAÇÃO SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO
DOS PROGRAMAS DE PÓS-GRADUAÇÃO D E ENGENHARIA DA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS
REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE
EM CIÊNCIAS EM ENGENHARIA DE SISTEMAS E C O ~ W T A Ç Ã O .
Aprovada por: /
Prof. Claudio Esperança, Ph.D.
Prof. Cristiana Bentes, D.Sc.
RIO DE JANEIRO, RJ - BRASIL
MARCO DE 2007
h4ARTINS , ALEXANDRE XAVIER
Extração de Litofkies Utilizando March-
ing Cubes com Piocessaineilto Paralelo [Rio
de Jaileiro] 2007
XI, GO p. 29,7 cm (COPPE/UFR.J, R/I.Sc.,
Eiigcilharia clc Sistemas e Computa$io, 2007)
Dissertação - Universidade Federal do Rio
de Janeiro, COPPE
1. Dados Litológicos
2. Extração de isosuperfícies
3. Para,lelismo
I. COPPEIUFRJ 11. Título (série)
Agradecirnent os
Agradeço aos meus pais, por terem me apoiado e incentivado em todos os momentos
desta caminhada.
Aos professores do LCG: Ricardo Farias, Claudio Esperança, Antônio Oliveira e
Paulo Roma. Pela atenção sempre disponível nos momentos de dúvida. Principal-
mente ao meu orientador Ricardo Farias, que sempre procurou conduzir o trabalho
com paciência e dedicação.
A Professora Cristina Bentes pela sugestões e aconselhamentos.
Aos professores e funcionários do Programa de Engenharia de Sistemas e Com-
putação da Universidade Federal do Rio de Janeiro.
Aos meus colegas e amigos do LCG, em especial ao André Maximo e Caíque,
que não faltaram nunca com o suporte e sugestões nas horas mais difíceis.
Aos companheiros e amigos da Petrobras, em especial, ao consultor, Luiz Edu-
ardo Seabra Varella pela inestimável ajuda em todas as etapas deste trabalho.
A minha companheira e amiga Andra, pelo estímulo, amizade, sugestões e paciência
nestes 2 anos.
Rio de Janeiro, Março de 2007
Alexandre Xavier Martins
Resumo da Dissertação apresentada à COPPE/UFRJ como parte dos requisitos
necessários para a obtenção do grau de Mestre em Ciências (M.Sc.)
EXTRAÇÃO DE LITOFÁCIES UTILIZANDO MARCHING CUBES
COM PROCESSAMENTO PARALELO
Alexandre Xavier Martins
Março/2007
Orientador: Ricardo Cordeiro de Farias
Programa: Engenharia de Sistemas e Computação
Uma grande variedade de atributos estratigráficos pode ser representada quanti-
tativamente e ilustrada sob a forma de mapas. Esses mapas mostram feições quan-
titativas para cada litofácie, sem a preocupação de relatar as distribuições destas
litofácies em função de suas profundidades. O presente trabalho tem como objetivo
desenvolver uma ferramenta para a visualização interativa de dados de litofácies cujo
foco é o tratamento eficiente de grandes massas de dados para a indústria petrolífera.
A idéia básica é vencer os desafios impostos pelo crescente volume de dados tridi-
mensionais através de duas frentes de trabalho diferentes: segmentação de dados e
visualização volumétrica. Além disso, em virtude do tamanho dos dados, utilizou-se
técnicas de computação paralela, para resolver o problema de desempenho da seg-
mentação. Estamos particularmente interessados na execução paralela em cluster
lieterogêi~eos de PCs, devido ao seu baixo custo e à sua alta disponibilidade. Nossos
resultados mostraram que elevados índices de eficiência podem ser alcançados com
o uso de computação paralela.
Abstract of Dissertation presented to COPPE/UFRJ as a partia1 f~~lfillment of the
requirements for the degree of Master of Science (M.Sc.)
LITHOFACIES EXTRACTION USING MARCHING CUBES WITH
PARALLEL PROCESSING
Alexandre Xavier Martins
March/2007
Advisor: Ricardo Cordeiro de Farias
Department: Systems Engineering and Computer Science
A great variety of stratigraphic attributes can be represented and illustrated
by maps. Those maps show quantitative data for each lithofacie, with no concern
to report the distribution of the lithofacies in function of the depth. The present
work aims to develop an interactive visualization to01 for lithofacies data that can
efficiently handle very large datasets from the petroleum industry. The basic idea
is to use data segmentation and volume visualization to deal with the increasing
size of the datasets. F~~rthermore, we used parallel processing techniques to solve
the improve the performance of the segmentation process. We are interested in the
parallel execution iii a heterogeneous cluster of PCs, as they provide low cost and
high availability. Our experiments showed high efficiency results with the use of
parallel computing . segmentation.
Sumário
Resumo v
Abstract vi
Lista de Figuras viii
Lista de Tabelas x
1 Introdução 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Contribuições 3
. . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Organização do Trabalho 4
2 Conceitos Básicos: Engenharia de Petróleo 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Histórico 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 O Petróleo 6
. . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Geologia do Petróleo 7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Testemunhagem 8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Perfilagem 11
. . . . . . . . . . . . . . . . . . . . . . . . . . Tipos de perfis 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Litofácies 14
. . . . . . . . . . . . . . . . . . . . 2.6.1 Mapeamento de Litofácies 14
3 Conceitos Básicos: Visualização Científica 18
4 Sistema de Segmentação e Visualização de Dados Litológicos 23
. . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Arquitetura do Sistema 23
. . . . . . . . . . . . . . . . . . . . . . . 4.2 Leitura dos dados litológicos 24
vii
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Segmentação 24
. . . . . . . . . . . . . . . . . . 4.3.1 Paralelização da Segmentação 27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Renderização 29
. . . . . . . . . . . . . . . . . . . 4.5 Exportação/Importação dos dados 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Interface Gráfica 40
5 Resultados Experimentais 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Massa de Dados 46
. . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Regiões Segmentadas 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Segmentação Paralela 51
. . . . . . . . . . . . . . . . . . . . . . 5.3.1 Ambiente de Execução 51
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Desempenho 51
6 Conclusões 56
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Trabalhos Futuros 57
Referências Bibliográficas 57
Lista de Figuras
. . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Exemplo de Testemunho
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Exemplo de Perfil
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Mapa de Litofácies
. . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Sistema de Classificação
3.1 Exemplo de Visualização Volumétrica direta e indireta . . . . . . . . .
. . . . . . . . . . . . . . . . . . 4.1 Estrutura do Sistema de Visualização
. . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Diagrama de Classes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Marching Cubes
4.4 Casos de simetria no algoritmo Marching Cubes . . . . . . . . . . . .
4.5 Configuração padrão do algoritmo Marching Cubes . . . . . . . . . .
4.6 Buraco na face compartilhada entre dois voxels . . . . . . . . . . . .
4.7 Isosuperfície gerada por dois metodos diferentes . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 4.8 Configuração proposta por Chernyaev
. . . . . . . . . . . . . . . . . . . . . 4.9 Arquitetura do Sistema Paralelo
4.10 Exemplo de exibição 3D realizada pelo visualizador . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 4.11 VRivíL - Node Coordinate3
. . . . . . . . . . . . . . . . . . . . . . 4.12 VRML - Node IndexedFaceSet
4.13 Interface Gráfica da Ferramenta de Visualização . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . 4.14 Abertura de arquivo litológico
4.15 Exportação de volume para formato VRML . . . . . . . . . . . . . .
4.16 Importação de arquivo no formato VRML . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . 4.17 Alteração de Transparência
5.1 Geração de voliimes a partir do Sistema de Mapeamento de Litofácies
. . . . . . . . . . . . . . . 5.2 Geração de voxels do volume litofaciológico 48
. . . . . . . . . . . . . . . . . . . . . . . . 5.3 Visualização dos Arenitos 49
. . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Visualização dos Pelitos 50
. . . . . . . . . . . . . . . . . . . . . . . 5.5 Visualização dos Carbonatos 50
. . . . . . . . . . . . . . . . . . . 5.6 Tempos obtidos para as áreas 1, 2 e 3 54
. . . . . . . . . . . . . . . . . 5.7 Eficiências obtidas para as áreas 1, 2 e 3 55
Lista de Tabelas
2.1 P~á l i s e elementar do óleo cru típico . . . . . . . . . . . . . . . . . . . 7
5.1 Dimensões dos dados utilizados (voxels) . . . . . . . . . . . . . . . . . 49
5.2 Processadores utilizados . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.3 Tempo do algoritmo sequencial em segundos . . . . . . . . . . . . . . 53
5.4 Tempos ideais em segundos, em f~mção do número de processadores . 53
Capítulo 1
As atividades de exploração e produção de petróleo têm gerado um grande vo-
lume de informação em repositórios de dados projetados especialmente para este
fim. Perfis elétricos, amostras de testemunhos, descrição de calha, coluna litológica
são algumas formas de informações geológicas. Utilizando-se dessas informações os
geólogos podem inferir sobre a estrutura, densidade e distribuição espacial de rochas
sedimentares e, dessa forma, avaliar o local mais adequado para a perfuração de um
poço de petróleo.
A tarefa diária das equipes de geologia consiste em analisar essas informações,
correlacionar e avaliar sistematicamente grandes volumes de dados, em um contexto
regional, aliando experiência técnica e conhecimentos da área em estudo.
No estudo regional de superfícies, por exemplo, os geólogos se baseiam em per-
fis elétricos, amostras de calha e litologias. O mapeamento regional inicia-se com
uma correlação de perfis elétricos e com a identificação dos intervalos das unidades
estratigráfica a serem mapeados e a determinação da sua profundidade. Posteri-
ormente as espessuras de cada tipo de litologia dos intervalos em estudo são com-
putadas, e finalmente são confeccionados os mapas de litofácies.
Os mapas de litofácies, ou mapas de fácies, constituem em um meio efetivo de
comunicação e materialização de uma interpretação. Eles têm como objetivo princi-
pal estabelecer relacionamentos entre composições de atributos de uma determinada
unidade estratigráfica. Além disso, mapas de fáceis podem dar suporte também à
análise paleogeográfica e paleotectônica, através das distribuições espacias de pro-
priedades e da definição de feições importantes.
Mapas de fáceis contêm informações quantitativas sobre as diferentes unidade
litofaciológicas que compõem uma região específica. A composição das Eras ge-
ológicas, formadas por diferentes materiais, e como eles fazem vizinhança uns com
os outros, fornecem uma indicação da provável formação de um reservatório de óleo
naquela região. Por exemplo, uma unidade estratigráfica composta por material
poroso, como arenito, vizinha de uma unidade estratigráfica de rocha sólida (que não
tem porosidade e não permite o óleo vazar), tem alta probabilidade de acumular óleo.
Em outras palavras, o estudo dos materiais que compõem as unidades estratigráficas
e suas vizinhanças é de fundamental importância para as atividades de exploração
de petróleo.
As informações sobre a disposição das camadas estratigráficas e suas vizinhanças,
entretanto, não são de fácil extração no mapa de fácies, em virtude da grande di-
mensão dos dados. O mapa de fácies é formado por uma malha regular de voxels,
em que cada voxel contém os atributos e características da unidade estratigráfica
que ele pertence. Os dados volumétricos gerados pelo sistema de niapeamento lito-
faciológico são da ordem de dezenas ou centenas de Mbytes e precisam ser analisados
vár ia vezes durante o processo de interpretação realizado pelos geólogos.
Portanto, o estudo e a interpretação de dados de litofácies podem se tornar tare-
fas extremamente complicadas se o especialista não dispuser de meios para visualizar
a disposição dos materiais pela superfície e pelas diferentes profundidades da região.
A visualização volumétrica facilita o entendimento espacial de um ambiente tridi-
mensional complexo, permitindo o estudo detalhado e preciso de todo o intervalo
estratigráfico em estudo.
Diante do quadro apresentado, o objetivo deste trabalho é de desenvolver uma
ferramenta para a visualização interativa de dados de litofácies cujo foco é o trata-
mento eficiente de grandes massa de dados para a indústria petrolífera. A idéia
básica é vencer os desafios impostos pelo crescente volume de dados tridimensionais
através de duas frentes de trabalho diferentes: segmentação de dados e visualização.
A segmentacão de dados é utilizada para selecionar as unidades litofaciológicas
que compõem a região em estudo. Por exemplo, selecionando, em toda a extensão
dos dados, apenas as porções cuja composição é de arenito. Dessa forma, a quanti-
dade de dados a ser analisada diminui drasticamente, permitindo uma interpretação
mais cla.ra, eficiente e detalhada das áreas de interesse. Para a segmentação dos
dados de litofácies, estamos empregando o algoritmo elaborado por Chernyaev [I],
Marching Cubes 33, baseado no popular método de extração de isosuperfícies con-
hecido como Marching Cubes [2]. O algoritmo de utilizado determina as isosu-
perfícies que envolvem os dados cujos valores correspondem ao valor de referência
especificado como parâmetro.
Como são diferentes materiais a serem analisados, várias segmentações são neces-
sárias. O resultado é que para realizar todas as segmentacões uma quantidade de
tempo substancial pode ser necessária, quando consideramos que um b i c o proces-
sador va.i computar cada uma delas. Nossa proposta aqui é empregar processa-
mento paralelo para resolver o problema de desempenho da segmentacão de grandes
massas de dados. Estamos particularmente interessados na execução paralela da
renderização em cluster de estações de trabalho.
O passo seguinte à segmentação é o de visualização, que permite a geração de
imagens dos objetos tridimensionais segmentados, possibilitando um melhor entendi-
mento espacial das unidades estratigráficas selecionadas. Como cada um dos objetos
segmentados já foi selecionado segundo o material que o compõe, propomos aqui um
método simples, porém eficiente, para a geração das imagens tridimensionais destes
objetos. Este método consiste em salvar os dados segmentados no formato VRML
e visualizá-10s utilizando a biblioteca OpenGL. Esta biblioteca possui facilidades,
como zoom, rotação, translação e controle de transparência que facilitam bastante
a interpretação dos dados segmentados.
Contribuições
Sumariamente, as principais contribuições deste trabalho são:
e Implementação de um módulo para segmentação de materiais em um mapa de
litofáceis;
e Implementação de um módulo de visualização dos objetos segmentados;
o Paralelização do módulo de segmentação;
o Avaliação de desempenho do sistema de segmentação/visualização de dados
de litofácies.
Organização do Trabalho
O restante do trabalho é organizado da seguinte forma. No Capítulo 2 apresentamos
os tópicos básicos na área de Engenharia de Petróleo e Mapeamento de Litofácies. O
Capítulo 3 faz uma revisão da visualização científica, entrando em detalhes na área
de visualização volumétrica. O Capítulo 4 apresentada o sistema de segmentação e
visualização de dados litológicos. No Capítulo 5 apresentamos os resultados obtidos
com a execução de nossa ferramenta. No Capítulo 6 apresentamos as conclusões e
as propostas para os trabalhos futuros.
Capítulo 2
Petróleo
Como este trabalho integra conceitos de domínios diferentes: Computação Gráfica,
Geologia e Engenharia de Petróleo, este Capítulo apresenta alguns conceitos im-
portantes da área de Engenharia de Petróleo e Geologia. No Capítulo seguinte
abordamos os conceitos básicos na área de Visualização Científica.
A Engenharia de Petróleo envolve o incremento das aglomerações de óleo e gás
reveladas durante a fase de exploração de um campo petrolífero, sendo vinculada,
essencialmente, à área de exploracão. Há, entretanto, outras áreas de estudo impor-
tantes na Engenharia do Petróleo como as de reservatórios, perfuração, completação
e produção. Nas seções seguintes serão apresentados alguns conceitos básicos sobre
petróleo e de algumas etapas da fase de perfuração e sobre litofácies.
O processo de exploração comercial de petróleo data de 1859, na Pensilvânia, Esta-
dos Unidos, logo após a célebre descoberta do Cel. Edwin L. Dralce, com um poço de
apenas 21 metros de prof~mdidade com um sistema de percurssão movido a vapor,
que produzia 2m3/dia de óleo. Descobriu-se que a destilação do petróleo resultava
em produtos que substituíam com grande margem de lucro, o querosene obtido do
carvão e do óleo de baleia, muito utilizados para iluminação na época.
Com o passar dos anos a prática da busca por petróleo cresceu em todo o mundo.
Novas técnicas exploratórias possibilitaram a perfuração de poços com profundidades
maiores, bem como o desenvolvimento de estruturas marítimas, incluido navios,
para aportar os equipamentos de perfuração. Atualmente algumas destas unidades
de perfurção operam em lâmina d'água maiores que 2.000 metros. No Brasil, as
primeiras pesquisas relacionadas ao petróleo começaram em Alagoas em 1891. O
primeiro poso brasileiro com o objetivo de encontrar petróleo, foi perf~xado somente
em 1897, por Eugênio Fesseisa Carnargo, no estado de São Paulo. Este poço atingiu a
profundidade final de 488 metros. Alguns anos depois vários poços foram perfurados
em diferentes estados, todos sem sucesso. Em 1941, foi descoberto o primeiro campo
conlercial, em Candeias, BA. Em 1953, foi criada a Petrobras, que iniciou a partida
decisiva nas pesquisas do petróleo brasileiro [3]. Atualmente a maior área marítima
produtora de petróleo encontra-se no Rio de Janeiro e a terrestre no Rio Grande do
Norte.
O Petróleo
Petróleo é o nome genérico dado às misturas de compostos químicos orgânicos (hidro-
carbonetos). Quimicamente, qualquer petróleo é uma mistura extremamente com-
plexa de hidrocarbonetos, outros compostos de carbono e mais algumas impurezas
como oxigênio, nitrogênio, enxofre e metais. Dependendo da temperatura e da
pressão a que está submetido, o petróleo pode se apresentar no estado sólido, líquido
ou gasoso. Geralmente, o petróleo é encontrado no estado líquido, conhecido como
óleo ou óleo cru, ou no estado gasoso, conhecido como gás natural, ou em ambos os
estados (parte no estado líquido e parte no estado gasoso), em equilíbrio. O petróleo
no estado líquido é uma substância oleosa, inflamável, menos densa que a água, com
cheiro característico e cor variando de acordo com sua origem, oscilando entre o
negro e o âmbar [4]. A Tabela 2.1 mostra a análise elementar do óleo.
A alta porcentagem de carbono e hidrogênio existente no petróleo mostra que os
seus principais constituintes são os hidrocarbonetos (compostos químicos orgânicos
formados por carbono e hidrogênio). Independente da origem, todos os petróleos
I Enxofre 1 0.06 - 8 1 I
Tabela 2.1: Análise elementar do óleo cru típico (em peso) [3].
contêm substancialmente os mesmos hidrocarbonetos em diferentes quantidades, o
que resulta em diferentes características dos tipos de petróleo. A variação do petróleo
de acordo com seus constituintes indica o tipo de derivado produzido: querosene de
aviação, diesel, lubrificantes, gasolina, solvente, asfalto etc.
2.3 Geologia do Petróleo
O petróleo tem origem a partir da matéria orgânica depositada junto com os se-
dimentos. A interação dos fatores - matéria orgânica, sedimentos e condições ter-
moquímicas apropriadas - é fundamental para o início da cadeia de processos que
leva à formação do pe tróleo. Após o processo de geração, é necessário que ocorra a
migração e que esta tenha seu caminho interrompido pela existência de algum tipo
de armadilha geológica ou trapa, para ter a acunlulação do petróleo. A rocha onde
o petróleo é gerado é chamada geradora ou fonte (folhelhos) e onde se acumula,
reservatório (arenit os e calcarenit os).
Para que uma rocha se constitua em um reservatório, esta deve apresentar
espaços vazios no seu interior (porosidade) que devem estar interconectados, confe-
rindo-lhe a característica de permeabilidade. Uma rocha-reservatório, de uma manei-
ra geral, é composta de grãos ligados uns aos outros por um material, que recebe o
nome de cimento. Também existe entre os grãos outro material muito fino chamado
matriz. Para que ocorra a acumulação do petróleo, é necessário que alguma bar-
reira se interponha no seu caminho. Esta barreira é produzida pela rocha selante
(folhelhos e evaporitos) , cuja característica principal é sua baixa permeabilidade. A
descoberta de uma jazida de petróleo em uma nova área é uma tarefa que envolve
um longo e dispendioso estudo e análise de dados geofísicos e geológicos das bacias
sedimentares [4].
2.4 Testemunhagem
A testemunhagem é uma das operações especiais que podem ocorrer durante a per-
furação de um poço. A testemunhagem é o processo de obtenção de uma amostra
real de rocha de subsuperfície, chamada testemunho, com alterações mínimas nas
propriedades naturais da rocha estudada. Com a análise deste testemunho obtém-se
informações referentes à geologia, engenharia de reservatórios, completação e per-
furação, tais como litologia, textura, porosidade, permeabilidade, saturação de óleo
e água, etc. [3].
Quando o geólogo quer obter uma amostra da formação que está sendo perfurada,
a equipe de sonda coloca uma coroa de testemunhagem no barrilete. A coroa de
testemunhagem é uma broca com um furo no meio que permite que a broca corte
o testemunho. O barrilete de testemunhagem é um tubo especial que geralmente
mede 9, 18 ou 27 metros. O barrilete, que é onde irá se alojar o testemunho, é
colocado na parte interna da coluna de perfuração. Durante a operação, à medida
que a coroa avança, o cilindro de rocha não perfurado é encamisado pelo barrilete
interno e posteriormente trazido à superfície.
Os testemunhos permitem que os geólogos analisem uma amostra real do reser-
vatório. A partir dessa amostra eles muitas vezes podem saber se o poço será
produtivo ou não. Na testemunhagem com barrilete convencional, ao final de cada
corte de um testemunho é necessário trazer a coluna à superfície através de uma
manobra, o que aumenta o tempo e o custo da operação. Assim, foi desenvolvida a
testemunhagem a cabo, onde o barrilete interno pode ser removido até à superfície
sem a necessidade de se retirar a coluna. Algumas vezes pode haver a necessidade de
se testemunhar alguma formação já perfurada. Neste caso, emprega-se o método de
testemunhagem lateral, onde cilindros ocos, presos por cabos de aço a um canhão,
são arremessados contra a parede da formação para retirar amostras da rocha. Ao
se retirar o canhão até a superfície, são arrastados os cilindros contendo as amostras
retiradas da formação.
A Figura 2.1 apresenta um exemplo de dados de testemunho, onde a coluna
1 representa a profundidade em relação ao perfil, a coluna 2 reprensenta a profun-
didade em relação a ferramenta de testemunho, a coluna 3 representa o número
da caixa de arnianezamento do testemunho, a coluna 4 representa o tamanho das
caixas em que o testemunho foi armazenado, a coluna 5 a granulometria, a coluna 6
representa as estruturas das rochas e, finalmente, a coluna 7 representa as litofácies
das rochas.
Os principais tipos de rocha no contexto da exploração de óleo são os arenitos
e os folhelhos. Os arenitos são rochas que possuem alta porosidade e permeabi-
lidade, ficando evidente que estes tipos de rocha podem constituir os reservatórios
petrolíferos. Os folhelhos são rochas que oferecem as condições físicoquímicas neces-
sárias para a geração do óleo. Na maioria das vezes as rochas geradoras de óleo
são folhelhos. Este tipo de rocha também constitui as rochas selantes, rochas que
garantem o aprisionamento do óleo devido a sua baixa permeabilidade.
Perfilagem
Após a perfuração de uma fase do poço, geralmente são descidas várias ferra-
mentas com a finalidade de medir algumas propriedades das rochas, fundamentais
para caracterização e avaliação econômica. Este processo é conhecido como perfi-
lagem. A perfilagem permite obter informa@es importantes a respeito das formações
atravessadas pelo poço, tais como litologia (tipo de rocha), espessuras, porosidade,
prováveis fluidos existentes nos poros e suas saturações. A maior limitação da perfi-
lagem é a pequena extensão de seu raio de investigação lateral, de modo que apenas
a vizinhança do poço é analisada pela perfilagem.
A perfilagem pode revelar a existência de óleo e gás suficientes para justificar
os gastos de completação do poço. Esta operação geralmente é feita por serviços
terceirizados. Nas sondas terrestres, a companhia contratada envia uma unidade de
perfilageni montada em um caminhão, enquanto no mar a unidade é fixa na sonda,
instalada num pequeno abrigo. A unidade de perfilagem é equipada com computa-
dores, guinchos e controles que executam a operação. O perfil de um poço é a imagem
visual, em relação à profundidade, de uma ou mais características ou propriedades
das rochas perfuradas (resistividade elétrica, potencial eletroquímico natural, tempo
de trânsito de ondas mecânicas, radioatividade natural ou induzida etc). Tais perfis,
obtidos através do deslocamento contínuo de um sensor de perfilagem (sonda) den-
tro do poço, são denominados genericamente de perfis elétricos, independentemente
do processo físico de medição utilizado. A ferramenta de perfilagem é descida no
poço em um cabo condutor até a profundidade desejada. A unidade puxa a fer-
ramenta que sobe pelo poço detectando certos aspectos da formação por onde ela
passa. A informação é enviada à superfície pelo cabo condutor e registrada pelos
computadores. O registro é impresso para posterior análise.
Tipos de perfis
Existem vários tipos de perfis utilizados para as mais diversas aplicações, todos
com o objetivo de avaliar melhor as formações geológicas quanto à ocorrência de
uma jazida comercial de hidrocarbonetos. Os perfis mais comuns são: Potencial
Espontâneo, Raios Gama, Neutrônico, Indução, Sônico, Densidade e Caliper.
e Potencial Espontâneo (SP): é o registro da diferença de potencial entre
um eletrodo móvel descido dentro do poço e outro fixo na superfície. Este per-
fil permite determinar as camadas permoporosas, calcular a argilosidade das
rochas, determinar a resistividade da água da formação e auxiliar na correlação
de informações com poços vizinhos.
e Raios Gama (GR): permite detectar e avaliar a radioatividade total da
formação geológica.
e Neutrônico (NPHI): os perfis mais antigos medem a quantidade de raios
gama de captura após excitacão artificial através de bombardeio dirigido de
nêutrons rápidos. Os mais modernos medem a quantidade de nêutrons epiter-
mais e/ou termais da rocha após o bombardeio. São utilizados para estimativas
de porosidade, determinação do volume de argila, podem auxiliar na identi-
ficação da litologia e dos fluidos da formação e detecção de hidrocarbonetos
leves ou gás.
e Indução (ILD): fornece a leitura aproximada da resistividade, através da
medição de campos elétricos e magnéticos induzidos nas rochas. A resistivi-
dade é a propriedade da rocha permitir ou não a passagem de uma corrente
elétrica.
o Sônico (DT): mede a diferença nos tempos de trânsito de uma onda mecânica
através das rochas. É utilizado para estimativa de porosidade, identificação
de litologia, correlação poço a poço, estimativas do grau de compactação das
rochas ou estimativa das constantes elásticas, detecção de fraturas e apoio à
sísmica para a elaboração do sismograma sintético.
e Densidade (RHOB): detecta os raios gama defletidos pelos elétrons orbitais
dos elementos componentes das rochas, após terem sido emitidos por uma fonte
coliniada situada dentro do poço. Além da densidade das camadas, permite o
cálculo da porosidade e a identificação das zonas de gás. É utilizado também
como apoio à sísmica para o cálculo do sismograma sintético.
Caliper: fornece o diâmetro do poço. É aplicado no cálculo do volume de
cimento para tampões ou cimentação do revestimento, apoio a operações de
teste de formação, controle de qualidade de perfis e indicações das condições
do poço em um determinado intervalo. Em [5] podem ser encontrados mais
detalhes sobre os tipos de perfis mencionados acima.
A Figura 2.2 apresenta um exemplo do mapeamento realizado tomando como
base os perfis obtidos durante a fase de perfilagem.
Figura 2.2: Exemplo de Perfil.
Lit ofácies
Fácies, é um termo derivado do latim (fácies), que significa aspecto ou aparência
externa, foi usada na Geologia pela primeira vez por Steno [6] em 1671. Desde então,
esta designação tem sido utilizada com siginificados diversos tais como, lito-fácies e
biofácies ou mesmo de modo impreciso (fácies fluvial, fácies glacial, etc.) . Krumbein
define em [7] litofácies como sendo o soinatório de características litológicas de
rochas sedimentares, e mapa d e litofácies como a representação gráfica espacial
de ca-racterísticas de rochas sedimentares para um mesmo intervalo estratigráfico.
Esses mapas em geral apresentam variações de cores ou padrões de hachuras que
ilustram eventos geológicos (fácies de natureza marinha ou continental, acumulações
de areias, folhelhos, calcários etc.) ocorridos em um intervalo estratigráfico. Para
Krubein, um mapa de litofácies baseado em dados numérico deve mostrar, essen-
cialmente, variações quantitativas de características litológicas.
A maioria dos geologistas sedimentares adota a definição estipulada por [8] de que
uma fácies é distinguida por suas características litológicas, estruturais e orgânicas
observadas em campo. Os elementos que compõem uma fácies são a geometria, a
textura, a cor, as estruturas sedimentares, as paleocorrentes e os fósseis.
2.6.1 Mapeamento de Litofácies
O mapeamento de litofácies pode ser analisado da seguinte forma: dado um conjunto
de pontos, aleatoriamente distribuídos sobre uma área, e uma unidade estratigráfica
específica, definida em cada um dos pontos pelo topo e base, deseja-se produzir um
mapa que mostre a distribuição quantitativa de fácies litológicas da área.
O sistema de mapeamento de litofácies desenvolvido pelo consultor da Petro-
bras, Luiz Eduardo Seabra Varella [9], torna-se uma referência importante para o
aqueles que desejam aprofundar seus conhecimentos nos diferentes sistemas de clas-
sificação de litofácies. Nesse projeto, é proposta uma metodologia automatizada de
classificação de dados espaciais aplicada a representação de litofácies.
A metodologia consiste dos seguintes processos: preparação dos dados, geração
de superfícies, classificação litofaciológica, edição de malhas, geração de volumes.
Na preparação dos dados, os poços de petróleo que definem a região e o intervalo
estratigráfico a ser mapeado são analisados e validados. Esse processo desempenha
o papel do pré-processamento de um sistema de KDD (Knowledge Discovery in
Database). Nele, a área a ser mapeada é preparada através da definição de um
conjunto de pontos XYZ que descreve - para cada ponto - a posição geográfica de
um poço, o topo e a base do intervalo estratigráfico.
A geração de superfícies estima uma superfície em formato malha para cada
uma das três variáveis de classificação. A classificação litofaciológica gera o mapa
de litofácies, ver Figura 2.3, definindo graficamente as distribuições espaciais das
diferentes composições de rochas sedimentares, e armazena o resultado em uma
nova estrutura de malha. O modelo de classificação litofaciológica utilizado por
Varella é uma variação ou extensão do modelo proposto por [7] . Este modelo foi
concebido pelo geólogo Saulo Ferreira Santos, da Petrobras (veja a Figura 2.4), cujo
objetivo principal é a obtenção de inferências paleogeográficas a partir de diagramas
litofaciológicos.
No processo de edição de malhas, o geólogo interage com o sistema, alterando o
malha de litofácies de maneira a introduzir seu conhecimento. Nesta etapa, pode-se
inserir e/ou alterar fácies em função do conhecimento de que se dispõe da área. O
interprete interage com o sistema introduzindo informações derivadas de sua ex-
periência profissional.
O sistema de mapeamento de litofácies desenvolvido por Varella exibe diferente-
mente os poços que não dispõem de dados, ou seja aqueles que não contribuem para
a estimação das superfícies. A possível ausência de informações deve ser atribuída à
política de arquivamento de dados litológicos das empresas. No caso da Petrobras,
apenas os poços exploratórios, em particular os pioneiros, possuem litologias arqui-
vadas. Isto corresponde a apenas 10% do total de poços existentes na base de dados.
Esta política restringe o uso do sistema aos mapeamentos regionais. Como alterna-
tiva para contornar esse problema, Varella incorporou ao sistema a funcionalidade
de estimação de litolofácies a partir de perfis elétricos. A última etapa do processo
consiste na discretização do espaço mapeado (voxels). O sistema gera o recheio lito-
faciológico em formato de arquivo volumétrico. O arquivo volumétrico gerado pelo
Figura 2.3: Exemplo de um Mapa 2D representando a distribuição quantitativa de
litofácies [9].
sistema de mapeamento de litofácies serve de entrada para o sistema paralelo de
segmentação e visualizaçáo de dados litológicos proposto na presente trabalho.
Capítulo 3
Científica
A visualização de dados tridimensionais, também chamada de visualização volumétri-
ca, permite aos cientistas uma análise visual de seus experimentos, possibilitando
uma melhor compreensão de processos de difícil observação. O crescimento ex-
pressivo da quantidade de dados produzida por computadores em simulações ou
por sensores, como os embarcados em satélites e radiotelescópios, torna inviável a
interpretação e análise dos dados brutos, por exemplo, na forma de tabelas. O
foco da visualização volumétrica é que torna-se muito fácil interpretar um dado,
quando temos uma representação visual, fornecendo auxílio ao tratamento e análise
de grandes volumes de dados científicos. Utilizando-se a competência que o aparelho
visual humano possui de interpretar dados visuais, a representação gráfica dos dados
passou a ser vista como uma ferramenta imprescindível no auxílio à exploração e
análise de grandes e complexos conjuntos de dados [10].
Diversas áreas de conhecinlento, como Medicina (em ressonância magnética, to-
mografia computadorizada e simulação de modelos cardiovasculares) , Física (em
simulação de modelos subatômicos), Biologia (em bioinformática e biologia mole-
cular computacional) e Engenharia (em modelagem de componentes mecânicos e si-
mulações de dinâmicas de fluidos), têm se beneficiado de ferramentas de visualização
volumétrica. Na área de Engenharia de Petróleo, a visualização volumétrica per-
mite, por exemplo, o entendimento espacial de um ambiente tridimensional complexo
com o de um reservatório, permitindo o estudo detalhado e preciso de características
como porosidade e permeabilidade com um grau de realismo sem precedentes.
Dados a serem visualizados podem ser obtidos de diferentes formas. Através de
dispositivos de captura como tomografia computadorizada ou ressonância magnética;
simulações (elementos finitos, diferenças finitas); satélites de observação da Terra;
levantamento sísmico; bóias no oceano; ou técnicas de modelagem. Estes dados
compreendem um conjunto de pontos no espaço tridimensional, onde a cada ponto
estão associados propriedades ou fenômenos observados. Segundo Kaufrnan [ll],
dados volumétricos são tipicanlente um conjunto S de amostras (x, y, z, v), sendo
v o valor de alguma propriedade mensurável dos dados, como cor e densidade, e (x,
y, z) a sua localização no espaço tridimensional. Por exemplo, para exploração de
petróleo, essas propriedades podem representar a porosidade e permeabilidade de
uma rocha-reservatório.
Os dados volumétricos são geralmente tratados como uma malha poliedral de
elementos de volume, denominados voxels (análogo 3D de um pixel). Quando os
voxels são cubos idênticos, a malha é dita regular. Malhas irregulares, por sua vez,
são compostas de células poliedrais arbitrárias. Na literatura exitem ambigüidades a
respeito do que é o conjunto de pontos de um voxel. Para algumas publicações, voxel
é o hexaedro definido em torno do valor amostrado. Em outras, o voxel é entendido
como sendo o hexaedro cujos vértices são os valores amostrados. Partindo de uma
analogia com o conceito de pixel, este trabalho referencia voxel como uma tupla
< i, j , k , S > que define um ponto amostrado do campo escalar na posição (i,j,lr) e
com valor S associado.
As diferentes classes de técnicas de visualização de volumes são caracterizadas
por vários termos e expressões. Por exemplo, Elvins [12] considera duas categorias
de algoritmos, direct volume rendering e surface-fitting, enquanto Mueller et al. [13]
reconhece essas duas classes como dois grupos de algoritmos direct volume rendering
e indirect volume rendering. Todavia, apesar das diferentes classificações e nomen-
claturas, as duas categorias de técnicas de visualização de volumes se traduzem
nas que trabalham com a extração de uma isosuperfície representada através de
primitivas gráficas, e nas que trabalham gerando a imagem diretamente a partir do
volume.
As diferentes classes de técnicas de visualização de volumes são caracterizadas
por vários termos e expressões. Por exemplo, Elvins [12] considera duas categorias
de algoritmos, direct volume rendering e surface-fitting, enquanto Mueller et al. [13]
reconhece essas duas classes como dois grupos de algoritmos direct volume rendering
e indirect volume rendering. Todavia, apesar das diferentes classificações e noinen-
claturas, as duas categorias de técnicas de visualizacão de volumes se traduzem em:
surface rendering (ou "visualização através de superfícies") e volume rendering (ou
" visualização direta de volume").
Métodos de visualização através de superfícies envolvem a extração e a repre-
sentação de uma isosuperfície que é em seguida visualizada através da utilização
de técnicas convencionais da Computação Gráfica. A reconstrução da isosuperfície
pode ser feita a partir de contornos planares, como mostra o trabalho de Wein-
stein [14]. Neste caso, considerando um volume de dados de CT (Tomografia Com-
putadorizada) ou MRI (Ressonância Magnética), a estrutura em estudo deve ser
definida em cada uma das fatias para posterior composição da malha de polígonos.
A isosuperfície também pode ser definida através de um limiar (threshold) [12] ou
através de uma malha de polígonos extraída diretamente de um volume 3D previ-
amente segmentado. Durante a etapa de visualização o usuário fornece parâmetros
que definem o tipo e a direção de projeção e os parâmetros de iluminação.
Entre os algoritmos de visualização através de superfícies destacam-se: conexão
de contornos [15, 161 e rnarching cubes [2]. Alguns problemas que devem ser trata-
dos nestes algoritmos são: a geração ocasional de pedaços de superfícies falsos; a
manipulação incorreta de pequenas características dos dados; e a dificuldade de re-
presentação da superfície de algumas estruturas (particularmente na visualização do
corpo humano, no caso de imagens médicas). As grandes vantagens desta, entre-
tanto, são a velocidade para a geração e exibição da imagem final e o pouco espaco de
armazenamento requerido. Representações deste tipo são apropriadas quando exis-
tem isosuperfícies bem definidas nos dados, mas não são eficientes quando o volume
é composto por muitas microestruturas, tais como os tecidos em muitas imagens
médicas [17].
A segunda classe, visualização direta de volume, consiste em representar o vo-
lume através de voxels 3D que são projetados diretamente em pixels 2D e armazena-
dos como uma imagem, dispensando o uso de primitivas geométricas. Neste caso,
numa etapa de classificação, é usada uma função de transferência, que corresponde
ao mapeamento dos valores dos voxels (densidade do tecido, por exemplo) para
propriedades visuais, tais como cor e opacidade. A visualização das estruturas de
interesse dentro do volume é realizada a partir da visita a todos os voxels (ou quase
todos, dependendo do algoritmo) e da aplicação da função de transferência para a
construção da imagem. Estas técnicas possuem um alto custo computacional, pois
normalmente envolvem um tipo de interpolação nos pontos ao longo da direção de
visualização. Por outro lado, produzem imagens de excelente q~ialidade, uma vez
que todos os voxels podem ser usados na síntese das imagens, possibilitando a visu-
alizaqão do interior dos objetos, conforme mostra a Figura 3.1. Os algoritmos que
fazem parte deste grupo são ray casting [18], splatting [19, 201, shear-warp [21], shell
rendering [22], cell-projection [23] e V-Buffer [24].
Figura 3.1: Do lado esquerdo temos um exemplo de visualização volumétrica direta
(Ray Casting), e do lado direito um exemplo de visualização indireta (Marching
Cubes) .
Na renderização volumétrica raios imaginários são emitidos do observador por
cada pixel da imagem, e passam através do objeto tridimensional, perfurando as
células deste objeto. Na medida em que os raios atravessam os dados, eles inte-
ragem com as células do interior do objeto, acumulando valores numéricos de acordo
com a intensidade, a opacidade e os atributos de cada elemento de volume atraves-
sado, calculando-se a contribuição de cada um para a cor final do pixel. No término
da renderização, os pixels gerados representam a projeção dos dados volumétricos
no espaço bidimensional, compondo a imagem final. Este processo pode ser re-
alizado de três formas diferentes: object-order (ou forward-projection), que envolve
o mapeamento de amostras de dados no plano da imagem; image-order (ou back-
wardprojection), que determina para cada pixel do plano da imagem quais são as
amostras que contribuem no cálculo da sua intensidade; e domain-based, quando os
dados 3D são transformados para outro domínio, como freqüência ou wavelet.
Capítulo 4
Visualização de Dados Litológicos
Neste Capítulo será apresentado o sistema de segmentação e visualização de dados
litológicos proposto neste trabalho. O foco de nosso sistema é o de criar uma ferra-
menta que o especialista em geologia possa interpretar e identificar com facilidade
as diferentes regiões litológicas de uma determinada área de estudo.
4.1 Arquitetura do Sistema
A ferramenta proposta foi desenvolvida na linguagem C++ para o sistema opera-
cional Linux. Ela é composta de cinco módulos distintos:
o Leitura dos dados litológicos
o Segmentação
o Renderização
o Exportação/Importação dos dados
o Interface com o usuário
Na Figura 4.1 mostramos como a ferramenta funciona com seus cinco módulos
e a comunicação entre eles. O módulo de leitura dos dados litológicos gera uma
estrutura em memória contendo informações sobre o volume que será segmentado,
dentre estas informaçõess estão as dimensões do volume, o intervalo estratigráfico
em estudo e o conjunto de propriedades que compõem cada voxel. Esta estrutura
é utilizada como entrada para o módulo de segmentação. A saída da segmentação
é uma coleção de superfícies. Cada uma dessas superfícies serve de entrada para o
módulo de renderização que gera imagens diretamente para a interface gráfica e para
o módulo de exportação de dados. O módulo exportação de dados lê as imagens
geradas pelo renderizador e gera como saída arquivos VRML que podem também ser
manipulados pela interface gráfica. A seguir descrevemos o funcionamento detalhado
de cada um dos módulos.
4.2 Leitura dos dados litológicos
A leitura dos dados litológicos, consiste no carregamento do arquivo gerado, previ-
amente, pelo sistema de mapeamento de litofácies (explicado no Capítulo 2.6.1). O
cabeçalho deste tipo de arquivo traz as seguintes informações: nome do volume e o
número de voxels nas direções x, y e z. Após o cabeçall-io, vem em seqüência todos
os valores para cada voxel do volume. Cada um dos oito vértices que compõem um
voxel, recebe um valor que pode variar de O a 12, onde o valor O significa ausência
de litofácies e os valores maiores representam cada uma das litofácies presentes na
região.
4.3 Segmentação
Segmentação significa a identificação de uma ou mais estruturas -?O existerites nas
imagens, separando-as das demais. No caso de dados litofaciológicos, significa a
identificação das regiões compostas pelas diferentes litofácies definidas no sistema
de classificação (arenitos-pelitos-carbonatos) conforme mostra a Figura 2.4. Em
uma determinada área de estudo podemos encontrar até doze tipos de litofácies.
Para podermos separar cada uma das litofácies faz-se necessário que todo o volume
seja verificado. O algoritmo de segmentação percorre seqüencialmente cada voxel
analisando todos os seus vértices. Os vértices que apresentam valor igual ao da
litofácie desejada, são incluídos no processo de geração da malha.
O procedimento de classificação irá percorrer o dado litofaciológico doze vezes,
segmentando cada uma das regiões de interesse. Para armazenar as superfícies
poligonizadas, foram criadas três classes de objetos: Superfície, Triângulo e Vértice.
Na classe Superfície ficou a responsabilidade de armazenar o código da litofácie
que esta sendo moldada, como uma coleção de objetos Triângulos, que compõem a
malha triangular deste objeto. A Figura 4.2 ilustra um diagrama de classe, no qual
podemos observar melhor como essas classes se relacionam.
No presente trabalho foi utilizada uma extensão da técnica de extração de iso-
superfícies conhecida como Marching Cubes para a segmentação das litofácies. O
algoritmo Marching Cubes gera uma representação geométrica do dado volumétrico,
o qual deseja-se visualizar. Esta malha poligonal contém triângulos em sua grande
maioria.
O algoritmo Marching Cubes é caracterizado por dois passos principais:
Localizar a superfície que envolve a região que contenha um determinado valor
e criar a malha poligonal que a envolva.
Calcular a normal à superfície do triângulo para cada um dos seus vértices,
com o objetivo de garantir a qualidade da superfície.
Neste algoritmo a superfície é modelada, analisando-se os valores dos 8 vértices
de cada voxel contra um valor especificado para a superfície a ser modelada, que
é chamado de threshold. Para determinar se a superfície atravessa um voxel, o
algoritmo compara os valores escalares de cada vértice (veja Figura 4.3), com o
valor especificado para a superfície. Se todos os vértices têm valores maiores ou
menores do que o especificado, este voxel é interior ou exterior, conforme o resultado
deste teste. Se, por outro lado, pelo menos um vértice do voxel apresentar situação
inversa dos demais vértices, significa que há interseção. O procedimento então é o
seguinte: para cada face do voxel, os vértices posicionados de um lado, atribui-se
o valor 0; para vértices localizados do outro lado da superfície, atribui-se o valor
1. Se a superfície for fechada, podendo se ter a noção de dentro e fora, os vértices
que estiverem do lado de fora receberão o valor 0. A superfície intercepta aqueles
lados do cubo onde um vértice está fora da superfície (0) e o outro onde esta dentro
da superfície (1). Uma vez que existem oito vértices em cada cubo e dois estados,
dentro e fora, existem 2'=256 possibilidades de uma superfície interceptar o cubo.
Dois tipos diferentes de simetrias, veja Figura 4.4, presentes no cubo reduzem o
problema de 256 para 15 padrões.
Como foi ilustrado anteriormente o método Marching Cubes utiliza uma pequena
tabela de consulta (ver Figura 4.5). O principal problema com o Marching Cubes
é que este método possibilita o aparecimento de pequenos buracos em virtude de
discrepâncias na conexão de vértices presentes em faces compartilhadas por células
adjacentes, ver Figura 4.6. Outro problema é que mesmo nos casos onde não são
visiveis discrepâncias, o método Marching Cubes pode produzir isosuperfícies com a
topologia diferente de isosuperfícies produzidas a partir das mesmas celulas usando
outros métodos. Na Figura 4.7 podemos observar os resultados obtidos aplicando
diferentes métodos ao mesmo conjunto de células, a figura da esquerda gerada pelo
método Marching Cubes consiste de dois triângulos separados, enquanto a isosu-
perfície da direita, gerada pelo método Dividing Cubes assemelha-se a um cubo.
O motivo pelo qual o método Marching Cubes algumas vezes produz resultados
topologicamente incoerentes esta relacionado ao fato que para cada configuração na
tabela de possibilidades o Marching Cubes utiliza apenas uma variação da topolo-
gia da isosuperfície, enquanto que a função trilinear frequentemente permite outras
variações.
Muitos melhoramentos e otimizações deste método ainda usam esta tabela. To-
davia esta tabela pode gerar quebras e inconsistências topológicas na superfície
resultante. Chernyaev [I] propõem a utilização de uma configuração contemplando
mais casos (ver Figura 4.8), saltando dos 15 casos originais, para um total de 33
casos, desta forma resolvendo os possíveis problemas de q~iebras e inconsistências
topológicas que poderiam surgir na superfície resultante. O presente trabalho utiliza-
se da implementação realizada por Lewiner et al. [25], a qual baseou-se nos estudos
realizados por Chernyaev.
4.3.1 Paralelização da Segmentação
Após executarmos inúmeras vezes a ferramenta de vis~ialização de litofácies, nas
estações de trabalho, constatamos que o módulo de segmentação comsumia algo em
torno de 55 segundos para a fracionamento de uma única litofácie e algo em torno
de 12 min~itos, em média, para a separação das doze litofacies. O elevado tempo
para a segmentação é provocado pelos inúmeros testes de ambigüidades (de faces
ou internas) que o algoritnio necessita realizar para garantir uma malha sem bura-
cos e inconsistências topológicas, estas caracteristicas são fundamentais para que o
profissional de geologia possa realizar uma interpretação correta da distribuição das
litofácies da área em estudo.
Para contornar o problema do elevado tempo na geração das isosuperfícies, im-
plementamos uma versão paralela do módulo de segmentação. A ideia era distribuir
esse trabalho de segmentar as litofácies, para outras estações. Para a distribuição
das tarefas de segmentação, utilizou-se de um cluster de estações de trabalho não
homogêneas e não dedicadas e a biblioteca MPI (Message Passing Interface) para a
paralelização e troca de mensagens.
MPI é uma proposta de padronização para a interface de troca de mensagens
para ambientes paralelos, especialmente para aqueles com memória distribuída. MPI
é um "padrão por consenso". Foi introduzido pelo MPI Fórum em maio de 1994 e
atualizado em junho de 1995. Seu projeto incluiu a participação de vendedores de
hardware, pesquisadores, acadêmicos, desenvolvedores de bibliotecas de software,
e usuários, representando até 40 organizações e inclui quase todos os fabricantes
de máquinas paralelas, universidades e laboratórios governamentais pertencentes à
comunidade envolvida na computação paralela mundial [26, 271.
O MPI propõe-se a atuar sobre um grupo heterogêneo de computadores inter-
conectados por uma ou mais redes locais. Sua biblioteca de rotinas, ou primitivas,
pode ser incorporada às linguagens de programação Fortran 77 e ANSI C, portanto
pode ser usada também para Fortran 90 e C++.
Entre outras facilidades, as rotinas MPI admitem a inicialização e o término de
tarefas dentro da rede, a comunicação e a sincronização entre elas.
Dentre as principais características do MPI merecem ser destacadas as seguintes:
e Eficiência: Foi cuidadosamente projetado para executar eficientemente em
máquinas diferentes. Especifica somente o funcionamento lógico das operações.
Deixa em aberto a implementação. Os desenvolvedores otimizam o código
usando características específicas de cada máquina.
e Facilidade: Define uma interface não muito diferente dos padrões PVM, NX,
Express, P4, etc. e acrescenta algumas extensões que permitem maior flexibi-
lidade.
e Portabilidade: É compatível para sistemas de memória distribuída, NOWs
(network of workstations) e uma combinação deles.
e Transparência: Permite que um programa seja executado em sistemas he-
terogêneos sem mudanças significativas.
e Segurança: Provê uma interface de comunicação confiável. O usuário não
precisa preocupar-se com falhas na comunicação.
e Escalabilidade: O MPI suporta escalabilidade sob diversas formas, por e-
xemplo, uma aplicação pode criar subgrupos de processos que permitem opera-
ções de comunicação coletiva para melhorar o alcance dos processos.
A paralelização da segmentação de litofáceis foi realizada segundo o modelo
mestre-escravo de processamento. Para cada estação de trabalho do cluster foram
definidas as litofácies que deviam ser segmentadas, desta forma obtivemos uma
redução substancial no tempo total de classificação dos dados. Nosso sistema pa-
rz le l~ possui dois tipos de processos:
e Mestre: responsável pela distribuição dos tipos de litofácies que cada proces-
sador deve segmentar, leitura dos arquivos gerados após o processo de seg-
mentação e visualização.
e Escravo: responsável pelo processo de segmentação dos dados litológicos.
O processo mestre envia para cada processo escravo o grupo de litofácies que de-
verão ser segmentadas. Após a segmentação das litofácies em memória, os processos
escravos geram arquivos VRI\/IL, os quais representam cada uma das isosuperfícies
geradas. Esses arquivos são gravados na área de projetos do usuário. Utilizando-se
do NFS, o processo mestre faz a leitura dos arquivos VRML e renderiza todas as
isosuperfícies, veja Figura 4.9.
4.4 Renderização
Uma vez obtida a segrnentação das litofácies presentes no volume inicia-se o processo
de renderização. O módulo de renderização recebe uma coleção de objetos do tipo
Superfície. Cada uma das superfícies é extraída desta coleção, e enviada para o
módulo de renderização. Neste momento os triângulos que compõem a superfície
são analisados e suas normais calculadas. Utilizando-se a biblioteca gráfica Opengl
2.0 todas as superfícies são renderizadas. O processo inicia-se com a leitura da
coleção de triângulos gerada durante o processo de segmentação, cada triângulo é
visitado e seus vértices são extraídos, utilizando-se de comandos para a renderização
de triângulos, a malha é construída.
A partir desse momento o usuário pode manipular as superfícies, rotacionando,
transladando, alterando sua escala, alterando o grau de transparências de cada su-
perfície individualmente, conforme mostra a Figura 4.10. A alteração de transparên-
cia permite ao usuário concentrar-se apenas nas litofácies que esta interessado no
momento, como também propiciar uma melhor visão de como estas litofácies se
comportam dentro do volume em estudo.
Figura 4.2: Diagrama de Classes do sistema proposto.
Figura 4.3: Marching Cubes; imagem adaptada de [2]
Figura 4.6: Buraco na face compartilhada entre dois voxels.
Figura 4.7: Isosuperfície gerada por dois métodos diferentes.
4.5 Exportação/Importação dos dados
A etapa de exportação do volume foi desenvolvida com o objetivo de permitir que o
usuário pudesse armazenar o resultado final já segmentado e renderizado, não neces-
sitando desta forma que o mesmo dado previamente segmentado tenha que passar
pelo mesmo processo, o qual é computacionalmente caro. Como a.lternativa para
este problema foi adicionada ao visualizador a capacidade de exportar e importar
dados no formato VRML.
O VRML é a abreviação de Virtual Reality Modeling La.nguage [28], ou Lin-
guagem para Modelagem em Realidade Virtual. Essa linguagem é independente
de plataforma e permite a criação de ambientes virtuais por onde se pode passear,
visualizar objetos por ângulos diferentes e até interagir com eles. A primeira versão
da linguagem não possibilita muita iteração do usuário com o mundo virtual, mas
versões recentes acrescentam características como movimentos de corpos e interação
entre usuários. A última versão é a 2.0, chamada Moving Worlds VRML 2.0. A
Especificação VRML é a documentação que descreve todas as características da
linguagem.
Apresentada pela primeira vez em 1994 na Primeira Conferência sobre World
Wide Web, a linguagem tem como objetivo dar o suporte necessário para o desen-
volvimento de mundos virtuais multi-usuários na Internet, sem precisar de redes de
alta velocidade. O código VRML é um subconjunto do formato de arquivo ASCII
do Open Inventor, da Silicon Graphics. A linguagem trabalha com geometria 3D
(VRML 1.0 possui algumas primitivas: cubo, cone, cilindro e esfera) e suporta trans-
formações (rotação, translacão, escala)? texturas, luz e sombreamento.
A linguagem VRML possui diferentes tipos de nodes, basicamente, pode-se dizer
que um node é um conjunto de especificações que determinam as características
dos objetos contidos no cenário. Os nodes definem a hierarquia e as características
individuais de cada objeto dentro do contexto geral. O node descreve o tipo do
objeto, que pode ser uma esfera, um cilindro, uma transformação, uma definição de
luz ou textura etc. Também define as características de cada um, como tamanho
de um cubo, diâmetro de uma esfera, intensidade da luz ambiente, cor etc. Não é
necessário dar nome a um node, mas se isso for feito, não se pode ter dois nodes
com nomes iguais.
Os nodes IndexedFaceSet, IndexedLineSet, Coordinate3 são nodes específicos
para a determinação de formas geométricas que não estão pré-definidas na lin-
guagem, que é o caso do trabalho em questão. O node Coordinate3 é usado para
definir pontos no ambiente, onde cada ponto tem seu respectivo índice, iniciando
em zero, ver Figura 4.11.
Figura 4.11 : node Coordinate3.
O node Coordinate3 apenas especifica as coordenadas dos pontos no espaço.
Isso significa que, por enquanto, não temos nenhuma figura no ambiente. Agora
queremos ligar os 3 pontos no espaço para formar um triângulo. Para isso usamos
o node IndexedFaceSet, ver Figura 4.12.
Figura 4.12: node IndexedFaceSet .
39
4.6 Interface Gráfica
Na interface gráfica o usuário da ferramenta tem acesso as funcionalidades de:
e Abrir um novo volume litofaciológico (ver Figura 4.14).
e Importar um volume ja segmentado, que foi previamente armazenado no for-
mato VRML 2.0 (ver Figura 4.16).
e Exportar o volume, em estudo no momento, no formato VRM 2.0 (ver Figura 4.15).
e Alterar a forma de visualização: sólido ou wireframe.
e Chamar a janela de controle de transparências (ver Figura 4.17).
Com o auxílio do mouse ou do teclado o usuário podera rotacionar, transladar
e modificar a escala do objeto tridimensional. A Figura 4.13 representa um screen-
shot da janela gráfica. Nesta imagem podemos observar os menus: Arq~iivo e Vi-
sualização. No menu arquivo o usuário pode abrir uma nova malha, ou exporta
uma malha já aberta para o formato VRML. No menu visualização o usuário pode
invocar a janela de alteração de transparência e alterar o modo de visualização para
wireframe.
Capítulo 5
Result adss Experimentais
Neste capítulo apresentamos os resultados obtidos com a execução de nossa ferra-
menta de visualização e segmentação de dados litológicos. Avaliamos inicialmente
os resultados da segmentação e em seguida avaliamos a aceleração obtida com a
paralelização da segrnentação. Por fim, apresentamos alguns resultados do módulo
de renderização.
Massa de Dados
A massa de dados utilizada no presente trabalho, foi gerada pelo Sistema de Ma-
peamento de Litofácies, discutido em 2.6.1. Estes dados representam regiões em
estudo pelos geólogos da Petrobras. Após o geólogo ter feito um estudo qualitativo
(mapa de litofácies) e quantitativo (mapas de percentuais) sem a preocupação de
relatar as distribuições das litofácies em função de suas profundidades. O módulo
de exportação de volume do sistema de mapeamento de litofácies, decompõe o in-
tervalo estratigráfico em fatias. A construção do volume se dá através da definição
do número de fatias definidas pelo usuário. As profundidades de topo e base, isto
é, o intervalo de tempo geológico, são substituidas por frações do intervalo e o pro-
cessamento de modelagem do sistema litofaciológico é repetido, gerando-se novas
superfícies de percentuais e um novo mapa de litofácies para cada fatia. Este mo-
delo se refere a uma fração de tempo geológico de deposição da unidade estratigráfica
e não mais a toda unidade estratigráfica, conforme mostra a Figura 5.1.
Oeração de Volume
Fafia 2 Fatia 5
Fatia 3
Figura 5.1: Geração de volumes a partir do Sistema de Mapeamento de Litofácies
A Figura 5.2 ilustra, esquematicamente, a decomposição em voxels de volume
destinado a alimentar a ferramenta de segmentação e visualização de litofácies im-
plementada neste trabalho. A distribuição litofaciológica é modelada sob a forma
de uma matriz tridimensional, M(x,y,z), com origem no canto superior esquerdo.
Cada elemento da matriz ou voxel define um paralelepípedo em uma dada posição
no espaço associado a um atributo litofaciológico. O número de células no eixo x é o
mesmo do número de colunas das malhas de topo e litofácies. O número de células
no eixo y é o mesmo do número de linhas das malhas de topo e litofácies. O número
de células no eixo dos z e definido pelo usuário.
No presente trabalho os dados utilizados possuem as seguintes dimensões, ver
Tabela 5.1.
I Área 1 1 262 x 202 x 1048 1
Tabela 5.1: Dimensões dos dados utilizados (voxels) .
5.2 Regiões Segmentadas
As Figuras 5.3, 5.4 e 5.5 ilustram respectivamente a segmentação dos: arenitos,
pelitos e carbonatos. Estas segmentações foram obtidas da área 1.
Figura 5.3: Visualização dos Areilitos,
5.3 Segmentação Paralela
Nesta seção apresentamos uma avaliação do algoritmo paralelo de segmentação
quando executado em um cluster heterogêneo. Estamos interessados em apresentar
a acelaração obtida com o uso do paralelismo.
5.3.1 Ambiente de Execução
O ambiente de computação distribuída utilizado em nossos experimentos é composto
de um cluster heterogêneo com 12 estações de trabalho. As estações utilizadas estão
descritas na Tabela 5.2.
1 3 1 AMD Opteron(tm) Processor 248 1 2.2 GHz I 15Gb de memória
131 Intel (R) Xeon (TM) I 3.06GHz I 8Gb de memória
131 Intel (R) Xeon (TM) I 3.20GHz 1 8Gb de memória
1 2 1 AMD Opteron(tm) Processor 250 1 2.4 Ghz I 15Gb de memória
I 1 I AMD Opteron(tm) Processor 252 1 2.6 GHz I 15Gb de memória
Tabela 5.2: Processadores utilizados.
Podemos observar que o ambiente é composto por processadores heterogêneos,
os quais não estão dedicados à computação distribuída, desta forma sendo utilizados
por usuários locais e remotos. A prioridade de agregação de processadores no cluster
foi a taxa de utilizacão. O critério escolhido para a agregacão dos processadores foi
a disponibilidade, isto é, processadores mais lentos e com alta taxa de utilização
foram colocados no cluster em último lugar.
No presente trabalho toda a comunicação realizada entre os processadores é feita
através da rede local. Todas as estações de trabalho envolvidas utlizavam o mesmo
sistema operacional, Red Hat Linux Enterprise Edition versão 4.0.
5.3.2 Desempenho
A aceleração e a eficiência são as métricas tradicionalmente adotadas para a avaliação
de eficiência e potência computacional do algoritmo paralelo em relação ao sequen-
cial.
Aceleração (speedup) é definida por alguns autores como a relação entre o tempo
do algoritmo sequencial e o tempo do algoritmo paralelo. Entretanto, outros au-
tores definem a aceleração como a relação entre o tempo do algoritnio paralelo
utilizando apenas um processador, e o tempo do algoritmo paralelo utilizando n
processadores. Neste trabalho, utiliza-se como medida de aceleração a primeira
relação, ver Fórmtila 5.1.
Speedup = - (5.1)
Onde T, significa o tempo do algoritmo sequencial, e Tp o tempo do algoritmo
par ale10 . A eficiência de uma paralelizacão é determinada como uma relação entre a ace-
leração obtida e o número de processadores necessários para obtê-la.
Speedup E f iciencia =
n p
onde np representa o número de processadores utilizados.
As medidas tradicionais de aceleração (speedup) descritas anteriormente são ade-
quadas para ambientes homogêneos e dedicados. Em um ambiente compartilhado
e heterogêneo, como o escolhido, o tempo do melhor algoritmo sequencial depende
do processador utilizado e de seu processamento local. Neste trabalho, a métrica
adotada corresponde ao tempo medido no melhor processador da rede sem o com-
partilhamento com outros usuários. A análise de tempos em redes heterogêneas e
não dedicadas requer uma medida que indique a perda devida a comunicação e ao
deseiiipeiilio iiidivi;ual de iiiáq-uiiia. p,Jeste traloalho foi utilizada a iiiétrica
proposta por [29], denominada de tempo ideal.
O tempo ideal é o tempo que o algoritmo usaria se não existissem perdas em
decorrência de carga nos processadores e a comunicação entre eles. Esta métrica de-
termina o tempo que a arquitetura mais lenta leva para processar o seu percentual
do conjunto de dados, nesta arquitetura cada processador recebe a mesma quanti-
dade de dados e o processo se acaba quando o último processador terminar. Este
tempo é obtido pela seguinte fórmula:
m a x (ti)
onde ti é o tempo que o processador mais lento leva para segmentar as doze
litofácies e n, o número de processadores
A Tabela 5.3 fornece os tempos obtidos com o algoritmo sequencial em cada
classe de processadores. Estes tempos serão utilizados para o cálculo do tempo
ideal.
Tabela 5.3: Tempo do algoritmo sequencial em segundos.
A Tabela 5.4 ilustra os tempos ideais obtidos utilizando a Fórmula 5.3 com os
InteZ(3.06)
681
dado
Area 1
resultados adquiridos na Tabela 5.3.
I Processadores I Area l
A M D ( 2 5 2 )
456
Tabela 5.4: Tempos ideais em segundos, em função do número de processadores.
Como podemos observar em virtude das tarefas serem distríbuidas uniforniente,
a incltisão de um processador de menor disponibilidade provoca aumento nos tempos
ideais. Para cada um dos exemplos utilizados (área 1, área2 e área 3 ) foram realiza-
dos 20 testes diários, em diferentes horários, no período de 2 meses, para a obtenção
dos tempos na arquitetura distribuída. Os resultados obtidos foram armazenados
em arquivos de log que continham a data e hora da execução, os processadores en-
volvidos no ensaio e o tempo de execução. A Figura 5.6 apresenta a relação dos
A M D ( 2 5 0 )
475
A M D ( 2 4 8 )
583
Intel(3.20)
602
tempos obtidos para cada massa de dado, e o número de processadores utilizados.
A Figura 5.7 representa a eficiência obtida, a qual foi baseada na Fórmula 5.4.
z d e a l E f iciencia = - Tobtido 1
Tempos Obtidos
2 3 4 r,
NLímem de processadures
Figura 5.6: Tempos obtidos para as áreas 1,2 e 3.
Os resultados apresentados mostram que elevados índices de eficiência podem
ser alcançados com a utilização da programação distribuída. As três massas de
dados obtiveram graus de eficiência muito semelhantes; em torno de 90% e 98%,
no cenário de até quatro processadores, somente decaindo para cerca de 70% e
80%, quando processadores de mais alta taxa de utilizagão são agregados ao cluster,
cenário formado por 6 ou 12 processadores. Partindo de um tempo inicial de 9,5
minutos para a Área 1, 12 minutos para a Área 2 e 13,4 minutos para a Área
3, conseguimos com a utilização de um cluster de 12 estações, chegar a valores de:
56,75 segundos e 75, O segundos, 94, O segundos, para as respectivas áreas.
Capítulo 6
Conclusões
A análise de dados litofáciologicos torna-se uma tarefa extremamente complicada se
o profissional de geologia não possui ao seu alcance ferramentas para visualizar a
disposição dos materiais pela superfície e pelas diferentes profundidades das regiões
de interesse. A visualização volumétrica tem como objetivo facilitar o entendimento
espacial de um ambiente tridimensional complexo, permitindo, em particular, aos
geólogos o estudo detalhado de todo o intervalo estratigráfico, que foi gerado ao
longo das Eras geológicas.
O presente trabalho implementou um sistema computacional dedicado à geração
de objetos litofaciológicos tridimensionais, com garantias topológicas, que repre-
sentam as distribuições, no espaço 3D, de composições de rochas sedimentares em
unidades estratigráficas. Através da segmentação seletiva e da alteração do grau
de visibilidade dos corpos litológicos, o geólogo pode concentrar-se em analisar as
litofácies individualmente ou em grupos de inte-resse, e desta forma observar melhor
a relação que existe entre os materias geológicos depositados na área em estudo.
Em virtude do tamanho dos dados a serem segmentados, e dos inúmeros testes
de ambigüidade realizado pelo algoritmo de segmentação para garantir uma malha
sem buracos ou inconsistências topológicas, o tempo de segmentação tornavasse
lento. Para contornar este problema o presente trabalho apresenta a solução de
utilizar computação distribuída, desta forma a tarefa de seginentação das litofácies,
que se apresentava como um gargalo na aplicação, poderia ser dividida entre outras
máquinas. Toda a arquitetura do cluster foi baseada em estações de trabalhos ligadas
pela rede local.
A partir de vários testes realizados, constatou-se que é possível alcançar reduções
significativas nos tempos de segmentações de dados com a utilização de clusters
formados por máquinas não homogêneas e não dedicadas.
6.1 Trabalhos Futuros
Um tema importante para um trabalho futuro é criar um módulo de análise de
vizinhança, no qual o usuário ao fazer a seleção em uma das litofácies, o sistema au-
tomaticamente identifique as litofácies vizinhas, permitindo desta forma uma melhor
análise da interrelação dos materias acumulados.
O particionamento do volume que será segmentado no espaço do objeto, possibi-
litando desta forma, que mais processadores possam ser utilizados e por conseqüência
diminuindo o tempo total de segmentação.
Referências Bibliográficas
[I] CHERNYAEV., E. V. Marching cubes 33: construction of topologically correct
isosurfaces. Technical Report CERN (1995).
[2] LORENSEN, W. E. , AND CLINE, H. E. Marching cubes: A high resolution
3d surface construction algorithm. In SIGGRAPH '87: Proceedings of the 14th
annual conference on Computer graphics and interactive techniques (New York,
NY, USA, 1987), ACM Press, pp. 163-169.
[3] THOMAS, J . E. Fundamentos de Engenharia de Petróleo. Interciência, 2001.
[4] P O P P , J. H. Geologia Geral, 4 ed. Livros Técnicos e Científicos, 1988.
[5] HILL, D. G. Geologic log analysis using computer methods. gca (march l995),
1030-1031.
[6] STENO, N. The prodromus to a dzssertation concerning solids naturally con-
tained within solids Laying a foundation for the renderzng a rational accompt
both of the frame and the severa1 changes of the masse of the earth, as also of
the various productions in the same., 1 ed. F. Winter, 1671.
[7] KRUMBEIN, W. C. Regional and local components in facies maps. Bulletin of
The American Association of Petroleum Geologists 40, 9 (1956), 163-2.194.
[8] DE RAAF, J .F .M, R. H. R. H. A. W. R . Sedimentology, 4 ed. 1965.
[9] VARELLA, L. E. S. Modelagem e Visualização de Distribuições Litofaciológicas
Tridimensionais. Tese de Doutorado, Universidade Federal do Rio de Janeiro,
Março 2007.
[10] BATTAIOLA, A. L. Análise de conceitos relacionados à implementação de
sistemas de visualização tridimensional de dados meteorológicos. Tese de
Doutorado, USP.EP, 1991.
[ll] KAUFMAN, A. E. Volume visualization. A C M Comput. Surv. 28, 1 (1996),
165-167.
[12] ELVINS, T. T. A survey of algorithms for volume visualization. S I G G R A P H
Comput. Graph. 26, 3 (1992), 194-201.
[13] KAUFMAN, A., AND MUELLER, K. Overview of volume rendering. Chapter
for The Visualization Handbook (2005).
[14] WEINSTEIN, D. Scanline surfacing: Building separating surfaces from planar
contours. In IEEE Visualization 2000 (2000), pp. 283-289.
[15] H. F u c ~ s , Z.M. KEDEM, S. U. Optimal surface reconstruction from planar
contours. Communications of the ACM. 20, 10 (1977), 693-702.
[16] KEPPEL., E. Approximating complex surfaces by triangulation of contour lines.
I B M Journal of Research and Development. 19, 1 (1975), 2-11.
[17] K. MUELLER, S. MOLLER, R. C. Splatting without the blur. I E E E Visual-
ization (l999), 363-370.
[18] LEVOY, M. Display of surfaces from volume data. In I E E E Computer Graphics
and Applications (1988), IEEE Press, pp. 29-37.
[19] WESTOVER, L. Interactive volume rendering. In Workshop on Volume Visu-
alization (1989), University of North Carolina Press, pp. 9-16.
[20] WESTOVER, L. Footprint evaluation for volume rendering. In S I G G R A P H '90:
Proceedings of the 17th annual conference o n Computer graphics and interactive
techniques (New York, NY, USA, 1990), ACM Press, pp. 367-376.
[21] LEVOY, M., AND P .LACROUTE. Fast volume rendering using a shear-warp
factorization of the viewing transformation. In S I G G R A P H '94: Proceedings
of the 15th annual conference o n Computer graphics and interactive techniques
(1994), IEEE Press, pp. 451-458.
[22] J.K.UDUPA., AND ODHNER, D. Shell rendering. IEEE Computer Graphics
and Applications. 13, 6 (1993), 58-67.
[23] WILHELMS, J., AND GELDER, A. V. A coherent projection approach for
direct volume rendering. In S I G G R A P H '91: Proceedings of the 18th annual
conference o n Computer graphics and interactive techniques (New York, NY,
USA, 1991), ACM Press, pp. 275-284.
[24] UPSON, C., AND KEELER, M. V-buffer: visible volume rendering. In S I G -
G R A P H '88: Proceedings of the 15th annual conference o n Computer graphics
and interactive techniques (New York, NY, USA, 1988), ACM Press, pp. 59-64.
[25] LEWINER, T., L. H. V. A. W. , AND TAVARES, G. Efficient iinplementation
of marching cubes cases with topological guarantees. Journal of Graphics Tools
(2OO3), 8,2,1-15.
[26] MACBRYAN, O. Suprenum; perspectives and performance. In Parallel Com-
puting (1994), Oscar Nierstrasz(Ed.), pp. 1427-1442.
[27] WALKER, D. W. The design of a standard message passing iiiterface for dis-
tributed memory concurrent computers. In Parallel Computing (l994), vol. 20,
pp. 657-673.
[28] NADEAU, D. R., AND MORELAND, J. L. V R M L 2.0 SourceBook., 2 ed. Jonh
Wiley and Sons, 2001.
[29] SEIXAS, R. B . Visualização Volumétrica com Ray- Casting num Ambiente Dis-
tribuz'do. Tese de Doutorado, Pontifícia Universidade Católica do Rio de Janeiro,
1997.
Recommended