Download "DESENVOLVIMENTO DE UM SISTEMA G ~ ~ F I C O PARA

Transcript
"DESENVOLVIMENTO DE UM SISTEMA G ~ ~ F I CPARA
O
TERMINAIS"
~ e l e n êda Silva Cavalcanti
TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE pósGRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO C0
MO PARTE DOS REQUESITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE
EM CIÊNCIAS (M.Sc.).
Aprovada por :
Presidente
RIO DE JANEIRO
ESTADO DO RIO DE JANEIRO-BRASIL
MAIO DE 1976
/
A Geraldo Magela
AGRADECIMENTOS
A todos que, direta ou indiretamente, contribuiram pa-
ra que esse trabalho fosse levado a efeito,e muito em particular:
A COPPE, pela bolsa de estudos.
A François Gallais-Hammonno, pela orientação na
fase
inicial deste trabalho.
A Nelson Maculan Filho, pela orientação na fase
final
deste trabalho e pelo apoio.
A Luiz Ferrara de Almeida Cunha e ~ o ã o~ o s éNeto, pelo
incentivo.
A Zuleica da Silva Cavalcanti, pela revisão do texto.
A Regina Coeli Jacob, pelo trabalho de datilografia.
A meus amigos, pela atenção.
A meus familiares, por tudo.
iii
O propósito deste trabalho
6 a p r e s e n t a r um s i s t e m a
f i c o p r o j e t a d o p a r a o computador MITRA-15 do LASS/COPPE e
detalhar
grg
um
p a c o t e g r á f i c o que o p e r a s o b r e f i g u r a s t r i d i m e n s i o n a i s .
A ê n f a s e é dada
5 d e s c r i ~ ã odo método d e ação u t i l i z a d o
p a r a a manipulação d e coordenadas de que se compõe um o b j e t o no
espaço
-
e e s c o l h a d e pontos e l i n h a s v i s í v e i s s o b r e o mesmo, segundo um o b s e r v a
d o r colocado no i n f i n i t o .
I?d e s c r i t o um procedimento capaz d e t r a n s f o r m a r
coorde
-
nadas e p o s s i b i l i t a r a v i s ã o da mesma sob novo ponto d e v i s t a , com exem
pios colocados no a p ê n d i c e 2 .
Uma i d é i a s o b r e a implementação dos a l g o r i t m o s usados é
i l u s t r a d a no apêndice 1, a t r a v é s da l i s t a g e m dos mesmos,
ASSEMBLER do IBM-1130.
em
linguagem
ABSTRACT
The purpose o£ this work is to show a graphic system
designed for the mini-computer MITRA-15 o£ LASS/COPPE and to describe
in detail a graphic package that deals with three-dimensional pictures.
The special approach is for the manipulation of
the
coordinates in space and the choice of visible points and lines for an
object, relative to an observer fixed at an infinite point of view.
A procedure is described which can change the values
of coordenates to allow a new view of an object, as illustrated
in
appendix 2.
An example of the implementation of the algorithms
used is shown in appendix 1, consisting of ASSEMBLER language listings
for the IBM 1130 computer.
CAP~TULOI:
Introdução
1.1 - Os sistemas gráficos
1.1.1 - Apreciação
1.1.2
1.2
1.3
-
-
Alternativas
Os processos gráficos de saída
Objetivos do presente trabalho
considerações gerais
2.2 2.3 2.4 2.5 2.6 CAP~TULO111:
Alcance
A criação de um sistema gráfico
unções gráficas
O problema das linhas escondidas
~onclusões
Um sistema gráfico
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
-
-
organização e terminologia
~~resentação
do programa de aplicação CONV
Utilização
Filosofia de tratamento
Tempo e memória
A organização do programa
O sistema de projeção
Os nós de informação
3.8.1
-
O formato do nó de informação
3.9 - Ps subfiguras
3.10- OS níveis de visibilidade
3.11- Modularidade
CAPITULO IV:
A estrutura de dados
4.1 - ~ntrodução
4.2 - Estruturas de dados manipulados por CONV
4.3 - Procedimentos de entrada
4.3.1 - Filosofia de tratamento
4.3.2 - O procedimento de montagem e preenchimento
da estrutura
4.3.2.1 - Descrição das variáveis
CAPITULO V:
Procedimentos gerais
5.1 - Introdução
5.2 - Os pontos extremos
5.2.1 - A busca dos pontos extremos
5.2.1.1 - Descrição das variáveis
5.2.1.2 - Procedimento 2
5.3 - Os pontos que pertencem ao contorno-pontos do
nível
5.3.1 - ~ntrodução
5.3.2 - Filosofia de tratamento
5.3.2.1 - ~ é t o d ode ação
5.3.2.1.1 - Casos particulares
5.3.3 - A busca dos pontos do l? nível
5.3.3.1 - ~escriçãodas variáveis
5.3.3.2 - Procedimento 3
5.4 - O critério da visibilidade
5.5 - Os pontos ligados aos do contorno-pontos do 20
nível
5.5.1 - Introdução
5-5.2 - Filosofia de tratamento
5.5.3 - O caso dos pontos em linha reta
5.5.4 - A busca dos pontos do 20 nível
5.5.4.1 - Descrição das variáveis
5.5.4.2 - Procedimento 4
CAPITULO VI:
Procedimentos de saida e rotinas de transformação
6.1 - As linhas visiveis-pontos do 30 nivel
6.2 - A busca dos pontos do 30 nivel
6.2.1 - Procedimento 5
6.3 - A interpretação dos códigos de I
6.4 - A exibição da figura
6.4.1 - Procedimento 6
6.5
-
Rotinas de transformação
APÊNDICE 1
Listagens dos algoritmos usados
Procedimento 1
Procedimento 2
Procedimento 3
Procedimento 4
Procedimento 5
Procedimento 6
Exemplos de figuras trabalhadas por CONV e desenhadas pelo
PLOTTER
85
BIBLIOGRATIA
87
1.1
-
OS SISTEMAS GF&FIC,OS
De um modo geral, toda vez que a facilidade
display
%
gráfico é incorporada a um computador, sistemas grâficos novos são escritos para suportá-lo. O projeto e implementação deste software 6 uma
atividade que absorve tempo e energia em larga escala. Apesar do
dis-
pêndio de recursos humanos, o resultado é, na maioria das vezes, insatisfatório. 0s usuários costumam encontrar dificuldades de programação
e de falta de generalidade nos sistemas gráficos,que por sua
vez são
responsáveis por uma sobrecarga do computador, em termos de memória
e
tempo envolvido na computação do grande número de testes que estes pre
cisam executar.
O contínuo surgimento de novos sistemas gráficos
traz
a seus usuários grandes inconveniências e têm dado aos sistemas gráficos iterativos uma reputação má 191
. Isso não seria problema se o in-
verso acontecesse: cada sistema de software dando suporte a uma variedade de configurações de hardware. Nos Últimos tempos tem sido notado
algum progresso nesse sentido: poucos sistemas têm sido desenvolvidos,
com o objetivo de suportar uma variedade de terminais. são os chamados
"sistemas gráficos independentes do dispositivo", muito populares
en-
tre projetistas de programas de aplicação, apesar de não serem conside
rados Ótimos.
Sistemas gráficos necessitam ser mais do que
indepen-
dentes do dispositivo. Eles precisam ser sistemas de propósito
\
geral
cujo objetivo deve ser o de suportar uma larga variedade de aplicações.
Os sistemas gráficos dificilmente satisfazem a essa condição
porque
seus projetistas os dirigem para aplicaçoes específicas visando
sua
otimizaçso. E muito comum acontecer, que uma aplicação inesperada para
um certo sistema resulte em grande numero de modificações e até reformulação dos mesmos. Isso não aconteceria se os projetistas se preocupassem em fazer um conjunto geral de funções para seus sistemas.
Outra idéia é fazer sistemas gráficos'de alto nível[4]
os quais pudessem prover meios simples e poderosos de se escrever apli
cações gráficas, evitando ao usuário o conhecimento de facilidades de
baixo nível de hardware. Seria ideal poder-se fazer programas de aplicação gráfica tão fáceis de se escrever e manter como qualquer
outro
tipo de programa iterativo, destruindo o mito da dificuldade em
torno
da programação gráfica.
1.1.2
-
ALTERNATIVAS:
Alguns sistemas são construidos em forma de
."pacotes
gráficos", isto é, como um conjunto de funções ou subrotinas a
serem
chamadas por programas de aplicação escritos em uma linguagem de pro
gramaqão padrão. Outra alternativa
e
projetar-se uma linguagem
-
espe-
cial de programação, o que pode ser feito tomando-se por base uma outra já existente, extendendo-a e modificando-a onde for necessário
a
fim de permitir-se o desenvolvimento de certas tarefas gráficas. ~á as
pectos positivos e práticos para a construção pacotes gráficos ao invés
de uma linguagem especial:
-
Uma boa e particular razãosque '6virtualmente impos-
szvel a escolha de uma linguagem que satisfaça a todas os programado
-
res
.
-
Um p a c o t e g r á f i c o pode ser p r o j e t a d o p a r a
usar
vá-
rias linguagens d i f e r e n t e s .
s ã o r a z õ e s como e s t a s que f a c i l i t a m uma e v e n t u a l escol h a e n t r e ambas as opções.
L. 2
-
OS PROCESSOS GRÁFICOS
DE S A ~ D A
4
Uma d a s maiores r e s p o n s a b i l i d a d e s d e um p r o j e t i s t a
e
p r o d u z i r um s i s t e m a q u e o u s u á r i o possa e n t e n d e r .
F a z e r a n a l o g i a com o p l o t t e r é um modo d e
simplificar
o p r o c e s s o g r á f i c o d e s a í d a . Ao u s u á r i o é informado que manipula
uma
e s p é c i e d e pena que pode abandonar o t r a ç a d o d e l i n h a s à medida q u e
f i g u r a se movimenta na t e l a e desenhar outras,em o b e d i ê n c i a a
a
funções
e s c o l h i d a s previamente p o r ele.
Sob o ponto d e v i s t a do p r o j e t i s t a , a s c o i s a s
t ã o s i m p l e s . Supondo-se que a s r o t i n a s d e s a í d a passassem
tos
não s ã o
dados g r ã f i
d i r e t a m e n t e p a r a a t e l a do d i s p l a y , e n c o n t r a - s e o s e g u i n t e p r o b l e -
m a : se e s t a s r o t i n a s forem executadas uma Única vez, a f i g u r a p o r elas
d e f i n i d a s u r g i r i a n a t e l a e d e s a p a r e c e r i a e m s e g u i d a . I?o problema
regeneração da imagem, dependente do hardware u t i l i z a d o e
da
da
frequên
tia com que s ã o e x e c u t a d a s as r o t i n a s d e s a í d a . Desse modo, a s r o t i n a s
d e s a í d a desempenham a função de a l g o r i t m o d e v i s u a l i z a ç ã o , enviando 5
t e l a a s p e c t o s c o n t í n u o s do que se e n c o n t r a armazenado nas
estruturas
d e dados manipuladas p e l o s i s t e m a .
Nos p r o c e s s o s i t e r a t i v o s ou s e j a , quando a e n t r a d a
dados f o r n e c e
r e s p o s t a s i m e d i a t a s , sempre que a e s t r u t u r a d e dados
de
6
modificada a imagem deve ser mudada também. E s t e c o n c e i t o é extremamen
te simples e igualmente difícil quanto à irnplementa~ãs.O problema reside
no
fato de que as rotinas escritas para programas de aplicação
devem ser suficientemente rápidas para garantir a regeneração da imagem na tela, evPtando que ela enfraqueça ou desapareça. Se as
rotinas
forem bem simples e a estrutura de dados pequena, esse problema
pode
ser evitado, bem como através do uso de sistemas multi-programados.
1.3
-
OBJETIVOS DO PRESENTE TRABALHO
Neste trabalho
descrito o programa CONV,o qual
faz
parte do projeto de um sistema gráfico projetado para uma unidade exibidora controlada pelo minicomputador MITRA-15. O propósito de CONV
o de manipular os dados tridimensionais que compõem um objeto
é
convexo
no espaço, permitindo ao usuário uma visão do mesmo sob ângulos
dife-
rentes,mediante rotação em relação a um dos eixos coordenados.
O objetivo deste trabalho é o de mostrar as
fases de implementação de CONV e descrevê-las em detalhe,
diversas
abordando
seus problemas especfficos, Isto se deve ao fato de as rotinas de mani
pulação de raios cotõdicos, concernentes ao sistema gráfico:citado, se
rem desenvolvidas em paralelo a este trabalho. Pelo mesmo motivo, CONV
foi implementado no IBM-1130, utilizando o PLOTTER como unidade
de
safda.
O apêndice 1 apresenta as listagens de CONV em linguagem ASSEMBLER do IBM-1130 sob a forma de programa principal, sem
ser
quebrado em rotinas. Essa medida visa a facilitam sua compreensão bem
como a transcodificação posterior para linguagem ASSEMBLER do MITRA-15.
A utilização do sistema será efetuada por meio de chamadas inseridas no programa do usuário, escrito em linguagem FORTRAN.
Como equipamento básico, o usuãrio conta com uma configuração
de hardware:
C.P.U.
Leitora/perfuradora de f i t a de papel
Console
Unidade exibidora (osciloscÓpio)
mínima
0s gráficos emitidos por computador começaram a ser es
tudados no início dos anos 60, através do SKETCHPAD de 1.E.Sutherland
[l].
Apesar de os elementos constituintes do hardware de computadores
e de displays terem se tornado acessíveis antes da referida época, foi
I
Sutherland quem mostrou que o homem poderia interagir com computadores
através de métodos mais diretos do que bits, números ou de cartões per
furados. Certamente ele não estava sozinho; os melhores componentes do
grupo de pesquisadores dos laboratórios da General Motors buscavam mei
os para que seus projetistas usassem os computadores com maior eficiên
tia. O resultado foi o DAC-I (Design Augmented by Computers), o
foi exposto um par de anos mais tarde durante a "Fall Joint
Conference" C21
qual
Computer
.
Ambos os trabalhos pioneiros acima descritos utiliza-
ram máquinas grandes e um hardware construido especialmente para
dis-
play. Mais tarde, um grupo encabeçado por Prince e Chasen,.,.naLockheed
Georgia Company, elaborou um sistema gráfico para computador em um com
putador menor. Seu projeto inicial se destinava a permitir que o usuário gerasse instruções em uma maquina de controle numérico.
Por volta de 1965 muita gente já se mostrava
interes-
sada pelos problemas envolvendo gráficos em computador. Os esforços e
investimentos em hardware e, especialmente, em software começaram então a tomar vulto, apesar de produzirem poucos resultados praticas.
Isto se devia a numerosas razaes como: custo de equipamento (eram altos
porque muito poucas unidades eram produzidas), desenvolvimento demorado de sistemas de software (mais lento do que se esperava),
programas
de aplicação demorados devido a lentidão no desempenho dos
próprios
sistemas de software,e também porque era subestimado o esforço necessá
rio para se produzir os programas de aplicação. Contudo, adicionar aos
computadores a capacidade de manipulação de gráficos se constituia
em
um enorme aumento do potencial de aplicação dos mesmos. Descobriu-se
'
então que muito da atividade atualmente desempenhada inteiramente pelo
homem, é realizada por uma s&ie
ações intuitivas e auto-corrigiveis
em pequenos espaços de tempo.
Mais tarde, com a baixa de custo do hardware, novas e
baratas unidades (algumas de capacidade limitada) começaram a aparecer
no mercado. Os sistemas de computadores de propósito
geral não
eram
mais aversos 5s necessidades de unidades gráficas e seus usuários.
Hoje em dia existe um renovado e amadurecido interesse
em gráficos. Um sinal desta crescente maturidade 6 o grande número
livros e artigos informativos que vêm sendo publicados,tendo em
o estudo de gráficos emitidos
de
vista
por computador em todo o mundo.
As aplicações vão desde simples gráficos a desenhos de circuitos eletrônicos. ~écnicaspara introduzir dados tri-dimensionais através
meios bi-dimensionais continuam a ser
aper£eiqoadas, tendo em
de
vista
a criatividade e o bom senso na combinação de hardware com rotinas.
2.2
- ALCANCE
Um problema importante que envolve os gráficos emitidos
por computador 6 o da divisão do trabalho. Isso quer dizer: que porcen
-
tagem do trabalho na computação de um gráfico deve ser levada a efeito
por um computador (ao qual o
display' está acoplado) e qual a que de-
ve ser controlada pelo próprio
display
,
tratado como um terminal in-
teligente? Em outras palavras: quão próximo o poder da máquina pode es
tar do usuário e seu terminal o qual, por outro lado poderia estar lon
ge do computador? E o usuário? Alguns os classificam como matemáticos,
outros como artistas. Contudo, aplicações gráficas, softwareehardware,
custo
são examinadas e pesquisadas no mundo inteiro bem como seu alto
em termos de hardware e da complexidade necessitada pelo software.
~plicaçõesem engenharia mecânica tem sido muito bem sucedidas, bem co
mo em engenharia elétrica. Os horizontes se abrem,já que a necessidade de gráficos emitidospor computador continua a existir. Segundo muitos, seu sucesso só depende do aprimoramento dos projetos de skstemas
de computação e, especialmente, de linguagens de programação.
pode
O processo de construção de um sistema gráfico
ser descrito, resumidamente,da seguinte maneira: C91
1
- Escolha da linguagem, sobre a qual se baseará
2
-
,
o
sistema.
Projeto do conjunto de funções ou extensões da lig
yuagem para E/S gráfica.
3
-
Redação do manual do programador.
4
-
Redação do software necessário ao desempenho
funções grãficas
das
.
O desenvolvimento dos dois primeiros itens resulta
projeto do que poderia ser chamado de linguagem gráfica C51
.
no
impor-
tante fazer a distinção desta e de outras conotações do termo "linguagem gráfica", que pode ser associado a linguagem em linha para desenho
e manipulação de figuras C61
, comando de um programa gráfico
C71 ou um
sistema gráfico iterativo para definir programas C81. O tipo de lingua
gem gráfica necessária a um sistema gráfico de propósito geral 6 a lin
guagem de alto nível convencional orientada para rotinas, convenientemente incrementada com funç6es grâficas.
2.4
-
FUNÇÕES GRAFICAS:
O projeto de funções gráficas ou extensões de
gem é de importância vital na determinação do sucesso ou do
linguafracasso
de um sistema. Pode-se visualisar estas extensões como sendo um meio
de oferecer ao usugrio o controle de funções internas de hardware
e
software. Este controle deve ser simples e poderoso e nunca englobar '
um conjunto muito numeroso de funqÕes,o que normalmente acarreta a dificuldade de interpretação e destin~ãoentre funções, maior possibilidade de erros de operação,além de obrigar o usuário a dispender maior
tempo na leitura do manual de utilização das funções. Um número pegueno de poderosas funções gráficas é a maneira ideal de reduzir o perigo
da redundzncia e da possibilidade de combinações errôneas de funções,
além de eliminar os rodap&
de advertências nos manuais, marca regis
trada de sistemas gráficos mal projetados [9]. A idéia é a de
ao mínimo as possibilidades de erros de lógica por parte
do
sem lhe fazer restrições e não a de reduzir simplesmente o
reduzir
usuário
número de
funções. Se estas não podem atender as necessidades do usuário,
mesmo se verá obrigado a escrever novas funções a fim de remediar
problema.
-
ele
s
2.5
-
O PROBLEMA DAS LINHAS ESCONDIDAS
O termo"grgfico emitido por computador", através
a
do
uso, tem se tornado conveniente para definir a área de técnicas e apli
cações de computador na qual o dado fornecido pelo usuário 6 apresenta
do ou aceito por este sob a forma de linhas desenhadas ou diagramas.
Em se tratando de objetos tri-dimensionais, é interessante a determina
ção de partes visíveis e não visíveis em relação a um observador colocado em um determinado ponto. O problema se baseia no fato de
luz não pode atravessar um objeto opaco O
(que a
. Assim sendo, se estabe-
lece imediatamente que as linhas que se situam atrás de um objeto opa-
co são invisíveis aos olhos do observador e classificadas,portanto, co
mo linhas escondidas.
Para o computador não existe uma maneiravopaca" de
deter a luz.
É
se
necessário pois, uma caracterização matemática da invi-
sibilidade de algumas linhas componentes do objeto,as quais apesar de
não serem vistas sob certos ângulos,podem sê-10 de outro. A determinação da visibilidade ou não de uma linha se constitui na solução para o
problema.
Tomando por base o progresso nos dias de hoje, torna-se um tanto óbvio o entusiasmo pelo processamento de imagens.
As aplicações em engenharia mecânica vêm
demonstrando
razoável sucesso por se basearem, em grande parte,em modelos matemáticos simples e pequeno número de interações. Por outro lado, a necesâidade de simples, potentes e pequenos sistemas gráficos visando auxilko
5 programaqão de máquinas de controle num&rico,permanece até
os
dias
de hoje.
As aplicações em engenharia elétrica visando a impres,
são de desenhos de circuitos estão cada vez mais difundidas.
Continuam em desenvolvimento em todo o mundo;experiências em arquitetura e planejamento urbano.
Observa-se, contudo, que tão longe quanto se possa che
gar, a situa~ãodo software geral para gráficos não 6 ainda muito clara. O software para gráficos iterativos não tem sido bem servido com o
uso do FORTRAN e poucas são as pessoas que se aventuram fora desta li;
guagem de programação C91
.
O futuro do processamento gráfico é muito promissor.
Tomando-se por base que os gráficos contribuem para maior e melhor per
cepção e compreensão do ambiente pelo homem em um mundo técnico, pode-se afirmar que o futuro desse tipo de processamento é dos mais promis
sores. Sua necessidade é certamente incontestável. ~ambémo 6 o avanço
tecnológico em termos de hardware, o que contribui para tornar
cada
vez mais baratos os sistemas gráficos. Com o advento dos processadores
microprogramados com memórias de controle cada vez maiores, os mecanis
mos para a manipulação de melhores sistemas começam a se tornar
cada
vez mais disponfveis. Dispiays a cores serão parte do futuro de muitos
tipos de aplicação. Sistemas cada vez melhores e menores serão indicados para aplicações especiais e especificas.
O futuro do processamento de imagens está ligado dire-
então ser ofereci
-
tamente aos futuros desenvolvimentos de toda a ciência dos computado
res L31
. Os gráficos emitidospelo computador poderão
dos como benefício e ferramenta de trabalho,como o são as
de programação e sistemas.
linguagens
CAP~TULO3
UM SISTEMA
+ definição
GMFICO
da terminologia e a organização de um s i s -
-
tema g r á f i c o são dois tópicos bastante discutidos. De um modo s i m p l i f i
cada, propõem-se um diagrama de organização, mostrado na f i g u r a 1. Seu
o b j e t i v o é o de f o c a l i z a r somente os processos e dados e s s e n c i a i s
-
a
operação de um programa de aplicação g r a f i c a .
Para e f e i t o de um melhor entendimento e visando uma def i n i ç ã o de terminologia, segue-se uma breve descrição de cada elemento
da f i g u r a 1.
1
-
Unidades de entrada:
são usadas pelo operador do programa de aplicação
a
fim de fornecer dados e comandos de controle.
2
-
Manipulador de entradas:
e
o processador dos pedidos de interrupção que
partem
das unidades de entrada, provendo assim meios para que o programa
de
aplicação receba os dados a serem manipulados.
3
-
Estrutura de dados:
Contém os dados em forma adequada para manipulação pe-
l o programa de aplicação.
4
-
Procedimentos de entrada:
Recebem os dados do manipulador de entradas.,fazem
mu-
UNIDADE DE ENTRADA
MANIPULADOR
I Tos
DE
ENTRADA
I
TOS
GERAIS
TRANSFORMAÇ~ES
I
I TOS
I
DE
SAPDA
I
I
LINHAS TESTES
I
O
GERADOR
IMAGENS
DIAGRAMA SIMPLIFICADO DO PROCESSO GR&ICO
Figura 1
DE E/S
danças apropriadas na estrutura de dados e passam o controle a
outras
rotinas.
são as partes do programa de aplicação que não
envol-
vem diretamente E/S. são rotinas de apoio.
Definem a figura a ser exibida, geralmente
em
termos
de dados armazenados na estrutura de dados do programa, isto é,
defi-
nem como esses dados podem ser exibidos.
7
-
Rotinas de '~ransformação:
são capazes de mudar escalas, fazer rotação e transla-
yão da informação grâfica gerada pelas rotinas de saída. O resultado é
uma figura de tamanho e posição arbitr5rios. Desse grupo podem
também
fazer parte rotinas que selecionam partes específicas da figura a ser
exibida, como se formassem uma espécie de janela.
8
-
Procedimentos de concatenação:
Controlam as transformações sempre que necessário, ve-
rificando suas hierarquias.
9
-
Gerador de imagens:
Converte informações em sinais convenientes à
unidade
de-saída em questão.
O conjunto formado pelos itens 4,5 e 6 é o programa de
aplicaçao 191
. Contudo, a importância das rotinas de transformação de-
ve ser ressaltada. É muito bom para o usuário poder efetuar as trans
-
formações que deseja,livremente, para obter diferentes visões
de
uma
figura, em diferentes escalas. Por esta e outras razões 6 interessante
extender o domhio das rotinas de transformação a fim de que manipulem
figuras tridimensionais. Isto acrescenta um pouco de complexidade
ao
sistema mas sua utilidade 6 de comprovada significação.
3.2
-
APRESENTAÇÃO DO PROGRAMA DE APLICAÇÃO CONV
e
evidente que programas de computador não podem
de-
senhar e sim seguir uma série de procedimentos que o usuário pensou po
derem resolver uma determinada
classe de problemas. Tomando por base o
b
próprio procedimento humano nesse sentido, podemos acrescentar
de seus elementos de experiência, perspic&ia
alguns
e criatividade à habili-
dade natural do computador de desempenhar procedimentos de rotina e re
petidas operações de comparação sem a possibilidade de erro. E deduzivel que pequena fração do esforço envolvido no processo de desenho requer criatividade, enquanto a maior parte do trabalho se concentra em
atenção a milhares de detalhes como c~lculos,restauração de
informa-
C
çoes, captura de dados, etc.
O programa CONV se baseia em processos bastante intui-
tivos e simples na manipulação das coordenadas de que se compõe um
objeto tridimensional. Inicialmente é pesquisado o contorno da
'
proje-
ção do mesmo sobre um plano frontal X'Y'. Em seguida,e a partir de pon
tos pertencentes ao contorno,é resolvido o problema da visibilidade ou
não das linhas de que se compõe a figura projetada.
A característica "não iterativo" se deve 2 indisponibi
lidade de suporte de hardware que permita a instalação de dispositivos
tais como "light pen", console para display, etc. Em nível de hardware
s e r ã o gerados apenas o s elementos p r i m i t i v o s : pontos, segmentos d e ret a e c a r a c t e r e s alfanum&icos.
a nível
A manipulação d e s s e s elementos
d e s o f t w a r e é que o c a s i o n a a formação d a s f i g u r a s .
Para s u a e x i b i ç ã o , o s o b j e t o s contam com o mini-compu-
t a d o r MITRA-15 e um o s c i l o s c Õ p i o a e l e conectado. Suas coordenadas dep o r t a n t o ser i n t e i r a s e p e r t e n c e r a o i n t e r v a l o (0,512)
vem
ou s e j a ,
q u a l q u e r número X a ser a l i m e n t a d o no s i s t e m a deve obedecer a s e g u i n t e
convenção:
O < X <512 e X E N
.
A u t i l i z a ç ã o d e CONV
é muito s i m p l e s e o b t i d a
através
de chamada f e i t a p e l o u s u á r i o em programa FORTRAN da s e g u i n t e maneira:
CALL CONV
END
( E N D , GRAUS)
6 o endereço s i m b 6 l i c o do i n i c i o da c a d e i a d e coor
-
denadas do u s u á r i o .
GRAUS e s p e c i f i c a o ângulo p a r a a r o t a ç ã o do o b j e t o .
S e GRAUS f o r i g u a l a z e r o s i g n i f i c a que o u s u á r i o não d e s e j a
a
obter
r o t a ç ã o do mesmo.
Uma vez acionado, o programa permanece em -
sèu
laço
p r i n c i p a l a fim d e p o s s i b i l i t a r a e x i b i ç ã o c o n t í n u a d e um o b j e t o
por
tempo indeterminado. A obtenção d e nova p o s i ç ã o r n e s t a v e r s ã o d e CONV,
é conseguida
3.4
-
de abandono do programa
e nova
chamáda-
FILOSOFIA DE TRATAMENTO
O s dados o f e r e c i d o s como e n t r a d a p e l o u s u á r i o s ã o exa-
minados e armazenados e m e s t r u t u r a c o n v e n i e n t e 5 suamanipulação r s p i d a .
RE I N I C I A L I Z.
DOS
NOS
DE
PESQ.
SOBRE
A VISIBILI-
DADE DE
NOS
r-l
PESQ.
SOBRE
A VISIBIL.
NOVAS COOR-
DAS LINHAS
DIAGRAMA SIMPLIFICADO DE COMV
Figura 2
Esses dados são inicialmente analisados com o objetivo de se definir o
contorno do objeto a ser exibido. Este processo se baseia no estudo da
projeqão do objeto sobre o plano X"Jk',segundo um observador posicionado no infinito. A determinação das linhas escondidas é feita, portanto,
"de fora para dentro" da projeção. O resultado é a projeção
do objeto
sobre o mesmo plano com a eliminação das linhas escondidas mediante ou
não rotação feita em relação a um eixo coordenado no espaço.
A figura 2 dá uma idéia geral dos procedimentos princi
-
pais do programa.
3.5
-
TEMPO E MEMQRIA
O problema do algoritmo 6 a deteção e eliminação
das
linhas escondidas. Esse trabalho de pesquisa envolve muita computação,
o que corresponde a dispêndio de tempo. E de inteira responsabilidade
do usuário o gasto de memória, quanto ao fornecimento de dados para
o
programa. Sua preocupação deve ser sempre a de minimizar o_número de
linhas a serem traçadas sobre o objeto que ele quer desenhar. Quanto
'
maior for o número de dados, maior será o tempo gasto em pesquisa-10s
e maior também a área de memória necessária à sua carga e armazenamen-
to em estrutura conveniente.
3.6
-
A ORGANIZAÇÃO DO PROGRAFIA
O programa CONV 6 organizado em fases para sua melhor
compreensão. As fases são independentes entre si, tendo como Ünico pon
to em comum o acesso aos nós de informação de que se compõe a
cadeia
de entrada fornecida pelo usuário. Cada fase tem tarefas específicas
de pesquisa e armazenamento de informações para a seguinte.
'
Um modo conveniente de se descrever um sólido
em fun
ção de seus vértices com o objetivo de formar arestas e faces. Esses '
vértices, por convenção, são percorridos no sentido horário pelo algoritmo, aresta por aresta, segundo sua projeção em um plano conveniente.
A projeção de um ponto sobre um plano 6 definida como
o pé da perpendicular que vai do ponto ao plano. Esta? perpendicular é
Unica, visto que por um ponto dado passa uma e somente uma perpendicular a um plano especifico. Por conseguinte, se temos um segmento de r%
ta AB e um plano E quaisquer, a projeção de ÃB sobre E é o conjunto de
todos os pontos que são projeções dos pontos de que se compÕe~,sobre
E.
De um modo mais geral podemos afirmar que a
projeção
de um polIgono convexo 6 convexa, e num nível mais elevado, que a
de
L'-
um sólido convexo 6 igualmente convexe. Esta é a idéia sobre a qual
programa
aL,
CONV se baseia. A manipulação dos segmentos de reta é. feita
sobre os dois sistemas coordenados:
1
-
Sistema O (x,y,z)
Sistema tridimensional de eixos, sobre o qual os obje-
tos devem ser definidos.
2- Sistema O' ( x ' , y 8 )
Sistema bidimensional representakivo do plano de proje
qão paralelo ao plano x=O, que intercepta o semi-eixo positivo dos X .
(figura 3)
.
0s objetos definidos a três dimensões são transforma
-
dos em objetos bidimensionais a fim de poderem ser exibidos. A impres-
são de profundidade 6 dada pela visão em perspectiva do objeto (P).
Considerando-se P' a projeção de P sobre
X'Y
I,
a qualquer ponto
Pi (xi,yidi)r PiEh será associado um outro Pi (xi#y;) , Pi E P '
.
Assim sendo:
yi=x;
zi=y;
As coordenadas xi não fazem parte da projeção do objeto P sobre o plano X'Y' mas são muito importantes na determinação das
a.
linhas escondidas.
através delas que se obtêm informação sobre quais
os pontos que mais se aproximam ou afastam do observador.
OS SISTEMAS DE PROJEÇÃO
Figura 3
Os nós de informação são armazenados em uma fila,
acordo com os dados introduzidos pelo usuário. Esta fila de
de
nós deve
ser o mais compacta possível para que se evite gasto de memória e tempo. Ao usuário cabe a responsabilidade de arranjar os dados de modo
a
evitar o mais possível a repetição de linhas no traçado de seu objeto.
Sob-oponto de vista do usuãrio, a cadeia de coordenadas que define: seu sólido forma uma matriq 4 x N palavras. N é o nÚme
ro de vértices Vi do mesmo.
OBS :
Tendo em vista o caráter provisório da implementação ao algoritmo
(levando em conta que seu projeto 6 para o MITRA-15 e não paraoIBM
f 130) deixamos de dimensionar as matrizes, que poderão eventualmen
-
te assumir valores definitivos em sua forma final.
importa
ASPECTOS DA FILA DE E/S
Figura 4
A f i g u r a 4 mostra a m a t r i z A d e e n t r a d a e a m a t r i z
A'
d e s a í d a . A p r i m e i r a mostra o s nós f o n t e e a segunda, o s nós t r a n s f o r mados.
A e x i b i ç ã o do s ó l i d o
6 f e i t a mediante s u a p r o j e ç ã o so-
b r e o plano ;X'Y' (fifjura3J Desse modo e, p a r a esse o b j e t i v o , as coordenad a s X do s ó l i d o s ã o i g n o r a d a s p e l o a l g o r i t m o convenientemente.
3.8.1
-
O FORMATO DO
~6 DE INFORMAÇÃO
Cada nÕ d e in&ormação corresponde a dados s o b r e um Úni
co ponto componente do o b j e t o a ser e x i b i d o . E s t e s dados se r e f e r e m 2s
coordenadas c a r t e s i a n a s do ponto no espaço. A s s i m sendo, p a r a um ponto
g e n é r i c o P i d o espaço, teremos um n6 d e 4 p a l a v r a s onde a s informações
s ã o d i s t r i b u í d a s d a s e g u i n t e forma:
Figura 5
Onde :
12
-
X1,Y1
e z1 s ã o as coordenadas e s p a c i a i s d e Pi.
il é Uma p a l a v r a d e t r a b a l h o a s e r u t i l i z a d a s p o r t o d a s a s f a s e s
do programa. Seu conteúdo f i n a l i n d i c a se o ponto c o r r e s p o n d e n t e a
este nÕ 6 v i s í v e l ou não. A c o n f i g u r a ç ã o d e s e u s b i t s é o s e g u i n t e :
-
bit de ' v i w i b i l i d a d e d
bits de trabalho
C----
bit de visilidadeA PALAVRA DE TRABALHO I
Figura 6
Observe-se que a condição "verdadeiro" estar5 associada ao valor 1 (bit ligado) e a condição "falso" ao valor 0 (bit desligado)
3.9
-
.
AS SUBFIGURAS:
Uma subfigura será interpretada como um
conjunto
linhas que formam ou não um pollgono qualquer sobre uma face
de
do obje-
to, sem contudo ser confundida com suas arestas. Esse poligono
pode
ser côncavo ou convexo. A restrição de ser convexo é feita somente
objeto
3.10
-
ao
.
N ~ V E I SDE VISIBILIDADE:
Os nfveis de visibilidade dos pontos componentes
uma figura projetada sobre X ' Y ' obedecem a uma hierarquia
de
relacionada
unicamente 5 disposição de suas coordenadas sobre o mesmo e
foram in-
troduzidas para f a c i l i d a d e de implementação do algoritmo.
-
O s pontos c l a s s i f i c a d o s comocbl?
n í v e l são
aqueles
que pertecem ao contorno da f i g u r a , i s t o é, pertecem aosmegmentos
de
r e t a que l i m i t a m a ~ r o j e ç ã odo o b j e t o sobre X'Y'.
-
-
O s pontos do 29 n í v e l são aqueles imediatamente l i g a
dos aos docontorno da f i g u r a e que não pertencem a e l e .
-
O s pontos do 39 nxvel são o s pontos r e s t a n t e s de que
s e compõe a f i g u r a ,
A u t i l i z a ç ã o dessas informações
6 levada a e f e i t o
l o s procedimentos de s a í d a na definigão f i n a l d a f i g u r a a
ser
pe-
exibidét
bem como pelos procedimentos g e r a i s que as usam para otirnizar seus pro
-
cessas de pesquisa.
G
3.11
-
MODULARIDADE :
Cada f a s e do programa
CONV é um subprograma
dente dos demais, A u t i l i z a ç ã o ou mudanga t o t a l de qualquer
indepen-
um
deles
não provoca nunhum transtorno na f i l o s o f i a do algoritmo, v i s t o que cada f a s e s e preocupa somente em t r a b a l h a r dados para a seguinte.
Esses dados são b i t s a serem ligados ou não na palavra de t r a b a l h o
cada nó.
de
A ESTRUTURA DE DADOS
Os programas de computador usualmente operam problemas
baseados em tabelas,.deinformação. Em muitos casos estas tabelas
não
são simplesmente massas amorfas de valores numéricos; elas envolvem re
lações muito importantes entre os elementos que contêm.
Em sua mais simples,definiç&o, uma tabela deve ser uma
lista linear de elementos com importantes propriedades de construção
'
que podem responder a perguntas como: quem 6 o primeiro elemento
da
lista? Quem é o Último? Quais os elementos que precedem ou seguem
um
outro?
Em sua forma mais complicada, uma tabela 6 uma matriz
bidimensional ou n-dimensional para os valores maiores de n, o que pode ser uma estrutura em árvore representando a hierarquia de seus elementos ou então uma complicada estrutura multiligada com um grande nÚmero de conecções, compar&eis
2s do cérebro humano [lu
.
De um modo geral, para se aproveitar <ias facilidades
que um computador oferece 6 importante adquirir-se uma boa
compreenG
são do relacionamento dos dados que se está usando, bem como das técni
tas
de representação e manipulação dessas estruturas dentro da mãqui-
na. O objetivo 6 a flexibilidade e velocidade de processamento
cIue
elas podem oferecer.
Para o caso especifico de CONV, a necessidade de
se
saber a todo momento informaçÕes sobre um segmento de reta qualquer
'
componente do objeto em estudo, nos levou a procurar um modo simples
'
de relacionar cada ponto com todos os outros conectados a ele. Esta so
lução acarretou
maior gasto de rnem6ria mas nos trouxe-a vankagem da
velocidadetque 6 o fator de importância primordial na regeneração
de
uma figura em exibiqão numa tela de display.
4.2
-
ESTRUTURAS DE DADOS MANIPULADAS POR CONV
Os dados de entrada fornecidos pelo usu~ria~constam
de
uma seqüência de coordenadas muito dificeis de serem manipuladas e entendidas pelo programa. O tempo investido para percorrer tal
cadeia 6
muito grande devido ao número enorme de comparações que devem ser feitas a fim de se identificar um segmento de reta e sua posição no objeto. Isso se deve, em parte, 2s repetições de referências a um
ponto, pois cada vértice de um objeto se liga, no mínimo, a três
tros. A figura 7 ilustra esta idéia e mostra como os dados
mesmo
ou-
de entrada
são armazenados na memória, em uma fila~cujoendereço simbólico 6 A.
Figura 7
N é o número de pontos usados pelo usuário para o traçado do objeto no
espaço. Uma estrutura mais flexível é apresentada na figura 8 onde cada ponto (vértice ou não)
ligam.
relacionado a todos os outros que aíele se.
.............
.......
Pi
Pz
-. .
Pontos b a s e
Pi+k
Pontos d e
ligação
A ESTRUTURA DE DADOS DO PROGRAMA
Figura 8
Um ponto b a s e é a q u e l e tomado como r e f e r ê n c i a . 0s pon-
t o s d e l i g a ç ã o s ã o a q u e l e s que formam um segmento d e r e t a com o
ponto
b a s e no espaço. Um o b j e t o t e m t a n t o s pontos b a s e quantos s ã o o s pontos
que definem s e u t r a ç a d o .
4.3
-
4.3.1
PROCEDIP/IENTOS DE ENTRADA
-
FILOSOFIA DE TRATAMENTO
Duas t a b e l a s s ã o usadas p a r a c o n c r e t i z a r a i e s t r u t u r a
'
anteriormente d e s c r i t a :
1
-
PT:
Tabela onde s ã o armazenados o s pontos b a s e - Sua dimensão
é, d e
2N+1 palavras,onde N é o número t o t a l d e pontos b a s e componentes
do o b j e t o no espaço. Duas p a l a v r a s s ã o usadas p a r a cada r e f e r ê n c i a a um ponto b a s e . A p r i m e i r a contém o endereço do ponto na ca
d e i a A do u s u á r i o . A segunda p a l a v r a 6 um p o n t e i r o p a r a a t a b e l a
de pontos de ligação.
2
-
SEG:
Tabela de pontos de ligação. A s informações armazenadas em
SEG
são endereços de pontos guardados em A. Sua dimensão é v a r i á v e l
e depende do o b j e t o a s e r exibido.
O motivo pelo qual se usou endereços de pontos
-
e
nao
os próprios, f o i o de e v i t a r g a s t o de memória, lembrando que cada pont o é definido por três coordenadas. Esses e n d e r e ~ o ss e referem
sem-
2 primeira palavra do nÕ de informaqão, em sua primeira ocorrência
pre
um modo de a c e l e r a r a pesquisa na r e f e r i d a cadeia,
em A.
a
qual
6
f e i t a de modo seqüencial.
- O PROCEDIMENTO
4.3.2
4.3.2.1
1
-
DE MONTAGEM E PREENCHIMENTO DA ESTRUTURA
- ~ e s c r i ç ã odas v a r i á v e i s
LIVPT:
Ponteiro para a próxima palavra l i v r e de PT.
2
-
LISEG:
Ponteiro para a prõxima palavra 1ivr:e ide SEG.
3
-
FIXSG:
Ponteiro para a primeira palavra de cada grupo de pontos
ligação.
4.3.2.2
-
Procedimento 1:
1.1.
-
início.
1.2
-
~ t e n d s p r i m e i r apalavra ao primeiro nó de A ] .
1.3
1.4
-
PT [LIVPT] +R.
LIVPTcLIVPT
PT [LIVPT] + L I S E G
+
1.
. LIVPT e-LIWT
f
1.
de
F i l a d e coordenadas f o r -
necidas pelo usuãrio.
>
"
t
GUARDE
SEU
ENBEREÇO
TOMf-;
O
Tabela d e endereços d e
pontos que se ligam a o
pesquisado.
PROCEDIMENTO 1
-
DIAGRAMA GERAL
Figura 9
1.5
1.6
1.7
- Rtend
-
[ponto l i g a d o ao apontado por R ]
SEG [LISEG] c R 1 , LISEGcLISEG f 1
.
.
O ponto apontado p o r R se l i g a a mais algum ponto? Se s i m ,
e m f r e n t e , c . c , vá a 1 . 9 .
1.8
-
R l t [end nova l i g a ç ã o do ponto apontado p o r R]
.
vá
1.9
-
R 1 aponta o Ú l t i m o nó de A? S e s i m , v a e m f r e n t e ,
1.10
-
T o d o s os pontos de A já f o r a m pesquisados? Se s i m , v á a 1 . 1 2 ,
C.C.
1.11
-
O
-
Fim
vá a 1.11.
vá e m f r e n t e .
nó apontado por R 1 já e s t á e m SEG? Se s i m , v á a 1 . 7 ,
1.6
1.12
C.C.
C.C.
.
.
A f i g u r a 9 i l u s t r a o p r o c e d i m e n t o descrito a c i m a .
vá a
PROCEDIMENTOS GERAIS
5.1
-
INTRODUÇÃO
O
procedimento
para a eliminação das linhas escondi-
das 6. um conjunto de quatro procedimentos principais, que funcionam co
mo um todo, de modo que, em determinada ordem, a saída gerada
por
um
se constitui na entrada para o outro.
Os procedimentos trabalham sobre cada segmento de reta
que compõe o objeto no espaeo. Um segmento 6 comparado com os
outros
e quando resulta invisivel é imediatamente marcado na fila de
pontos
para que não se perca tempo com posteriores comparações com ele.
Mesmo invisível, o segmento de reta não 6 retirado
da
fila. Isso porque formar uma nova fila somente com os segmentos de reta visíveis seria muito dispendioso. A solução adotada foi guardar
quarta palavra do nó de informação de um dos pontos extremos,
são final sobre a visibilidade ou não do segmento de reta a
na
a deci-
que per
-
tence.
HS outro motivo pelo qual não é aconselhável destruir
a fila de pontos. Se isso acontece o usuário perde a opção
de
chamar
CONV tantas vezes quantas quizer em seu programa para obter diferentes
vistas do objeto que deseja exibir, através do uso de uma rotina
de
transformação.
Para facilitar a compreensão dos procedimentos
vamos descrever os algoritmos
gecziks
usados por cada um em separado na ordem
relativa a sua influência sobre os demais, Esta influência
deve
ser
atendida apenas como hierarquia de transferência de informaç6es, como
já foi dito anteriormente.
5.2
-
OS PONTOS EXTREMOS:
A i d é i a básica do a l g o r i t m o CONV é a que e s t e t r a b a l h a
s o b r e l i n h a s e não s o b r e s u p e r f f c i e s . I s t o s i g n i f i c a que o s s ó l i d o s
serem e x i b i d o s s ã o c o n s i d e r a d o s como um c o n j u n t o d e segmentos
a
de reta
c u j a s i t u a ç ã o no espaço é conhecida a t r a v é s das coordenada Pi(xi,yi,zi),
d e s e u s pontos extremos. A p r i m e i r a fase do a l g o r i t m o
se preocupa
em
conhecer o s pontos extremos da f i g u r a . I s s o q u e r d i z e r que dada uma £i
g u r a P , p r o j e ç ã o do o b j e t o Pi do espaço s o b r e o plano x ' Y '
definiremos
o s pontos d e P XMIN ( P ) , XMAX (P) , Y M I N (P) , .YMAX ( P ) da s e g u i n t e meneira:
XMIN (P) ( xi
,
V xi
P
FIGURA APRESENTANDO MAIS DE UM PONTO EXTREMO PARA CADA SITUAÇÃO
Figura 1 0
haja visto- casos como o que mostra a figura 10, onde, por exemplo
os
pontos A e B satisfazem a primeira condiqão acima. Adotaremos a seguin
te convençao: dada uma figura P t qualquer do plano X ' Y '
e seus
pontos
XMIN de abcissas iguais, existe um C tal que:
Um xlserá escolhido de modo que:
x 3! C C I V x ; € C
, y;(y!
r
yj€nÕ[x!],
3
yf€nÔ[xl]
O objetivo desta fase 6 demarcar a área a ser
pela figura no plano X ' Y t .
Desta maneira podemos afirmar que
pontos de P pertencentes 3 projeção de P' sobre X ' Y '
ocupada
todos os
deve satisfazer '
5.2.1 A BUSCA DOS
-P O N T O S EXTREMOS:
A função deste procedimento 6 a de detetar e marcar os
pontos considerados críticos. Trata-se dos pontos extremos definidos
'
anteriormente. Devido a sua simplicidade, deixamos de apresentar o dia
grama geral do procedimento.
5.2.1.1
-
~ e s c r i ~ ãdas
o variáveis:
As variáveis usadas neste procedimento são:
1
-
XMIN,
XMAX, YMIN e YMAX:
variáveis que guardam os valores dos pontos críticos
para posteriores consultas.
:
2
-
R:
Ponteiro para a primeira palavra do nó que se quer pes
quisar.
5.2.1.2
2.1
-
- Procedimento
2
início-
S a l v e X e 'Y d e s s e ponto.
2.4
-
2.5
-
Todos o s nós já £oram v i s i t a d o s ? Se sim,vá a 2 . 1 0 ,
2.2
2.3
R c e n d r p r i m e i r a p a l a v r a do p r i m e i r o nó da f i l a d e pontos].
RtR 9 1
-
R aponta o nó d e menor X? Se s i m , s a l v e X e vá a 2 . 4 ,
frente
2.8
Idem p a r a o menor Y
2.9
-
Idem p a r a o maior Y
Idem p a r a o maior X
C.C.
extremo
5.3
-
vá
em
.
.
.
2.10- Marque na f i l a d e pontos todos o s nós que contenham algum
2.11- Fim
'
.
-
2.7
vã em
.
frente
2.6
CGC.
ponto
.
.
OS PONTOS QUE PERTENCEM AO CONTORNO-PONTOS DO 19 NÍVEL
O contorno d e um o b j e t o P, convexo, que se p r o j e t a
de
modo o r t o g o n a l s o b r e o s i s t e m a bi-dimensional d e e i x o s X'Y1,é um p o l í gono I?'
d e um número f i n i t o d e l a d o s , d e n t r o e s o b r e o q u a l se l i m i t a m
as p r o j e ç õ e s d e t o d a s a s a r e s t a s que compõem e s s e o b j e t o . I s s o s e deve
à p r ó p r i a d e f i n i ç ã o d e o b j e t o convexo. 0s l a d o s d e P ' s ã o , d e s t a manei
r a , as
d a s a r e s t a s do contorno do o b j e t o P segundo um obser-
vador s i t u a d o no i n f i n i t o , É i n t u i t i v o p o i s c o n c l u i r q u e , independente
mente do f a t o d e haverem a r e s t a s d e P que e s t ã o escondidas ou não,
o
contorno do o b j e t o s e r á sempre v i s í v e l a o s o l h o s do observador.
Desse
modo, o c o n j u n t o d e l a d o s de P ' é a p r o j e ç ã o o r t o g o n a l d e P t a l como o
observador pode vê-lo.
5.3.2
-
FILOSOFIA DE TRATMENTO
Uma das p r i m e i r a s sensações que o o l h o humano tem ao
'
se d e p a r a r com um o b j e t o é a sensação de massa, de espaço ocupado p e l o
mesmo. P a r a ele não c o n s t i t u i problema o reconhecimento d e s i l h u e t a s .
a
Sua capacidade d e v e r , d i s t i n g u i r e comparar formas, bem como
de
t r a n s m i t i r ao c ê r e b r o t o d a s as informações n e c e s s á r i a s s o b r e p r o f u n d i dade, e t c , é i n s t a n t â n e a . P a r a uma máquina porém, e s s e s pmoedimentos
i n t u i t i v o s não s ã o t ã o f á c e i s .
n e c e s s á r i o que se envolva muito tempo
de computação a t é que e l a p o s s a " v e r " , "compreender" e e x i b i r o que"viul'
e e s t á guardado em s u a memória.
a t r a v é s do PROCEDIMENTO 3 , d e f i n e
Por c o n ~ e n ~ ã oCONV,
,
o contorno P ' do o b j e t o s o b r e X'Y',
examinando-o no s e n t i d o h o r á r i o .
Como ponto de p a r t i d a 6 usado um dos pontos extremos previamente c a l c u
l a d o s . E s s e s pontos, p o r s u a p r ó p r i a condição s ã o i m p l i c i t a m e n t e compo
n e n t e s d e P'. A busca dos demais pontos é f e i t a de modo muito
simples
a t r a v é s do c o e f i c i e n t e a n g u l a r c o n v e n i e n t e a cada s i t u a ç ã o dos
pontos
d e P'.
5.3.2.1
-
~ é t o d od e ação
O c o e f i c i e n t e a n g u l a r ou d e c l i v i d a d e d e uma r e t a
e
a
t a n g e n t e t r i g o n o m é t r i c a d e s u a i n c l i n a q ã o . O c o e f i c i e n t e a n g u l a r d e uma
r e t a que p a s s a por d o i s pontos P i (xi,yi) e P: ( x ; , ~ ; )
é dado por:
Para £ a c i l i t a r a escolha dos c o e f i c i e n t e s angulares,
'
cada f i g u r a apresentada ao programa é imediatamente d i v i d i d a em quatro
setores:
19 s e t o r :
Semi-plano s i t u a d o à esquerda da r e t a que l i g a o s pontos
XMIN
e YMAX. Para o s pontos desse s e t o r o c o e f i c i e n t e angular escolhido 6 o
maior dos mi
t a l que mi)
O
.
29 s e t o r :
Semi-plano s i t u a d o acima da r e t a que l i g a o s pontos YMAXe-XMAX
Para os pontos do 29 s e t o r , o c o e f i c i e n t e angular escolhido ê o
dos mi
t a l que mi ( O
maior
.
39 setor:
Semi-plano s i t u a d o
Y M I N . Nesse caso
é
a
d i r e i t a da r e t a que l i g a o s pontos XMAX e
tomado o maior dos mi
t a l que mi> 0 .
49 setor:
e
Semi-plano s i t u a d o abaixo da r e t a que l i g a o s pontos Y M I N
XMIN.
Para pontos nesse s e t o r é escolhido o maior do mi
5.3.2.1.1
t a l que m i < 0.
Casos p a r t i c u l a r e s
H; casos em que os c o e f i c i e n t e s angulares podem
assu-
m i r v a l o r e s como zero e i n f i n i t o , como nos casos de r e t a s p a r a l e l a s ao
eixo dos .X' e das p a r a l e l a s ao eixo dos Y', respectivamente. A s
solu
-
Ç Õ ~ Sadotadas para estes casos em relação a cada s e t o r são:
-
Para o 19 s e t o r nunca s e r á i n t e r e s s a n t e a escolha de um c o e f i -
c i e n t e a n g u l a r nulo. I s t o se deve ao f a t o de que n e s s e c a s o h a v e r á pel o menos um que s a t i s f a ç a a condição d e ser maior que z e r o , a
menos
que s e t e n h a a t i n g i d o um ponto ~ ~ ~ ~ f A ~ a o o n v u n i e n t e ~
-
P a r a o 29 s e t o r , s e x;
-
xi
> 0,
e n t ã o o segmento d e r e t a
é considerado como p e r t e n c e n t e ao contorno, c a s o c o n t r á r i o
x; xi
poderia
acontecer:
1
-
Q u e b r a r o s e n t i d o convencionado d e v a r r e d u r a dos pontos da
figura (sentido horário)
2
-
.
Pegar um ponto já pesquisado, a l t e r a n d o assim
a
l i s t a de
pontos do contorno.
-
P a r a o 3 9 s e t o r a s i t u a ç ã o 6 análoga 5 do l? s e t o r .
P a r a o 4 9 s e t o r , s e x;
- xi < o,
csecpxt;o de
-
reta x'2 x!3
6 mnside. . -
rado como p e r t e n c e n t e ao contorno. Ver i t e n s 1 e 2 r e l a c i o n a d o s
ao 2 9
setor.
-
P a r a o 1 9 s e t o r , se yi
- y i ) O,
é
o segmento d e r e t a y i y i
c o n s i d e r a d o como componente do contorno da f i g u r a , c a s o c o n t r ã r i o pode
r i a acontecer:
1
- Quebrar o
s e n t i d o convencibnado d e v a r r e d u r a dos pontos
da f i g u r a (sentido horário)
2
- Pegar
.
um ponto já pesquisado, o que a l t e r a a l i s t a
de
pontos do contorno.
-
P a r a o 29 s e t o r e s s e c o e f i c i e n t e a n g u l a r não 6 i n t e r e s s a n t e .
Sua o c o r r ê n c i a i n d i c a que o 3 9 s e t o r f o i alcançado.
-
P a r a o 39 s e t o r , se yi
-
Y i < O, o segmento d e r e t a y; yi
a
e
c o n s i d e r a d o como p e r t e n c e n t e ao contorno, c a s o c o n t r á r i o não. A j u s t i f i c a t i v a s s ã o a s mesmas a p r e s e n t q d a s p a r a o l? s e t o r .
-
Para o 4 9 s e t o r o motivo da não escolha de m = o o é análogo
ao
apresentado para o 29 s e t o r .
Ao término da comparação exaustiva de todos os segment o s de r e t a que compõem a f i g u r a , uma nova f i l a de pontos
e
formada.
E s t a f i l a contém somente pontos pertencentes ao contorno. Seu o b j e t i v o
6 minimizar o número de acessos
5.3 - 3
-
5.3.3.1
1
-
f i l a de pontos componentes do o b j e b .
A ;BUSCA DOS PONTOS DO 19 N ~ V E L
-
~ e s c r i ç ã odas v a r i á v e i s
TABPC:
Vetor 1 x N , onde N é o número de pontos do contorno armazena
-
dos.
2
-
TABP:
Ponteiro para TABPC.
3
- PONTO:
Ponteiro para o nó que contém o ponto base a t u a l
4
-
SECT:
Ponteiro para o s e t o r a t u a l .
5
-
PAL:
Ponteiro para um ponto l i g a d o ao ponto b a s e .
6
-
ALFA:
v a r i á v e l com o o b j e t i v o de guardar o c o e f i c i e n t e angular
r e t a que passa pelos pontos base e
7
-
'
de ligação.
ALFMX:
v a r i á v e l com o o b j e t i v o de guardar o maior ALFA.
da
5.3.3.2
-
'
Procedimento 3
.
3.2
-
PONTO+ end [nó XMIN]
3.3
-
S e end[nó Y M A X ] ~ end[nó XMIN],
3.4
- SECTt-1.
3.1
~nicio
.
. TABP-
vá a 3.5.c.c.
.
3.6
-
PAL c e n d [próxima l i g a ç ã o d e PONTO e m PT],
3.7
-
S e SECT=O, vã a 3.10,
3.8
-
S e SECT=l, vá a 3.20,. c;c. vá e m f r e n t e .
3.9
- Se
3.10
-
3.5
TABPC [TABP]
-
PONTO
SECT=2 vá a 3.30,
TABP
+
1
c.c. vá em f r e n t e .
vá a 3 . 3 9 ,
C.C.
S e não o c o r r e u nenhum d o s c a s o s e s p e c i a i s , d e t e r m i n e ALFA e vá
em frente,
3.11
6
vá e m f r e n t e .
C.C.
vá a 3 . 4 7 .
S e ALFMX não f o i d e t e r m i n a d o e m r e l a ç ã o a o p o n t o b a s e a t u a l f a
ça ALFMtALFA e vá a 3.6.
c .c. vá e m f r e n t e
.
3.12
-
S e ALFMX <ALFA f a ç a ALFMXa-ALFA,
3.13
-
S e já foram p e s q u i s a d a s t o d a s as l i g a ç õ e s d e PONTO, vã e m f r e n
--
te,
3.14
-
3.15
3.16
C.C.
.- S e ALFMX 6 o c o e f i c i e n t e a n g u l a r d a r e t a q u e p a s s a p o r
-
em frente,
C.C.
SECTcSECT
+
S e ALFMX
vá
1.
6 o c o e f i c i e n t e angular da reta que passa p o r
C.C.
XMAX,
vã a 3 . 1 8 .
- SECTGSECT + 1 .
3.19
3.20
-
a 3.5
.
S e não o c o r r e u nenhum d o s c a s o s e s p e c i a i s , d e t e r m i n e ALFA e vá
em frente,
3.21
YMAX
vá a 3 . 1 8 .
- PONTO c e n d [nó ALFMXI
.
- vá a 3 . 5 ,
3.18
vá e m f r e n t e .
vá a 3.6.
vã e m f r e n t e ,
3.17
C.C.
C.C.
vá a 3 . 4 7 .
S e ALFIYIX não f o i d e t e r m i n a d o e m r e l a ç ã o a o p o n t o b a s e a t u a l ,
'
f a ç a ALFMXtALFA e
vá a 3.6.
C.C.
vá e m f r e n t e .
3.22
-
S e ALFA> ALFMX, f a ç a ALFMXtALFA,
3.23
-
S e já foram p e s q u i s a d a s t o d a s as l i g a ç õ e s d e PONTO,
te,
3.24
-
vá a 3.6
C.C.
C.C.
vá e m f r e n t e .
vá e m f r e n -
.
6 o c o e f i c i e n t e angular da reta que passa p o r
S e ALFMX
em frente,
C.C.
XMAX
.vá
vá
vá a 3.23
3.25
-
SECTtSECT
+
3.26
-
S e ALFMX
o c o e f i c i e n t e a n g u l a r d a r e t a qne p a s s a p o r Y M I N ,
em frente,
C.C.
SECTcSECT
+
1.
vá a 3.28..
PONTO c end [nó ALFMX]
3.29
-
3.30
-
S e não o c o r r e u nenhum d o s casos e s p e c i a i s , d e t e r m i n e ALFA e
3.27
3.2 8
vá a
.
.
3.5
em frente,
3.31
1.
- S e ALFMX não
.
vá a 3.47
C.C.
f o i d e t e r m i n a d o e m r e l a ç ã o a o p o n t o b a s e a t u a l , £a
-
ça ALFMX-cALFA e vá a 3.6,
3.32
3.33
-
3.34
-
C.C.
S e ALFA)ALFMX f a ç a ALFMXcALFA,
vá e m f r e n t e .
C.C.
vá e m f r e n t e .
S e já foram p e s q u i s a d a s t o d a s a s l i g a ç õ e s d e PONTO,
te
C.C.
vá
v5 e m
f r en
vá a 3.6
S e ALFMX é o c o e f i c i e n t e a n g u l a r d a r e t a que p a s s a p o r Y M I N
em frente
C.C.
+
vá a 3.38
;vá
.
.
3.35
-
SECTtSECT
3.36
-
S e ALFMX é o c o e f i c i e n t e a n g u l a r d a r e t a q u e p a s s a p o r XMIN f a -
1
ça TABPC [TABP] +PONTO e vh a 3.46,
3.37
3.38
3.39
-
PONTO+-endCnÓ ALFMX]
vá
C.C.
siga em frente.
.
a 3.5.
S e não o c o r r e u um d o s c a s o s e s p e c i a i s , d e t e r m i n e ALFA e
vá
em
( O coef i e n t e a n -s u l a r
TO CRÍTICO
----
adequado a um d e t o r
depende do mesmo.
( (Item
5.3.2)
OME A LINH
I COM
I
w
MAIOR
COEF; ANG.
O
GUARDE :
PONTO E
LIGACÃO
MUDE DE
SETOR
O novo p o n t o b a s e
ESCOLKA O
NOVO PONTQ
BASE
I
PROCEDIMENTO 3
DIAGRAMA GERAL
F i g u r a 11
--- - - - - - s e r á
TOME SUAS
LIGAÇÕES
o p o n t o d e ligação s e l e c i o n a d o . -
frente,
-
3.40
vã a 3.47.
C.C.
Se ALFMX não f o i determinado e m r e l a q ã o ao ponto b a s e a t u a l , f a
ç a ALFMXtALFA e vá a 3.6.
C.C.
vá e m f r e n t e .
3.41
-
Se ALFA) ALFMX, f a ç a ALFMXeALFA,
3.42
-
Se já foram p e s q u i s a d a s t o d a s as l i g a ç õ e s de PONTO vá e m f r e n t e
C.C.
-
3.43
S e ALFMX é o c o e f i c i e n t e a n g u l a r d a reta q u e p a s s a f o r XMIN
3.45
-
3.46
- FIM.
3.47
3.48
Se
6 o c a s o m=wvá a 3.50,
C.C.
v5 e m f r e n t e .
PONTOtPAL. Se o c o r r e r um d o s c a s o s d e ordenadas e s p e c i a i s
-
vã a 3.5.
C.C.
vá a 3.5,
- S e não
C.C.
vá a 3.52
S e o c o r r e r um dos c a s o s d e a b c i s s a s e s p e c i a i s
PONTOcPAL
C.C.
v á l-i
.
vã a 3.6
Se não f o r o c a s o d e mudanças de s e t o r vá a 3.5,
das
3.51
1,
a 3.5.
das
3.50
vá
vá e m f r e n t e .
C.C.
PONTO -+end [nó WFMX
-
3.49
vá e m f r e n t e .
vá a 3.6.
a 3.46
3.4 4
C.C.
v~li-
vã a 3.6.
f o r o c a s o de uma mudança d e s e t o r vá a 3.5,
L'
C.C.
I
em frente.
3.52
-
SECTGSECT
3.53
-
vá
+
1
ao s e t o r e s p e c i f i c a d o p o r SECT.
O procedimento 3
5.4
-
6 i l u s t r a d o p e l a f i g u r a 11.
O C R I T ~ R I O DE VISIBILIDADE
P o r d e f i n i ç ã o , t o d o s o s segmentos d e r e t a q u e compõem
uma f i g u r a convexa são i n t e r i o r e s a s e u c o n t o r n o ou pertencem a ele.
Um segmento d e r e t a será a i t o v i s i v e l se e somente se
i
/S.='
/
c o n t i v e r , p e l o menos,três pontos v i s í v e i s . I s s o porque nem sempre
O
segmento que une d o i s pontos v i s s v e i s é v i s í v e l .
5.5
- OS
PONTOS LIGADOS AOS DO CONTO2NO-PONTOS
DO 2 9 N ~ E L
A p e s q u i s a d a s l i g a ç õ e s v i s í v e i s dos pontos que s e con
-
'
nectam a o s do c o n t a r n o d e um o b j e t o 6 f e i t a no espaço t r i d i m e n s i o n a l
-
a t r a v é s das coordenadas X. O s pontos do 2 9 n í v e l s ã o aqueles c o n s i d e r a
dos v i s í v e i s e que s e ligam a o s do contorno.
5.5.2
-
F I L O S O F I A DE TRATAMl3NTO
través d e um p l a n o que p a s s a p o r t r ê s pontos consecut i v o s do contorno pode-se d e t e r m i n a r q u a i s o s q u e se s i t u a m na
frente
e q u a i s o s que se s i t u a m a t r á s do mesmo. O s p r i m e i r o s s ã o c o n s i d e r a d o s
v i s í v e i s ao p a s s o que o s segundos, não.
5.5.3
-
O CASO DOS PONTOS EM L I N H A RETA
O procedimento 4 se b a s e i a na determinação d e p l a n o s ,
tomando p o r b a s e t r ê s pontos c o n s e c u t i v o s do contorno d a p r o j e ç ã o
um o b j e t o s o b r e o p l a n o X'Y'.
A s e l e ç ã o dos pontos não s i t u a d o s
de
sobre
o mesmo s u p o r t e d e r e t a 6 f e i t a a n t e s d e s e e x e c u t a r o procedimento
4
propriamente d i t o . A o c o r r ê n c i a d e t r ê s ordenadas i g u a i s a s l três a b c i s s a s i g u a i s r e s u l t a na p e s q u i s a d e um novo ponto do contorno d a f i g u r a ,
e assim sucessivamente a t é que s e q u e b r e o l a ç o ( f i g u r a 1 2 ) .
A-?BUSCA DE PONTOS DO 2 0 NIVEL
- De%eriçaoveis
5.5.4.1
1
- PPC:
P o n t e i r o p a r a o la. l i g a ç ã o d e PPC1. Ponto do contorno
2
-
.
PPC1:
P o n t e i r o p a r a um ponto do contorno, o ponto b a s e .
3
-
PPC2:
P o n t e i r o p a r a a 2a. l i g a ç ã o d e PPC1. Ponto do c o n t o r n o .
4
-
PPC3:
P o n t e i r o p a r a o ponto l i g a d o a PPCl que não p e r t e c e ao contarno (em g e r a l )
5
.
- N:
Contador d e pontos s o b r e um mesmo segmento d e r e t a .
5.5.4.2
- Procedimento
-
4
4.4
-
Se X'CPPCI = PPC1 vá e m f r e n t e ,
4.5
-
Se X ' CPPCJ
4.6
-
N+-N
+
= PPC2
C.C.
vá a 4.8
vá em f r e n t e , c . c . vá a 4 . 10&.
1.
. vá
4.8
-
4.9
-
Se Y'[PPC]=Y'EPPC~]
vá a 4.6 v ã e m f r e n t e
4.10
-
P r o c u r e PPCl e m PT
4.11
- Pegue
4.12
-
4.7
PPC2tPPC
+
3
a 4.5.
S~.Y*[PPC'I=Y'
[ P P C ~ ] vá e m f r e n t e c . c .
vá a 4.10
.
a p r i m e i r a l i g a ç ã o d e PPCl em SEG
.
Se f o r o mesmo nó apontado por PPC vá a 4 . 1 4 ,
c.c.
vá e m f r e n t e .
1
Plano formado por
três pontos não em
linha reta,do contorno.
FORME UM
PLANO
OPACO
I
ESCOLHA O
-PONTO BASE
TOME SUAS
LIGAÇ~ES
JGUARDEl
PONTOS
VISÍVEIS
p s pontos visíveis
- - - - - - são
aqueles que podem
ser vistos pelo obser
vador em relação ao
(FIM)
PROCEDIMENTO 4
-
DIAGRAMA GERAL
Figura 12
4.13
4.14
-
Se for o mesmo nó apontado por PPC2 vã em frente,
C.C.
Pegue a próxima ligação de PPC1 em SEG e vã a 4.12.
vã a 4.15.
4.15
-
Se for zero vá em frente,
4.16
Se N=O vá a 4.21,
4.19
-
NcN-1
4.20
-
Se todos os pontos de TABPC ja foram pesquisados vá a 4.26,
4.17
4.18
C.C.
C.C.
v$ a 4.22.
vá em frente
.
+1 .
PPClePPC + 2.
PPCePPC
. vá a 4.10.
C.C.
vá em frente.
4.21
-
PPCcPPCl.
4.22
-
P P C +ligações
~
de PPC1.
4.23
-
Xlcponto de projeção de PPC PPC2 í3 PPC1 PPC3 sobre X'Yt
4.24
Se X [xl]EPPC
te
4.25
PPC3 vá a 4.27,
C.C.
vá em fren-
.
- PPC1 PPC3 6
4..27 4.26
PPCS)X[XlJ€PPCl
.
visivel. Marque os nós que a representam e vá a 4.20.
FimPegue a próxima ligação de PPC1 em SEG e vá a 4.15.
PROCEDIlQ3NTOS DE S A ~ D AE ROTINAS DE TRANSFORMAÇÃO-
6.1
-
AS LINHAS V I S ~ V E I S
-
PONTOS 3 9 N ~ V E L
A função do procedimento de saída
6 interpretar as in-
formações captadas pelos procedimentos anteriores, definindo a
figura
a ser exibida. No caso de CONV, como o processamento dos segmentos
de
reta têm sido efetuados "de fora para dentro da figura11um dos procedi
mentos de saída deve se preocupar em "fechar" a projeção da mesma
bre X'Y'.
so-
'
Trata-se da complementação do processo de busca das linhas
visíveis e, consequentemente, das linhas escondidas que conclue o algo
ritmo. A decisão sobre a. visibilidade
ou não dos segmentos de reta,
tendo em vista a convexidade do objeto se baseia em duas regras:
1
-
O segmento de reta que une dois pontos visíveis (não do
contorno)
é sempre visível.
2
-
O segmento de reta que une dois pontos escondidos é sempre escondi
do.
As informações básicas sobre a visibilidade dos pontos
já foi obtida e armazenada na quarta palavra componente de cada nÔ
informação (palavra I de trabalho)
de
.
O mesmo critério se aplica
a todos os segmentos
-
ta que pertencem às faces do objeto.
e
de re
-
considerado visível todo aquele
segmento de reta situado sobre uma face visível do objeto(subfigura).
-
O tratamento dispensado a esse nível de pontos é inteiramente dependen
te dos procedimentos anteriores, resultando na Última fase do algoritmo.
6.2
-
A BUSCA DAS LINHAS VIS~VEIS
Este procedimento 6 pequeno e rápido. Sua função
..
e
a
de completar as palavras I de cada nó. A Única variãvel usada 6 P, cujo objetivo 6 o de percorrer a fila de pontos cujo endereço
simbólico
descobrir os pontos do 30 nível, como mostra o procedimento.
1nScio.
Pt[end primeiro nó de A].
Se o ponto referenciado por P 6 visfvel vá a 5.6,
C.C.
vá em
C.C.
v5 a 5.3.
frente.
PtP
f
1
.
Se já foram visitados todos os nós de A vá a 5.9,
Localize o ponto referenciado por P em PT.
Marque convenientemente todas as ligaqões do ponto apontado
por
P
vá
a 5.4
.
Fim.
Ao término desta fase, a figura já se encontra completamente definida e o comando é passado ao procedimento o qual se encar
regará da exibição da mesma, mediante chamadas convenientes 2 s rotinas
que compoem o gerador de imagens do sistema.
Toda utilização do campo I de um nó 6 feita visando a
determinação das linhas escondidas. Contudo,nem todos os bits de I fa-
zem p a r t e do código d e v i s i b i l i d a d e d a s l i n h a s que compoem uma f i g u r a .
e
'
bom r e s s a l t a r que o s mesmos não f i c a r a m t o t a l m e n t e i n a p r o v e i t a d o s ,
t e n d o s i d o u t i l i z a d o s c o m o b i t s d e t r a b a l h o no d e c o r r e r d a s d i v e r s a s £a
s e s d e p e s q u i s a dos pontos. A s s i m sendo, o código e s t u d a d o p e l o proce-
só f a z r e f e r ê n c i a a o s b i t s 10,11,12 e
dimento
Q e não ao conteiklo t o
t a l d e & como se segue:
1
-
Bits
2
-
Bits
3
-
B i t s 10 W l l l i g a d o s : l i n h a i n e x i s t e n t e que une d o i s pontos
LO' e
.,
Q l i g a d o s : l i n h a v i s í v e l com l i g a ç õ e s v i s í v e i s .
e
12
O l i g a d o s : l i n h a p e r t e n c e n t e ao c ~ n t o r n o( v i s l v e i )
.
visl-
v e i s e complanares ou l i n h a r e p e t i d a , segundo d e f i n i ç ã o do usuário,
4
-
B i t O desligãdo l i n h a escondida, d e acordo com a posiçãn a t u a l
do
o b j e t o no espaqo.
5
-
B i t s 10,11,12 e 0 ' d e s l i g a d o s
l i n h a inexistente ou-repetida sobre
uma f a c e escondida do s ó l i d o .
6.4 - A EXIBIÇÃO DA FIGURA
Um p o n t e i r o semelhante ao usado no procedimento
ante-
r i o r é usado, com o mesmo p r o p ó s i t o no procedimento 8 , como s e segue:
6.4.1
6.1
6'. 2
6.3
-
-
PROCEDIMENTO 6
~nicioP c e n d [primeiro nó d e A]
Se o nó apontado por P r e p r e s e n t a um ponto v i s í v e l , vá a 6.7,
C.C.
5.4
-
.
Envie
vá em f r e n t e .
2
unidade e x i b i d o r a a s coordenadas x ' e y ' da nó apontado
p o r P , juntamente com a condição d e l i n h a v i s í v e l .
-
6.5
-
PtP
q.6
-
Se t o d o s o s nós d e A já foram v i s i t a d o s v ã a 6 . 9 ,
8 . 7 - Envie
+
1.
2 unidade e x i b i d o r a as coordenadas
C.C.
vá a '6.3.
x ' e y ' do nó apontado
p o r P , juntamente com a condição de l i n h a i n v i s ~ v e l .
-
6'.8
-
vá
6.9
-
Fim.
6.5
-
ROTINAS DE TRANSFOWÇÃO
a 6.5.
-
A s r o t i n a s d e transformação promovem uma v i s ã o d i f e r e n
t e d e um o b j e t o no espaço. Um exemplo d e s s a f a c i l i d a d e 6 a r o t a ç ã o
em
t o r n o d e um e i x o coordenado. P a r a cada ponto p e r t e n c e n t e ao o b j e t o , no
v a s coordenadas s ã o o b t i d a s a p a r t i r das equações
0,@ e @ .
Sejam OX e OY o s e i x o s p r i m i t i v o s , O X ' e OY' o s novos
ROTAÇÃO DO PLANO XY EM TORNO DO EIXO DOS Z
Figura 13
eixos,&
O
ângulo segundo o q u a l o s e i x o s g i r a r a m e O a origem
comum
a o s d o i s s i s t e m a s , como mostra a f i g u r a 10.
A s fórmulas d e r o t a ç ã o dos e i x o s segundo um ângulo
são as seguintes:
X' = X.COS-
y ' = x.sena
+
y.senm
O
y.cosa
@
,
Devido a problemas P r o v e n i e n t e s da c o n f i g u r a ç ã o mínima
de hardware do s i s t e m a h o s p e d e i r o , o p a c o t e g r á f i c o a p r e s e n t a d o
neste
t r a b a l h o tem s é r i a s r e s t r i ç õ e s q u a n t o a ocupação d e memória e f u n c i o n a
a
l i d a d e . O manuseio e s p e c í f i c o d e coordenadas i n t e i r a s a f e t a d e modo l mentável a s r o t i n a s d e t r a n s f o r m a ç ã o , t i r a n d o - l h w a n a t u r a l p o k e n c i a li
dade. Contudo, no c a s o d e s u b s t i t u i ç ã o do o s c i l o s c Ó p i o p o r um
g r á f i c o , o programa pode ser f a c i l m e n t e adaptado, b a s t a n d o
display
que
para
i s s o sejam i n t r o d u z i d a s pequenas modificação n a s r o t i n a s que montam ou
manipulam a s e s t r u t u r a s d e dados. E s s e p r o c e s s o não i m p l i c a r á em grandes d i f i c u l d r i d e s devido 5 modularidade do programa, o que p e r m i t e
..J
'
o
teste e s p e c í f i c o d e cada uma de s u a s f a s e s .
Q u a l q u e r expansão l e v a d a a e f e i t o e m n í v e l d e hardware
manipulador de e n t r a d a s com a f i n a l i d a d e de t o r n a r o s i s t e m a i t e r a t i v o
não a f e t a r á o funcionamento do programa, desde que se t e n h a o
cuidado
d e a t u a l i z a r a f i l a de pontos que c o n s t i t u e m a c a d e i a d e e n t r a d a
do
usuário.
A aplicação m a i s importante d e s t e t r a b a l h o
6 didática.
Pretendeu-se m o s t r a r um a l g o r i t m o s i m p l e s e g e r a l p a r a a solução
problema d a s l i n h a s escondidas p a r a o c a s o d e f i g u r a s convexas,
o
do
que
pode s e r v i r como b a s e p a r a f u t u r a s expansões e melhoramentosdo s i s t e m a
proposto.
.
APÊNDICE 1
LISTAGEM DOS ALGORITMOS USADOS
-
PROCEDIMENTO
P
C10260
00262
00.262
00263
00264
OL15 01 h5060000 00265
0 2 1 7 01 6 0 0 0 0 3 6 3 00266
a i 1 9 UL hWOOO364
nl28 01 6 5 8 0 0 3 5 4
0 l l . D O C3.00
I U l b E 01 0 4 8 0 8 3 4 A
10120 O C 1 D Z
10121 01 i340001163
C102
10223 O
0124 61 8+00036Ç
0 1 2 6 01 S5S0035B
0 1 2 8 0 1 C4000364
Q12A O
O100
OISS Q E C400035C
0 1 2 8 O 0101
I
Q12E O
0 1 2 F 02
0 1 3 1 Of
0133 01
3 1 4 5 01
01'3'7 U
0138 QL
013A O
0 1 3 0 01
8 2 3 0 OP
013F
0142
0143
O145
6i47
0149
0148
014D
014F
01
OI.
O1
UX
01
Of
00267
00268
00269
00270
00271
00272
00273
Lb
STQ
LSX
L13
00274
00275
00276
00277
00278
0027'3
BUSCA
00302
00302
90303
00304
00305
00306
00307
00308
0161 01 C400035D 0 0 3 0 9
0163 01 04000366 00310
0 x 6 5 01 4 Ç 0 0 0 3 9 1 0 0 3 1 1
1
1
L1
k
LDX
S
STO
S
BN
L
00298
002 9'3
O0300
t
STO
MBX
STX
L0
C@
570
Li3
GFI
,
INZ
kUG2
a o
LU
i
SPQ
C103
01
01
O
D100
0150 fl
7101
0151 O1 6C00035C
0153 O
ld10
0154 0
13100
O f 5 5 01 C 4 0 0 0 3 6 4
0 1 5 7 01 8400Q35E
0159 01 0 4 0 0 0 3 6 5
O P S B 01 C r C O 0 0 9 8
015D OL 9 4 0 0 0 3 5 5
O B 5 F 31. 4C1803CA
t
SIO
7102
t3028fl
8U000358 O U 2 8 9
C400035C OU282
0 4 0 0 0 3 6 1 00283
65800364 00284
OU285
ECO00350 00286
D103
00287
C4800364 0 0 2 8 8
9 4 0 3 0 3 5 6 00283
04000365 00290
9 4 0 0 C 3 6 3 OU291
4C280155 U0292
C400035F 0 0 2 8 3
D40QOSó6 00294
4C00033L 0 0 2 9 5
6580035C 00296
C4000365 00297
1 h!
1 ATZ
I t LIVPT
510
3
LOX
Li2
STD
MGX
SfX
SRA
STQ
LC
LLSEG
1
2
LIVPf
LISEG
FIXSG
i 1 LU62
t
2 3
L
OITO
1 3
k tUG2
F BUBTR
L LUG3
t LUG1
INI
L
L
L
I1
L
UM
CHBVE
OUT
LISEG
LUG3
1 O
1 1
t l LISEG
16
2 O
LUG2
Li3
t
L
L
L
5
t
lUG3
L
n
STO
BZ
QUATR
LUG3
MÂRK
STO
L
NOIIOP
QITB
CHAVE
fl
i
OUT
Lf3
BSS
85s
L
100
110312
00313
PT
SEG
O167
00314
L I V P T CC
PT
01Cf3
f)0315
00316
0031 7
0031d
LISES CC
SEG
O í T G GC
GUATR DC
8
4
UM
*- *
*
*-*
***-*
0064
0190
0008
0004
0002
0000
000t3
@C00
0080
0000
0000
0000
OUUO
0000
00319
00320
O 0 3 2 1.
00322
00323
00324
00325
00326
C032 7
DC
FIXSG Gt
LUG
CC
LUG2
Df;
cudi
CC
ATX
ATY
ATL
GF2
OC
O0349
90E5
00350
45200378 00351
C101
QUE2
00363
00364
DOU0
06365
b5800361 OU3óh
C100
00367
IILISfG
LUG3
sra
L o .
MDX
SdA
ã 1
16
1. O
LU
L
STU
STX
MAIS1 L3
A
STO
S TU
LC
S
BZ
LCX'
LD
S
.
LUG2
LUG3
L
MAR#
LUGZ
NUVBP
3 1 LUG2
1 U
ATX
&?AIS1
Z 1
LB
S
BfiP
ATY
MAISí
1 2
LU
OUT
MARK
P 1
1 tlSEG
tUG3
QUATR
BHZ
4L000135.00358
C102
*-*
*-*
*-*
*-+
570
4C280-3 78 0 0 3 5 4
C1.02
00355
90DF
00356
4C1003 78 0035 f
DO01
CC
DC
tDX
?P-&
*-'x
L2
00352
00353
65800565 00353
C100
00360
DO02
00361
C 1 0 1.
00362
$
at
$- %
tlJG3
OC
CHAVE OC
ATXO
EC
ÁTYO
OC
ATzu
C100
$-
cc
OCO0
nioct
ou337
C4000078 0 0 3 3 8
UlOL
00339
69f4
00340
00341
COEC
8ifE4
00'342
DOE9
00343
DOE4
00344
C4000098 0 0 3 4 5
90E5
00346
4 C l 8 0 3 C A 08347
65800364 00346
1
P R I M P DC
0000
003.28
0032'3
O000
00330
0000
00331
6580035L 00332
COF5
00333
D1OC
00334
7101
00335
1810
00336
40C
S
ATZ
EhZ
VAIS1
E
t
LUX
fl L U G 3
CD
STO
tC
STD
Let
STO
LDX
GUTRG L#
BUSCA
1 0
ATXO
L 11
ATYO
1 2
ATZO
Y l FIXSG
f O
Bt
STO
LU
S
BMZ
BUTK
LUG
I
LUG
ATXO
PEGN
LD
LUG
A
S'iQ
ttf
S
UFI
LIIC
LUG
I
ATYO
P fGN
LtfG
E;VZ
LD
A
UM
SfO
LD
LtiG
1
S
LUG
ATZO
BNZ
P f GN
CrUTK
LD
CHAVE
PEGN
BZ
LC
SRA
EER
RZ
HEX
ECK
L
CHAVE
3
UM
C
LEI
€!%L
LU
ECR
BZ
CHAVE
L0
UM
G f1
CHAVE
ECR
UM
3
BZ
NOVt'IP L D X
STX
Gf2
LI A
1 LUGZ
LiJ
L 3
SK9
3
UN
ATUA
1 4
€@H
BkL
HUX
a. o
LI!
S
f32
f3
ATUA
LDX
VOX
STX
r3
FIM
lutAISL
1 1
1 Q
OUTRO
slin
&OVO
UM
fNI
LCX
L8
STO
L
HARK
FIM
NOVO
II CISEG
1 1
Li. L I S E G
L
IgtlIPT
i l LTVPT
L
WAKK
1 0
- PROCEDIMENTO 2
o&
*-*
+-*
*-*
*-*
P O N BC
~
I- $
XF1Itti BC
Y%Ih BC
YgAX
XMAX
13C
s*+*%c$*Q**$**$**~***~c*****;~:***********
9
+*
*
C A L C U L O D A S CC2ORDENADAS V A X I M A S
h%
CORPO
LCtX
MDX
STX
STX
MCX
STX
STX
MDX
tl A
1 1
I XMAX
1 XMIN
E 1
1 YMAX
1 VHfM
1 2
1 O
L TI
S
MARK
LOUP
C
BNZ
LOOP
8
MGX
L-j
STC
C0
S
05C
STX
f!
AQUI . L 0
5'3.0
LD
L
i. O
LUGAR
I XMAX
LUGAR
AQUI,-
i
1 XMAX
TESTE
1 O
LUGAR
XMIN
I
S
STX
T E S T E MGX
t D
5 7U
LD
LU
f 1
B S ~t
LUGAR
TESTE,+
1 XMXN
1 1
X. O
LUGAR
YWAX
LUGAR
I
S
BSC
DAQUI
SC
9
*******************94****$<***********3k****W
'INIC
*
I*
LD
F
S7X
8
YMAX
CORPO
1 O
LUGAR
I
YMiN
t
LüGAG
CORPO,+
1 YMTk
S
ESC
DAQUI*-
t
STX
8
Li3
Sf13
CORPO
4e
0003
09134
00U5
0
~
O
O
O
O~
OOU? O
'OCfDIS 01
OODA
ouõâ
6
VAGA
AREA
LUGAR
LUGAY
VAGAY
LU
O
Ft
*e
CC
CC
CDX
LC
O
LDX
OVDF O
STO
LD
a1
LDX
OUE2 Q
00E3 01
00E5 O
O O E b 01
00E8 0
STX
LUX
STX
LOX
O
OOEA O
QUE9
0 3 E B 01
0íiED O
O O E E ft
OOEF 01
00F1 0
PDX
VT-iLTX C D
*
0
O
I1 XMIQ
1 O
STO
0
OODC 01
OODE O
OOEO
*-*
CÇ
GL
LUGAR
1 1 XWAX
1 O
VAGA
I 1 YBfN
I LUGAY
11 YMAX
1
11
1
1
VAG4Y
A
1
O
LUGAR
S
82
ti3
MAKCX
1 Q
VAGA
VQLTY
1 2
S
BqZ
F A R C X LC
OOFS U
SI+A
L
00F3 01
DOF5 O
f3&Z
LD
NUVOX
#L
GR
STG
OOFb
COF8 0
OOF9 O
OOFA O
0104 O
0105 O
0106 01.
Q108 0
0 1 0 9 01
0103 O
010C 0
010D O
0 1 0 E 01
0210 0
S
az
1 Z
I
S
BMZ
K A R C Y Li3
SRA
LUGAY
EIARCY
f 1
L0
L
VAGBY
MOVOX
1 2
2
BhZ
ti3
R
Z
L
LC
S
8Z
MtX
*
Ei
NDVOX
Z
QUATR
L 2
STO
&OVQX M G X
STX
0111 81
0113 0
O114 O
NDVOX
f3
O
0 1 u 0 01
0102 01
QUATR
1 2
VQFTY L3
OúFB 01
OOFD 01
OQFF
1 2
L
1 3
f AREA
L
MAR#
AREA
ESTRU
Z 1
VOCTX
,
-
PROCEDIMENTO 3
LD
S
I
1.
eiq t
PPT
PEMPT Li3
SI0
PPT
3.1
L
8
MDX
LUUPI.
>x
INICIALIZACAO DO PONTG L I G A D O
ADII
Lu
LD
ST13
STX
*
PAL
LISEG
TEWP~
11 TEMP3
t 1
L
XPL
1 2
L YPL
L3 PAL
VERIFICACAO DOS VETORES EW S E N T I D O S
CONVENIEhTES
LCt
t SECT
BNZ
T i
LC
L XPL
S
BSC
e
EGR
8&Z
LC
S
RSC
0
LD
€98
BPGZ
Li3
L
t
XP
OK,
To0
L
L
t
L
L
L
L
UK?+
TI1
SECT
DOIS
T3
XPL
XP
B
LEI
S
BSC
t
L
L
1
i
t
LD
L
A
STO
L
ESC
I
BSC
-
UM
T2
Y PL
YP
L
S
*
*
1
s-ra L
LOX
LU
STO
*
LISEG
ADli
1. 2
8
*
*
tCfG
YP
UK*+
T22
YPL
YP
f 331 +L
SECT
TPRA0
*+I
#c-
*
TESTES P A R A O P R I M E I R O SETOR
PRSO
TO0
BSf
L
LC
BNZ
L
LDX
PCX
I P CISEG
I I
CALAL
PFIM
PRSQZ
SfX
LC
LltISEG
L O
5Tfl
1.
RNI
PRSO1 LDX
LI:
A 0 11
I f PALMX
ZERO
PFXM
1 2
STff
Fí:
S
MARC
YHAX
i
BNZ
MCH
LD
S
ADlZ
SSECftil
L
1 1
XWAX
f
AI312
BkZ
,4012
'
4041
*
SECTtl
PALMX
NUM
LD
L
STIJ
STO
LCX
Mi3X
S'PX
LU
EIZ
PONTO
I 7ABP
11 TARP
I I
L 1 TPBP
L PFTF
BSC
i
t
AI34
CALAL
D E F I N I C A O DE AREAS E CONSTANTES
:g
OCO0
ZERO
OC
0000
04A8
0167
0C64
0002
O006
0000
OCO0
PFIEI
DC
oooa
OCOO
O000
OU00
0000
0000
0000
Ori00
O000
f)OOO
OCO0
0000
0510
9472
0531
O587
05EB
OCOO
0000
0000
TABP
0t
PONTA DC
TA8PC B S S
DOIS CC
SEIS CC
PONTO DC
TEFlP3 CC
XYP
DE
XP
C€
YP
OC
XPL
DF:
YPt
QC
PAL
CC
AtFA
CI;
R E S T Q C.1;
PALMX DC
ALFWX OC
RESWX CC
SECT C C
TPRAD CC
TPII
DÇ
O
*- *
TA0PC
PT
100
2
6
*
O
*-*
*
*- *
*-*
*-*
t-*
*-*
*-*
I- *
*
*->tr
*-*
$-
$-
*c-
'
TPR
PKSO
CC
E6
PRS1
D r3
TEMPLt 13C
RESTA Ct
K S T A H DE
PR53
PRSS
4-
O
0
*
,
8524 O
0000
00587
6 5 2 5 O CCIFE
00588
0 5 2 6 01 4C180583 0 0 5 8 9
0 5 2 8 Ob C 4 0 0 0 5 1 6 U0580
0 5 2 A O1 4C28054C 00591
O52C O COfE
00592
O 5 S D Oi 4C200534 0 0 5 9 3
052F O COE9
08594.
(3530 01 4Cf00560 OU595
O 5 3 2 01 4C800608 00536
0534 O1 F400035F O0597
O536 O1 4LS0053E 00598
0538 UL C40005l.9 0059g
0 5 3 A O1 4Ef00560 0O6OU
0 5 3 C 01 4CB0060A 00601
853E 0 1 C400051B 00602
FCCB
01t60r
05443 O
0 5 4 1 01 4C20054-7 O0504
0543 0 . C005
00805
0544 81 4C10056D 00606
813607
0546 O 7 0 3 C
054'7 O C O U 1
006063
OS48 01 4C10C56U 00609
0544 01 4C00060A 0 0 6 1 0
00611
00612
00613
00614
054C 0 COCE
054U 01 4L200554 0 0 6 1 5
00616
054F 0 COC9
0 5 5 0 81 4C28056D 00617
0552 01 4C800bOA 0061ti
0 5 5 4 0 1 F400035F 0 0 6 1 9
0 5 5 6 01 4C20055D 0 0 6 2 0
0558 01 C4000519 90621
O 5 5 A 01 4C28056D 0 0 6 2 2
05SC O
7U26
OU623
055D 0 1 C40005l.B 08624
0 5 5 F U FUAC
00625
O 5 6 0 01 4 C Z 0 0 5 6 8 00626
0 5 6 2 01 C4000519 00627
0564 01 4C280560 0 0 6 2 8
0 5 6 6 01 4C800óOA 00629
0 5 6 8 01 C4U00513 0 0 6 3 0
056A 0 1 4L28056D 00631
7015
00632
056C O
0560 O
05bE O
056F 01
O 5 7 1 01
COA8
B0Xb
BC
PARC
00584
*
4
*
00585
00586
Caso
PULC
O
C E ALFA POSITIVO
LD
BL
t
Li3
h
RARC
BN
tD
BNZ
L0
BJC
B
&I
ECR
BhL
t D
ESC
BSC
LD
ECR
h13
L
i
L
L
L
1
L
ERZ
LO
tu4
*
*
BSC
3
L0
BSC
L
ff
I
t
TROCA
ALFA
NOVTE
SECT
h1
ALFNX
CALC9CAFAL
UEiI
83
ALFWX
CALCTCALAL
SECT
DOIS
N4
ALFHX
CALCpTROCA
ALFMX
ÇAtCtCALAL
C A S O D a ALFA N E G A P I V B
#<
NCIYIE
tD
SECT
3hZ
N5
LB
B
I
ALFMX
CALC
CALAL
ECR
L
UM
LO
L
Bfi!
F
Ltl
L
Bk
N5
a6
mz
fV6
DOIS
Nf O
EOR
€!fiz
LI)
L
€3 r.4
NZ0
B
I
L0
L
B&
,
ALFMX
CALC
TROCA
SECT
3
ALFMX
CALC
CALAL
ALFMX
CALC
TROCA
00633
*
08634
00635
00636
0063 7
4~ ESCOLHA 80 AhGULO
>k
CALC Lf3
kLFA
S
ALFPIIX
4C100573 00638
4 C 8 0 0 6 0 A a0633
0&N
3
I
*+%
CALbt
CONVENIEQTE
BbZ
TROCA
LE
S
RESTO
€32
CALC1
BSC
B
RESMX
L
I
RESTA
RSTAM
C A L G f LD
S
*
*
TROCA*CALWL
esc
L
E
I
MUDANCA DE
TROCA,CALAL
R E F E R E N C I A S 80 BLFA MBYIPO
sf:
ALFA
TRQCA L 0
SI0
AtFlurX
RESTC
RESlwX
P AL
tD
STO
LD
SI0
PALfiX
RESTA
LC
*
*
g:
STQ
L2
STO
L
MARC
8SC
f
CALAL
L
RSTAM
UN
T E S T E S PARA O SEGUNDO SETOR
PRSí
BbI
LC
BNL
T11
LUX
MOX
STX
LD
SFO
L
L
S'fO
LC
5
8hZ
MDM
I Q
L
S
B
, NARC
ADll
11 PAtMX
L ZERO
L PFíM
1 L
I
L
L
XMAX
A012
SECTy1
1 2
LC
BNZ
NCM
PFIPI
PRS02
IlLlSEG
1 1
t l LISEG
8RZ
P K S Q S LCX
LG
CALAL
I
t
L
L
YMIN
AD12
SECT91
ADL2
JÉ
*
TESTES P A R A O TERCEIRO SETOR
$6
PRS2
BSI
T22
L0
BNZ
LBX
FIux
CALAF
L
PFIM
PRSb3
T i LISEG
1 1
O5BF
05C1
05CS
05C4
05C6
05C8
05CA
05CC
OSCD
05Cf
0501
0503
05D4
05D6
05U8
O5DA
05DC
O5Df
05EO
05E1
05E2
O5E4
05E5
05E6
05E7
05E8
OTEA
05EB
05fC
05EE
OSFO
05F2
05F3
05F5
Q5f6
05F8
.05fA
UTFC
05FE
0500
0601
0603
0505
0607
O609
ObOA
ObOB
.06OD
060F
0612
O 1 6D00035C 00696
O C100
0069 1
0 1 D4000534 00698
SfX
L0
STU
EINZ
O1 4Ç200432 0 0 6 9 9
f P R S 0 3 LDX
L0
0 1 65800518
02 C40Q04A4
0 1 D40004A5
0 C102
01 9480009k
O L 4C200494
01 74010518
O C101
01 94800099
C 1 4CZO0494
0 1 C4000515
0 1 D4800486
01 6 5 0 0 0 4 A 8
0 1 bD00060A
O
CEO1
U DO08
0 1 6580U4A6
0 CQOS
O
DlOf
O
1810
O0700
00701
00702
00703
00704
00703
00106
O070 7
00708
00709
U07l.U
0031L
00712
OU713
00714
OU715
00716
00727
00718
00719
O
i3102
08720
DL 4LO006B0 0 0 7 2 1
O
0000
00722
00723
00724
00725
O
4QIE
00726
0 1 C40004AS 00727
0 1 4C2005FA 00728
O1 65S0035L OU729
O 7101
00730
01 hCQ0035C 0 0 7 3 1
O
C100
00732
Q
D4000524
I
00733
01 +L200432 08734
0 1 65800518 0 0 7 3 5
01 C40004A4 04736
01 D40004A5 00737
O C101
00738
0 1 94800093 00739
O 1 4LS00494 00740
O 1 C4000518 0 0 7 4 1
01 D 4 8 0 0 4 A S 0 0 7 4 2
O
7002
00743
007'44
00745
00746
O
000G
O074 7
01 C4000513 00748
03. 9 4 0 0 0 5 1 1 00749
C31 4tlBCS72 00758
0% D40U0521 0 0 7 5 1
STU
Li. LISEG
i o
I MARC
ADíf
I 1 PALIVtX
L ZERG
C
LD
S
BNL
PTDM
L0
S
BNZ
tC
57'0
SATD
IQX
STX
1l!
STO
LCX
I
C
MINX
*
g:
*
A012
1 1
I
L
t
XMIN
A012
PAL
i
TABP
t l TABPC
L 1 TAPC
1 1
M I NX
1 1 TABP
MiNX
1. L
16
1 2
L
PRUXO
*-#
T E S T E S P A R A O QUARTO SETQR
PKS3
133
CAL AL
€!SI
L
BNZ
LOX
PRS04
I 1 LISEG
HCX
13.
t f CISEG
1 O
C
I 1 PALMX
ZERO
t
PFIM
1 L
3NZ
I
C
Lt'
L
SfO
0
I
S
MARC
,4011
L
LT;
'
PFIM
Ltj
STX
LC
STEi
8&Z
PRS04 LUX
LI?
SfO
*
*
*
YRIN
e s€cr,r
LD
STO
SR A
SfO
B
DC
PFIM
3.2
XNIN
AO12
PALMX
TAEP
SAIO
CALCULO DO COEFICIENTE ANGULAR
CALAL
*-*
DC
LC
S
BL
SfQ
L
XPt
XP
L
XZERO
TEMP4
L
C4000514 0 0 7 5 2
94000512 0 0 7 5 3
4C100634 0 0 7 5 4
1890
00755
A C O C 0 5 2 1 00755
D4000516 0 0 7 5 7
11390
SKT
C
SfB
SLT
0075d
A012
00759
1810
CiQ76r3.
& C 0 0 0 5 2 1 00161
1001
00762
1801
O0763
04000517 0 0 7 6 4
10 9 0
00765
A009
00766
1010
00747
AC000521 0 0 7 5 8
1001
00 769
1801
00770
D400C522 0 0 7 7 1
4 C O O C 5 2 5 00772
OQOA
00773
FFÇF
00774
OU775
W775
00777
C480035C 0 0 7 7 8
040Q050F 0 8 7 7 9
6580050F 00780
áu000485 00781
C400051R 00782
4 C 2 0 0 6 4 5 OU783
ia10
00784
040004A5 0 0 7 8 5
46030478 00786
t40005P3 0 0 7 8 7
F400035F 00788
4C20065C 00789
C 4 0 0 0 5 1 3 00790
94UOO5l l 00791
4C30U656 00992
f 810
00793
D40004k5 0 0 7 9 4
46000597 0 0 7 9 5
C 4 0 0 0 5 2 5 00796
04000518 00797
4L8006DA 00798
C400051B
F400050C
4C200467
li310
D40004A5
Lri
S
0Z
00799
00500
00801
0C802
U0803
4LOQU5£lC 00804
C4000513 00805
9 4 0 0 0 5 1 1 00806
4 Ç 2 8 0 5 5 6 00807
i
YZERO
L
h
v
SRA
C
SiA
TE&P4
1
1
L
RESTO
16
DEZ1
16
P
Sj7A
O
SLA
SRA
L
Suo
t
1
RESTA,
L
PULO
e
DEZ1
MEG1.
16
T'EHP4
ALFA
16
DEZ1
16
L
SR4
STO
SiT
YPL
YP
TEWP4
1
CC
DC
10
-1
>!
*
*
C A S O Ç A S G R D E M A D A S CUJA
Y Z E R C LD
I
t
11
kl
TEMP3
TEVP3
PFIYt
hD
F
SECT
BPiZ
W A
ST0
B
YPROC L D
ECR
0842
LD
5
flp
SRA
SfO
Q
YPR
LISEG
STO
LLX
STX
LD
STQ
r3
PRBCY L 0
EGK
BYZ
SRA
STO
B
PRY
LC
S
B fu
YPROC
L
L
16
PFIP
t
t
TO0
SECT
UM
PKCCY
t
XPL
t
.
XP
t
F
t
C
f
L
L
x:ts
16
PFIV
T11
PAL
PALMX
CALAt
SECT
DCIS
PRY
L
16
PFI*
t
t
L
XPL
XP
T22
YPR
D f F E R E N C A E ZFRB
*
CASO GAS
=+*
XZEKO t B
ABCISSAS CUJA D T F E R E N C A E ZERO
LlSEG
PFIM
I
STW
SfO
LUX
F
i3
UMZ
L
t TEFP3
f l TEMP3
F SECT
LC.
L
YPL
S
L
YP
*+5
PROC
RO
16
PFIM
S&A
PRO
PROC
e
SI0
0
L
L
tB
i
STO
t
E!
1
LG
E6R
F
L
TOO
PAL
PALBX
CALAL
SfCf
UH
PRQC2
16
0RL
SI1A
5TO
B
PROC2 L U
L
L
PFIM
T1Z
SECT
DOIS
PROC4
YPL
YP
PRO
15
PFIV
TS2
16
PFifi
733
L
ECR
BidZ
L6f
L
S
8h
L
L
SK A
STC
0
PROL4 SKA
STU
B
P R F X Q LD
8L
SfCI
LGX
i;i
STO
LC
L
L
L
L
I
IAPC
LIGA
AA
I1 A A
1 O
A l
1 1
A2
SI0
*
*
*
PKOX
LCI
STQ
LDX
1 2
A3
LI
n
V E R I Z C A C A Q DOS PONTOS DUPtICADOS+DO
C a N T ORNC!
L€!
S
BkZ
Lt:
1 O
A l
PRQX I
1 1
S
A2
ERZ
PROXI
f 2
L0
S
B Z
L
LC
CR
A3
PKQXI
3
TRIN4
1 3
STU
ji:
*
*
F I M DA ThBEhA
T E S T E PARA
1 4
Z O
F R O X I fr"lCX
Cti
S
L
MARK
Lu
PKOX
TAPC
A
STQ
UN1
TAPC
0
PRPSXO
BitiZ
TABPC
%k
*
*
UNI
B F F I N I C A Q DE AREAS E COMSTAMTES
CÇ
T R f N 4 DF
TAPC
DC
A1
O f;
A2
A3
hA
CL
CC
CC
I
34
t-íi:
*-8
*- *
*-.*
$-
8
- PROCEDIMENTO
-
---
4
-
00900
00901.
00902
00903
00904
00905
U0906
I
00C307
D6DF 01 65800897 00908
0 6 E l O 7101
009OCf
06F2
Ul
bD0008ÇA
00910
I
,06E4 O 7101
00311
O b f 5 01 60000e98 00912
00913
00914
1
00915
U b E 7 OL C4800tS93 00916
06E9 01 04000dfi2 00917
O ~ E R01 C ~ E ~ M 0~0 9Aí a
O S E D i31 D40008$6 00913
0 6 E F 01 €4800898 00920
O ú F 1 01 D4000R35 0 0 9 2 1
0áF3 01 65600882 00922
06F5 O
06F6 O
CIO1
00923
0028
30924
06F7 O
06fS O
CIOS
DO27
(10325
U s F 9 O 1 h580CR06
06FB O C 1 0 1
ObFC O 4022
06FD 01 4C18070A
O
0700 0
0 7 0 1 01
0703 OL
0705 0
0106 O
0707 01
0709 0
070A 01
Obf-F
00926
00927
00928
00929
00930
CL02
130931
9U1F
00932
4Ç200721 00933
h 5 b 0 0 8 9 S 00934
C102
00935
9019
0 U C 3 3h
4CL80713 00937
7017
00938
65500095 00939
070Ç O C L O 1
009451
O C O D O 9011
00941
070E 01 4Çi.80713 00942
0720 O 1 65800896 00943
071 2 O 7 0 E C
00944
00945
00946
00947
0713 O1 C4000898 00948
0 7 1 5 O 8008
00949
0 7 1 6 OP 04000898 O C 9 5 0
0 7 1 8 81 C+OOC890 00951
I
RES
RET
LG
L
A
STCI
C
HES
UM
S
'
B.iZ
L
LU
LO
A
STO
LL:
S
BhZ
10X
HEX
LC
e RES
L
t
I
UN
KES
1 2
RES
RET
1 1 PSEG
1. 1
1 O
8
h
*+5
SRA
STQ
F
16
CHAV
0
L
SI0
L
STO
ti:
8
LD
L
UN
L
I
CWBV
t
PPCZ
BR I P4
CHAV
LZSG1
BZ
LGX
SS'X
CHAV
LIGSi
0
L I S G f Li2
FRENT
1 PSEG
f6
STX
SgA
RET
RES
a i
I f PSEG
L 1 PPC3
SKlt
STO
L
16
CHAV
0
L
IPPC3
It:
9
*
D f F I N f C A f 3 D E 4ilEAS E C U & S l A N T E S
C H A V 1 CL
REG
CC
R€
DC
P A R C 1 DC
P S E G CC
P A R C A CC
*-*
*-*
T R E S 1 C@
3
2
16
DOIS1 CC
F E Z E ó CIC
$- $
O
O
o
*- *
*
a-$
*
TREC
REG1
DC
DC
gt-
REG2
REG3
bC
DC
%-
PVISI
*
uc
*--$c
PARCACAU DQS MOS
TPVISLCX
ti A
STX
1 REG1
VIYIVEIS
WAC O
0 7 A O 0%
07AF C
0 7 8 0 02
0752 O
OT83 O
69FO
65U0079D
IdlO
DCFO
07R4 O C 1 0 0
0 7 8 5 03. 94800796
07R7 U 1 4 C 2 0 0 8 1 B
0739 t3 C O E S
0 7 R A 01 84000899
O ~ B CO D O D F
0 3 8 0 O C101
07'RE O f 948QG79C
O l C O 01 4 C Z C O 8 1 B
07C2 O &OU9
0 7 C 3 01, 840Õ0899
0 3 ~ 5O ~ 0 ~
U 7 C 6 O CIO2
07C7 01 9 4 8 0 0 7 9 6
07C9 01 i C S 0 0 8 L B
07CB OE C 4 8 0 0 8 9 A
0 7 C D O DOCE
07CE O
U7CF
D7DO
07131
0702
07D4
07D5
07D7
t17D9
0705
0II)C
0700
.,
"
01 0 5 4
C 4 8 0 0 8 9 A 01965
DOEC
01066
71FC
O 69136
O C005
O 9UD3
OL 4 C 2 8 0 8 2 6
0 C100
0 1 94000098
O 1 4CX8083D
0 1 C480089C
O DUCS
O C100
01 848007A7
07DF 01 4 C 2 0 0 8 2 B
07El O C O C S
07E2 01 84000899
07E4 O D O C 2
07FS O CIO1
07E6 01 948007A7
O7E8 01 4CSCOb2R
07EA O C 0 8 C
O ~ E Boa s 4 o o o s w
O ? E D O DO89
07EE O C 1 0 2
0 7 E F 01 94B007A7
0 7 F 1 O 1 4C200828
07F3 01 C480089C
07F5 O D O U 1
07E6 O
07F7 01
07f9 O
07FA 01
COB't
4C180807
COAA
4Ç200836
07FC O
07FD O
7104
C103
01067
O f Oáu
01069
51070
Of071
01072
'31073
01074
0'107s
O 1076
01071
01078
0287'3
01080
01081
6
STX
I
LDX
I 1 RE
16
TKEC
srn
SCiA
S f ll
REG
1 O
LU
S
BFIL
LS
A
S f0
Lt7
S
BNZ
LD
A
sro
I
L
ilEG
I
'
L
S
I
B%il
LU
I
O1100
01101
01 102
01 103
01104
01105
Qll.06
STU
MGX
SiX
LD
S
S
8&Z
oiro7
LG
A
01 1 0 s
01109
LC
01110
O f llX
S
BQZ
O f L12
CO.
STO
LCi
Bi
01113
01114
01,115
Olfló
ULP17
OlIlC3
O1 h i9
C
MARK
I
I NCR
PPC3
REG^
L0
LD
5x0
ti3
S&Z
MDX
PPC1
REG
1 -4
IREG2
REG2
TP2
BZ
S
B&Z
Llt
A
S'TU
REG
TP 1
L O
LC
sra
REG
UN
REG
REG1
B #ti
LLi
REG
TP1
1 2
LD
01083
01084
01085
01086
01081
OlO8Í3
01089
01090
01091
01092
01093
01094
01095
01096
01037
01098
S
REG
TP1
REG
UR
1 1
01082
01099
1 R€
PPC1
LB
I
1 O
REG3
TP3
REG3
C-
UQ:
REG3
1 1
f REG3
TP3
REG3
UN
REG3
f 2
I REG3
L
TP3
5
PPC3
REG3
PVISI
NADVE
TREC
TPINC
1 4
OK
L
STQ
FDX
WAfs
*
*
TRES
1 3
1
-4
LU
GH
1 3
Si0
B
1 3
TP3
DEZEá
GC
/40
O PONTO LIGADO E '
IWVISIVEL
.;e
&AO\JE
TREC
NAGV
1 4
1.3
LI:
8%Z
MflX
L0
1
1
SHA
SCA
STD
FIDX
1 3
1 -4
1 3
LC
CK
WAR
1 -3
TP2
1 3
QUAR
1.
s-ro
B
&AOY
Li2
QR
SAA
SLA
STU
TPeffC SLA
STO
MDX
TP1
1
1 3
15
TREC
1 4
1 O
LD
S
f3 1
*
*
*
0826
0827
OU28
ORZA
O
L0
I
STO
L
B
t a
UN
iv,ax
Lt;:
STO
a
O
LD
R1
L
L
0 8 2 B O1
0ù20 O1
082F O
0830 O1
0832 01
0834 0 1
TP3
0836 Q
0 8 3 7 01
0 8 3 9 Of
083B 0
TPINC LC
CR
L
Or(
L
083C O
MARK
IMCR
PPCl
REG
TP8+2
L I M I T E INFERIOR ULTRWFASSADO
3-132
O
01
L
1 4
E.CX
LD
STfi
B
STO
8
TKEC.
T P ~
TREC
TP2
f
L
t
PPCl
REG
TPO
1 3
TRES
DEZE6
1. 3
TPDEC
PSEG
UWI
PSEG
16
PVISI
PSEG
TESTN
PSEG
LIGS1
IPPC3 t C
S'IO
tax
LL;
I
PPC3
RES1
11 n
1. Ii
STQ
Xh13
LB
11.
STO
LU
STO
1 2
tC
~si
Xt3
YL3
t
EjiARC1
B&Z
CAL21
LU
Lf Plf
STf3
t
H
MBRCI
CALCZ
ir
*
PONTGS S U B R E
4
TESTN L U
M
RZ
O MESMO S U P O R T E DE RETA
FRENl
Ur\i
TESkll 5
STU
N
LE
PPCI
A
S T €1
UM
PPC 1
E
F R E N T Lf;
L
BNZ
TESTN
FREH1 t O
PPC1
PPC
PPC2
PPC1
STO
LD
STC
A
ST13
te3
82
Stl;A
STU
STD
B
PRIEIT
N
L
UM
PPC2
f
t
PPCS
t
MAKC1
1
L
HAKCA
3lJS
26
LINHA
Ui22Y
01230
01231
0020
0000
ooof)
O4AS
OCO3
OG00
0000
OC80
000U
0000
OCO0
OU00
0000
OU00
0000
0000
0000
0000
QOOO
04A8
0000
0000
0000
OCO0
0000
0002
OCO0
0000
OCO0
O000
0000
0000
OCO0
OU00
0000
01232
01233
Of 2 3 4
01235
01236
01237
0123b
O1239
01240
01242
01242
01243
01244
01245
01246
O1247
01248
01249
01250
*
CEFIRICAG
*-*
T A B P 1 DC
TABPC
TKES
Xtk
'XL
YL
XLL2
XL2
YL2
XLLL
XLl
YL1
XLL3
XL3
YL3
X02
CHAV
PPC
01252
01253
01254
01255
01256
01253
01258
0 1259
X31
XYPC2
YYPC1
XYPC
N
UN
01260
01283
658008A4 0 1 2 8 4
DE AREAS E CONSTBhTES
V I N T E CC
CC1NTK DC
XYPPC CC
OL25i
01261
01262
0126.3
01264
C11265
01266
0000
01263
0000
01268
O000
01269
01270
65800893 01271
C100
01272
DUf9
01273
658008A3 01274
C100
01275
DOD7
01276
C1.01
01.277
DOU6
01278
C102
01239
0005
111280
64800898 03281
C100
01282
DOE€
*
*
CC
CC
CC
C€
CC
DC
Of
120
*- *
3
-:;>
**- *
*--*
*
*-*
*
*-*<
$
*c-
er:
$6-
DC
DC;
DC
$-<C
CC
GC
DC
Ck
Dlf.
DE:
CC
#C
*
*- iPI
*=- *
<c-
O
O
TABPC
O
GC
O
O
Q
C(;
DC
O
CI',
CC
Ct
EE
*-*
*-*
Y
YRES
X2
Y2
X3
Y3
KESL
EC
DC
O
O
DC
C f;
O
O
DF
O
DC
DC
O
.WESZ
DE
RES
DC
O
O
9PC1
PPC2
PPC3
1
O
0
9
C A L C Z LGX
tO
STO
LCX
LD
S T i3
LC
SVO
LU
STO
LDX
tt3
STU
LCX
1 1 PPC
1. O
RfSl
11 R E S 1
I O
XLt
1 1
XL
1 2
YL
1%PPC2
I O
RESS.
1 2 RE52
ClOO
DOCE
01285
0128b
C101
01287
DOCO
01288
C102
01289
DOCC
O i 290
6580C89A 0 1 2 9 1
CIO0
01292
D ' t 3 ~ 1'
01293
658008A3 01294
C1.00
01295
DOC 5
O1296
C 101
01,297
o OC 4
C102
noc 3
012138
91299
01 390
01301.
01302
01303
01394
01305
Lf3
STa
1 O
XLF2
LD
1 1
STtl
LD
STO
1 2
LGX
LC
STO
LfiX
LfS
§TO
C0
STO
L f3
-
*
STO
%i
E M FUNCAU DE
01307
C A L Z 1 L6
90C3
Q1303
S
DOU6
01309
O131t.l
STQ
LU
S
M
SLT
C083
40BS
DOCE
COR7
9089
AQCR
1090
90CA
30C9
COBO
9CB2
AOA8
1090
01311
01312
01313
01314
01315
STU
LC
Ol.316
01317
013Lk3
01319
01320
01321
O f 32%
01323
01324
01325
01326
01327
01328
Y C F
S
STO
LC
S
fu"l
SLT
S
*
*
STO
Ct'
XLi
M
s
XC3
St T
DOC 3
013213
01330
XL
16
STO
RESI.
COA6
Oi.331
tD
90A8
AOCO
01332
s
YL
Yt2
01333
01334
01335
01336
01337
01338
0133-3
FiI
RES1
SCT
STQ
1. Ci
S
16
KES
STQ
10
RES1
S
YLl
1090
BOCO
COA0
90A2
DOR0
CU9E
90A3
01340
-
C A 8 L C U L Q DA INTERSECAO DE P f P 3 E P O P 2
Cí3t 1
DQD2
Xtl
f 2
4
*
,1090
YtS
I 1 PPCL
1 O
RESI.
f l RES1
1 u
XLL1
1 1
>$
€31306
COE9
90RB
AOD3
, XL2
X t
XL2
Y t
Y
-
PKDJECAO SOBRE X Z
76
f4
SLT
STQ
L0
S
RESL
16
RESZ
XL1
XL3
RES1
15
H
SLT
S
SfO
Li;
S
H
RfS
R €S
XL
XC2
X t1
SlT
STO
LC
s
-
M
SLT
A
Si47
C
STO
*
*
RESL
t
YL1
Y 1-3
RESX
L
16
RES
L
L
16
RES2
Y
&AaLCULO
L8
S
STO
i
RES1
s
STC!
L
KES.2
LD
t
L
i
XLL1
t
RES1
XLL1
X31
POSI1
CALXS
NEG1
I6
S'I'O
REST1
CALCULO 005 X
-
igc
i
L
L
ta
L
S
STO
LC
S
L
L
?4
I Y - Y ~ I~+ X L
RESTI
SLT
STO
X3X=((Y-Yf)tXf-X3)/
16
L
t
C
L
-
PlP3
YLL3
RESZ
L
L
S
SOBRE X Y
XL1
:
CALXS L G
PREJECAO
Y
A
STQ
SFT
STEI
f3w
R
POSI1 F
-
X í l
XL3
L
L
L
i4
t
L
DOS X
tO
S
*
*
16
L
XL
XL2
RfSl
Y
XL
RES2
XLL
XLL2
KES2
-
PRGJECAO S O B R E X Y
POP2
It
A
STU
StT
STO
t
RES1
L
XLL
XO2
L
16
BN
t3
POSI2 H
t
SLT
STO
CONTA L B
S
L
L
t3IiiN
CALRO SKA
STO
L
B
L
CALRP BL
REST2
POS 1 2
CONTA
NEGl
lá
RESTCI
X31
X02
CALRl
16
PVISI
TPVIS
*+fj
570
L
L
i3
L
PVISI
TPVIS
h
t
REST1
REST2
L[!
1rJ
S
BNN
8
URI
CALRi+L!
ÇALKO
R E S T 3 DÇ
R E S Jt'C~
*-*
*- *
*-*
*-*
DEZ
20
DC
R E S T 2 CC
REST1
Dê
X02={
y - Y O 1 f XC-X2 1 I
IY-Y2)1+XU,
098F O
DO30
01482
01483
O990
O991
€3992
0993
O
C100
O
DO37
O
C101
O
0'394 O
0995 O
0 9 9 6 r3
O997 0
0998 01
DO36
C102
DO35
SfO
03.481
01484
01485
01486
0148 1
*
*
COQRCEMACAS DO
SfO
1O
PX
tC
l. 1
8USC2 t C
01488
ST B
01489
L!?
01490
Si0
BSI
L fl
BZ
EOR
01491
C036
02492
4C1808D3 01493
099A O FOZ8
01496
0998 O t 4C200965 01495
099U 01 KOOOA2F 01495
01497
O 1Lc98
O 1499
O99F O OrfUíf
0l500
09AO 01 6 S U O O U 0 0 0 1 5 0 1
0 4 4 2 O C100
01 502
0 9 4 3 0 9025
01503
0944 O 1 4C200YL30 0 1 5 0 4
0946 Q
C101
01505
O1500
O387 Q 9022
0 9 A 8 O1 4C20098B 01507 01508
0 9 4 4 O C102
09AB O
301F
01509
4008
OQAC Of 4C200f3BB 01510
W A E 0 COlF
01511
0 9 4 F O1 4C1807P8 O l S L Z
0881 O C O l F
01513
09R2 01 4C2009BU 01514
0984 O C 1 0 3
01515
0305 O 1891
015'LtS
'0986 O lt101.
01517
'Q9B7 O 0103
01518
' ~ 1 7 ~00 C 1 0 3
01519
0989 O
E813
015213
09RA O
0103
01521
O Y B B O 7104
O 152%
0 9 B C O C100
01523
0 9 R O 81 9 4 0 0 0 0 9 8 01424
' 0 9 8 ~01 4C2009A2 01525
0 9 C l 01 4C800a9F 01526
HASC
,;i
PY
2
PZ
BUSC5
FASE
BLfSC3
RWZ
*
*
L
$3
*- f
t3USC"jCC
LCX
SUSCS L U
s
Uk3
BUS
BilS2
C O N V E N I E M T E DQS P O N T O S
MARCACAU
4
L1 A
E O
PX
BNZ
S
BUSC6
1 1
PY
B&Z
tD
BUSCb
1 2
CD
S
PZ
BNZ
BUSC6
FASE
LD
BZ
BUSC?
L0
PUNT!!
BNZ
BUSC7
LE
1 3
n
~ r t
1
SLA
SfO
1
1 3
1 3
8USt7 tO
HASC
OR
1. 3
1 4
STEl
S U S C b MOX
LO
S
ElRZ
0
*
*
PUNTa B A S E
1O
L
MARK
I
RUSC8
BUSC5
DEFINICAO DE A R E A S E C G N S T A N T E S
UM3
1
D E Z 8 DC
P O N P T CIC
2
18
PT
CC
DOIS2 DC
SAVPT OC
A R E A T Of;
PX
UC
*+*c
$-*
I-*
,
03CA O
0 9 Ç B 13
09CC O
Q9CD
09CE
O3CF
09DO
09D1
8902
0000
01537
OCO0
02538
OOUO
01539
0 0000
01540
Q OCO0
01541
O OOOC
O1542
O 0 ~ 8 2
01543
O OCO0
O1544
8 OCOC
01545
01546
01547
O I.5 4 8
01 558009C7 U 1 5 4 9
0303
09135 O
0906 U
0907 O
09D8 O
0909 0
0 9 D A 01
090C Q
CUED
DCF7
01550
01551
01 5 5 2
01553
DUF5
01554
658009CF 0 1 5 5 5
C100
0155+5
09CD O 9 Q E B
01557
0 9 D E 0 1 4C.200825 0 1 5 5 8
0 9 E O rit
Cllifl
01553
'09~1
t" 90E8
UlEitjtl
09E2 01 4 C 2 0 0 A 2 5 01561
09E4 O C 1 0 2
01562
09E5 O
90E5
(31563
0 9 E 6 01 4C200425 0 1 5 6 4
03fR 01 6 5 8 0 0 9 D S 0 1 5 6 5
0 9 E A 0 7101
01566
03EB O C i o 0 .
01567
0 9 E C O DODR
0156t3
Q 9 E D 01 C 4 8 0 0 9 C 8 0 1 5 6 9
D Y E F O D0DF
01570
O J F O UL 6 5 8 0 0 q C F 0 1 5 7 1
09FS 0 C103
01.572
09F3 0 1 0 0 A
01573
OYF4 C)
1dOF
01574
,09F5 r31 4C180AOE 01575
09F7 O C O D 9
01576
09F8 01 4C200A2F 0 1 5 7 7
U ~ F AO
7 1 ~ 0~1 5 7 8
1 0 9 ~
O ~ CLOC
01579
1 0 9 ~
B ~ 90Ct
01580
1 0 9 ~ 001 4C200A08 01581
IOYFF
O
c101
01582
OAOO O
9OC9
01583
69FA
C100
*
**-*
*-*
**
PY
C f,
PZ
Cí:
S A L V B 13L
M A S C CC
FASE
&-
lpc
CC
$
A R E A X 13C
&-
O I T E N GC
PONTV DC
SAV
GC
/e2
e-*
*-*
t
*
BUSCA DO PUNTO BASE EM P T .
B U S C 3 LCX
Lt;
STO
RUSO
SfX
LD
STO
LOX
LB
11 SAYPT
UV3
FASE
P SAV
1 O
AREA~
f l AREAX
3. O
PX
s
DNZ
BCIS1
f 5.
PY
RUS 1
1 2
L@
S
BRF
LC
PZ
S
8hZ
LCX
MDX
Li3
AUS3
STQ
LC
STU
LGX
LC
stn
$MA
OZ
LU
i f SAV
1 1
1 O
AREAT
AREAT
AREAX
I 1 AREAX
f
1 3
10
1'i
8lJS10
S
RPIZ
PWTY
~ U S S
5 -4
1. O
PX
BUS9
LU
1 1
a w
MOX
tf;
S
PY
'
S
ENZ
8
MGX
EfUSI-2 C 2
SI3 A
SLA
RUS9
BUf l
PZ
BWSB
BUS2
1 4
t 3
1
I
OAúC O
Df03
UAOD
7021
n
OAOE O
OAOF O
OA10 O
D A 1 1 01
OA13 O
C103
Ii130R
01593
0159/101595
C088
01603
4Cl.80820 016Q-4
C 4 0 0 0 7 A 3 01605
DOAF
01606
4L000890 01607
C40OOdU6 0 1 6 0 8
DUAA
01609
4Ç000990 O1619
65800902 O P B Z X
'1102
01612
CXOO
01613
94000098 03.614
4C200907 01615
0820 01 4C000966 01616
04SF 01 6 5 8 0 0 9 C 8 0 7 6 1 7
9A31 O 7 1 0 1
02618
0432 5 6995
01619
0333 O CLOU
01620
DA34 01 4 C 1 8 0 3 6 6 01621
OA3ó O 7 0 8 6
01622
f 3
IIU510 LD
01 595
1SOF
01597
4CZOOAZf 01598
C103
0.1599
OAl4 U 1009
01600
OA15 O
1130F
Ol.601.
0 4 1 6 01-4C20042F 01602
OA1B O
O A 1 9 01
O A l B 01
Ok1D O
O A I E 01
O A 2 0 O1
0422 O
0 A S 3 01
0 A 2 5 01
08127 0
0878 O
0 8 2 9 O1
O A 2 B 01
t. 3
8US2
SfO
O
SLA
Lf
S8.4
BhZ
BUS2
La
SLA
S&A
B&Z
15
,2 3
8
1 2 5
BUS2
LD
PONTV
BZ
L0
STO
8
RUSLL LC
BUSP
L
L
DEZE6
nasc
BUSCS
QUAR
PSASC
STO
8
t
LGX
MDX
LC
f 1 SAV
1 2
1 O
S
BhL
L
S
BUS2
8USll
L
LCX
MOX
STX
L2
8Z
13
BUSC2
MAKK
BUSO
i, BUO;
i1 AREAT
1 1
1. A R E A T
1 O
L BUS
BUS3
-
PROCEDIMENTO 6
01628
02529
0A38
OA3A
OA3C
OA3E
DA40
OA42
OA44
0446
OA47
OA49
0848 1
OA4B 1
OA4C 1
DQ4D 01
OA4F
06950
OA5l
OA52
QA54
OA56
DEFINICAQ DE A R E . 4 5 E CDNSTAHTES
01630
00 4GOOOUtil 01631
00 4 0 0 0 0 0 8 1 01632
00 4COOOOBl 02633
00 400Q0081 01634
00 000C0000 01635
00 OC000000 01636
00 00000000 01637
0 0001
01638
30 220C14C6 0 1 6 3 3
1 OU38
01640
O
i)
O
O1
01
O
0.457 O
DA58 O
OA59 O
OA5A O
OA5B 2 0
OA5C 2 0
01641
UA3C
01642
083E
01643
65000000 01644
C103
01645
100E
tt1646
IbOE
0 164'7
94000884 01648
4 C 1 8 0 A 5 9 01649
7017
01650
01651
01652
01653
0000
O 1654+
0000
0165'5
7101
01656
CLOC
01657
0 6 4 0 6 0 6 3 0165H
068A3580 01659
DEC
DEC
CEC
DEC
UEC
DEC
CEC
ac
CAtL
C&
OA3A
DENG
*
LP A
L0
SLA
SKA
S
1 3
14
14
TRES
1
PLQTE
PC I HA
BZ
B
PENA A B A I X A D A
C G N C I C A O DE
E
DC
E2
CC
*-#
*-$
2 1
P L 0 7 E MOX
LG
f O
L1BF
LIBF
i;;;a i;:;
01668
0
1661
0 16 6 2
iOAbO 2 0 064136063 01663
O A 6 L 20 0 6 8 8 3 5 8 0 0 1 6 6 4
' O A h 2 1 OA44
01665
0 8 6 3 01 C400050C 01666
O A 6 5 O OODA
31667
0866 3 0 Oh5035A3 O1668
O A 6 8 3.
OA40
01669
OA69 1 QA42
01670
O A 6 A 1 OA44
01671
O A h B O ?O1 3
01672
01673
01674
01675
O A h C 41 0000
01675
OA6D O
0000
01677
D2
CC
PRQGT t D X
FLOAT
FSTQ
CL
B
1 1
1 O
PCX
ta
C1 BF
L I BF
FLOAT
FSTQ
OC
FG
*
**
E1
E3
i
C
DOIS
STO
A4
C#LL
FPFOT
Cf:
CC
CL'
A4
E
R
C
,
CtíNTf
C G N D I C A O DE PENA LEVAhTADA
CC
*-iPc
DC
$->Ec
n
OAhE
7101
01678
OAóF O
CIO0
01679
O A 7 0 20 0 ú 4 D h U 6 3 O1680
O A 7 2 20 06843580
OA72 1 O A 4 2
O A 7 3 O 7102
0 ù 7 4 O C100
OA75 20 06400083
0476 20 068A3580
UA77 1 O844
OA78 O
COCD
O A 7 9 O DOC6
O A 7 A 30 0 6 5 0 3 5 A 3
QA7C f O A 4 0
0470 1 OA42
OA7E f
OA4*r
O A 7 F O 7102
, O A S O O C100
OsrtSí 0.1 94000098
O A 8 3 01 4Cl80A8ó
OAB5 O
?BC9
0886 Q 6038
0,488
009E
1 1
1 O
PCfEdMCX
LC
FLDAT
FSTD
ÇIBF
01581
01682
01683
LIAF
CC
WCX
01684
L0
LIBF
O1685
i3
I. 1
I O
FLOAT
FSTO
01687
LIBF
CC
C
01688
LC
UEII2
01689
01690
SI-0
CALC
01691
CC
A4
FPLOT
A4
01692
CC
R
01693
CC
C
í 2
01686
01694
COWf I M C X
CCi
S
01695
01696
01697
E32
03.698
01693
01700
FIM2
B
EXIT
ENO
1 O
i,
MARK
Ff P2
OENG
IMIC
APÊNDICE 2
EXEMPLOS DE FIGURAS TRABALHADAS POR
CONV E DESENHADAS PELO PLOTTER
BIBLIOGRAFIA
[i] I . E . S u t h e r l a n d ,
"SKETCHPAD: A man-machine g r a p h i c a l communication
system", M . I . T .
Lincoln Lab.,
Cambridge, Mass.,
Fech.
Rep-. 296, may 1965. ( v e r s ã o resumida em 1963: S p r i g s
J o i n t Computer Conf., AFIPS c o n f . Proc. Baltimore,Md.:
S p a r t a n , 1963, p. 329.)
12) E .L. J a c k s , "A l a b o r a t o r y f o r t h e s t u d y o f g r a p h i c a l man
-
machine
communication", na F a l l J o i n t Computer c o n f . ,
Conf. P r o c . B a l t i m o r e , Md.:
[3] Richard A.
Guedj,
"
Spartan-1964,
p.
AFIPS
343.
The Challenge of Computer G r a f i c s i n Continen-
t a l Western Europeu
-
Proceedings o£ t h e I E E E , a p r i l ,
1974.
[4]
R.
Williams, "A g e n e r a l purpose g r a p h i c a l language", Graphic Languages, F. Nake and A. R o s e n f i l d , Eds. Amsterdam,
The N e t h e r l a n d s : North-HolLand,
[5]
H.E.Kulsrud,
"A general-purpose
1972.
g r a p h i c language", Commun. A s s .
Compt. Mach, v o l . 11, n? 4 , 1968.
[6] M. D . Rapkin and C .M.Abu
-
Gheida, "Stand alone/remote g r a p h i c
systemT1,i n F a l l J o i n t Comput. Conf., AFIPS Conf.
P r o c . , v o l . 33. Montvale, N . J . :
pp. 731-746
AFIPS P r e s s , 1968
[7] p. A. Morrison, "Graphic Language Translation with a language
independent processar", in 1967 Fall Joint Computer
Conf., AFIES Conf. Proc., Washington D.C.: Thompson.
[8)
P. D. Rovner and D.A.Henderson, "On the implementation of Ambit/g:
A graphical programming language", in Proc. 1969 int
Joint Conf. Artificial Intelligence, 1969.
[9]
William M. Newmiian
&
Robert F. Sproull, "An approach to Graphics
System Design" - Proceeding of the IEEE, april, 1974.
Philippe P. Loutrel, "A solucion to the hidden-line problem for
computer-down poliedra"
-
IEEE Transactions on
Computers, vol. C-19. n9 3, march, 1970.
1
D. Knuth, "Fundamental Algorithms", v1
[12] N
.
. Y . Graham, "Perspective drawing of surfacee with hidden-line
elimination"
-
The Bell System Techinal Journal,
v01 51, no 4, april, 1972.
[13] Yutaka Matsushita, "Hidden-lines elimination for a rotating object"
-
Communications of the ACM, april, 1972, vol.15,no 4.
1141 J . ~ n c a r n a ç ã oand W. G i l o i , "PRADIS
- An
system f o r 3-D-display",
ference, 1972.
advanced programrning
S p r i n g J o i n t Cornputer Con-