Home
"DESENVOLVIMENTO DE UM SISTEMA G ~ ~ F I C O PARA
Contents
1. Ae aw HE HK wer HK Km HE X ok AK X AK ewe aK x me HE LISEG LUG3 o 1 16 0 MARK 1 LISEG LUG3 QUATR LUG2 LUG3 MARK LUG2 NOVOP LUG2 0 ATX MAIS1 1 ATY MAISI 2 ATZ MAIS BUSCA LUG3 0 ATXO 1 2 ATZO FIXSG 0 Ol p MM M F iw Ca m D ee ee sa Q gt C P et C cO A Rem lt 40180384 DOC3 C4800362 9065 4C20038D COBD 80B9 DOBB C4800362 90BE 4C20038D COBS 8081 DOB3 C4800362 90B7 45200380 CoB FOA9 40180155 COAD 1803 FOA4 40180378 7101 C100 406200398 COA4 FOC 40180148 COAG 1803 F097 4C18036D 65000000 6997 C103 1803 FO8F 45200309 7104 C100 94000098 4C1803E0 70F3 6580035C 7101 6D00035C 4C000118 6580035B 4000098 Dido 00368 00369 00370 00371 00372 00373 00374 00375 00376 00377 00378 00379 00380 00381 00382 00383 00384 00385 00386 00387 00388 00389 00390 00391 00392 00393 00394 00395 00396 00397 00398 00399 00400 00401 00402 00403 00404 00405 00406 00407 00408 00409 00410 00411 00412 00413 00414 00415 00416 00417 00418 00419 GUTR NOVOP NOVO ATUA FIM 56 BZ STO LD BAZ LDX SIX LO SRA EGR BNZ MUX LD B7 LDX MDX STX LOX LD STO DUTR LUC I LUG ATXO PEGN LUG UM LUG I LUG ATYO PEGN LUG UM LUG I LUG ATZO PEGN CHAVE UM L INI CHAVE 3 UM L MAISI jo
2. plano formado FIM PROCEDIMENTO 4 DIAGRAMA GERAL Figura 12 4 13 Se for o mesmo n apontado por PPC2 va em frente c c v a 4 15 4 14 Pegue a pr xima liga ao de PPCl em SEG e v a 4 12 46 Se for zero v em frente c c v a 4 22 Se N 0 v a 4 21 c c v em frente PPCc PPC 1 PPCL lt PPC 2 NeN 1 V a 4 10 Se todos os pontos de TABPC j foram pesquisados v a 4 26 c c v em frente PPC lt PPCl PPC3 liga es de PPCl X ponto de proje o de PPC PPC2NPPCI PPC3 sobre X Y Se X xy PPC PPC2 gt X X11 PPC1 PPC3 va a 4 27 C c v em fren te PPCI PPC3 vis vel Marque os n s que a representam e a 4 20 Fim Pegue a proxima liga o de PPCl em SEG e v a 4 15 47 CAP TULO 6 PROCEDIMENTOS DE SA DA E ROTINAS DE TRANSFORMA O 6 1 AS LINHAS VIS VEIS PONTOS 39 N VEL A fun o do procedimento de saida 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 amp m sido efetuados de fora para dentro da figura um dos procedi mentos de saida deve se preocupar em fechar a proje o da mesma so bre X Y Trata se ds eonplenantanac dos procesado de busca das linhas visiveis e consequentemente das linhas escondidas que conclue o algo ritmo A decis o sobre a visibilidade ou n o dos segmentos de reta ten
3. EUR BNZ SKA STO LD BN DUREE pum a E ORDENADAS CUJA DIFERENCA ZERO I LISEG L 3 11 TEMP3 Ll PFIM L SECT YPROC o m EE LM m C PA r gt lt q r Bv I pe lt lt gt lt XPL YPR 0668 O66E 0670 0672 0674 0676 0678 O67A 067C O6TE 0680 0682 0684 0685 0687 0689 0688 0680 068F 0691 0693 0595 0696 0638 059A 069C 069E 0640 0642 06A4 06A6 0647 06A9 06AB 06AC 06 0680 0682 06B4 06B5 D6B7 068 8 06B9 6 068B 068C 06BD 068F 06C0 06C1 06C3 01 01 0 01 1810 DA0004 A5 4C0005FQ C480035C D4000445 D400050F 6580050F C4000518B 4C20068Fr C4000514 94000512 403006239 1810 D40004A5 4 000478 C4000515 D4000518 4C80060A C4000518 F400035F 4C20069A 1810 D40004A5 40000597 C400051B F400050C 462006AB C4000514 94000512 406280689 1810 D4O00445 4C0005BC 1810 D40004A5 4CO0005FO0 C48006DA 4C1806DF DO29 658006DE C100 D022 C101 D 21 C102 D020 65000000 C100 901A 4C2006CE C101 00808 00809 00810 00811 00812 00813 00814 00815 00816 00817 00818 00819 00820 00821 00822 00823 00824 00825 00826 00821 00828 00823 00830 00831 00832 00833 00834 00835 00836 00837 00838 00839 00840 00841 00842 00843 00844 00845 00846 00852 00853 00854 00855 00856 00857 00858 003853 00860 00861 00862 00863 00864 00865 0
4. os quais pudessem prover meios simples e poderosos de se escrever apli cagoes gr ficas evitando ao usu rio o conhecimento de facilidades de baixo nivel de hardware Seria ideal poder se fazer programas de apli ca o gr fica tao f ceis de se escrever e manter como qualquer outro tipo de programa iterativo destruindo o mito da dificuldade em torno da programa o grafica 1 1 2 ALTERNATIVAS Alguns sistemas s o construidos em forma de pacotes graficos isto sone um conjunto de fun es ou subrotinas a serem chamadas por programas de aplica o escritos em uma linguagem de pro grama o padr o Outra alternativa e projetar se uma linguagem espe cial de programagao o que pode ser feito tomando se por base uma ou tra j existente extendendo a e modificando a onde for necessario a fim de permitir se o desenvolvimento de certas tarefas graficas Ha as pectos positivos e praticos para a construcao pacotes graficos ao inv s de uma linguagem especial x Uma boa e particular razao eque e virtualmente impos sivel a escolha de uma linguagem que satisfaga a todos os programado res Um pacote gr fico pode ser projetado para usar v rias linguagens diferentes Sao raz es como estas que facilitam uma eventual esco lha entre ambas as op es 1 2 OS PROCESSOS GR FICOS DE SA DA Uma das maiores responsabilidades de um projetista produzir um sistema que o usu rio possa entender Fazer analogia c
5. 0899 089A 0598 089C 089D 089E 089F 0840 08A1 08A2 0843 0844 08A5 08A6 08A8 08A9 OBAA 08AC OBAD OBAE 08AF 0850 0851 0882 8 4 0585 0886 DH PE MH REN 01 65800893 01 658008A3 C100 65800844 0020 0000 0000 O4A8 0003 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 04A8 0000 0000 0000 0000 0000 0001 0600 0000 0600 0000 0000 0000 0000 0000 0000 0000 0000 0000 DOD C101 DOD6 C102 DOD5 1 6580089B 01229 01230 01231 01232 01233 01234 01235 01236 01237 01238 01239 01240 01241 01242 01243 01244 01245 01246 01247 01248 01249 01250 01251 01252 01253 01254 01255 012565 01257 01258 01259 01260 01261 01262 01263 01264 01265 01266 01267 01268 01269 01270 01271 01272 01273 01274 01275 01276 01277 01278 01279 01280 01281 01282 01283 01284 BEFINICAQ DE AREAS E CONSTANTES 74 X x VINTE DC CONTR DC XYPPC DC DC TRES DE XLL Cc XL UC YL DE XLL2 DC XL 2 DC 2 DC XLL1 DC XL1 DC YL1 DC XLL3 DC XL3 DC YL3 DC X02 DC CHAV DC PPC DC X31 DC XYPC2 DC XYPC1 DC XYPC DC N DC UN DC PPC1 DC PPC2 DC PPC3 DC Y DC YRES DC XZ DC Y2 DC X3 DC DC RESI DC RES2 DC RES DC x CALCZ LDX LD STO LUX LD STO LL STO LD STO LOX LO STO LEX O G O Q O O O O OO GOO 20 E AC
6. 7 Rotinas de Transforma o S o capazes de mudar escalas fazer rota o e transla re o da informa o gr fica gerada pelas rotinas de saida O resultado uma figura de tamanho e posi o arbitr rios 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 tens 4 5 e 6 o programa de aplica o 9 Contudo a import ncia das rotinas de transforma o de ve ser ressaltada muito bom para o usu rio poder efetuar as trans 15 forma es que deseja livremente para obter diferentes vis es de uma figura em diferentes escalas Por esta e outras razoes interessante extender o dominio das rotinas de transformagao a fim de que manipulem figuras tridimensionais Isto acrescenta um pouco de complexidade ao sistema mas sua utilidade e de comprovada significagao 3 2 APRESENTA O DO PROGRAMA DE APLICA O CONV eeuen roar ia Ge computador nao podem de senhar e sim seguir uma serie de procedimentos que o usu rio pensou po derem resolver uma determinada classe de problemas Tomando por base o pr prio procedimento humano nesse sentido podemos acrescen
7. Ao termino desta fase a figura ja se comple tamente definida e o comando e passado ao procedimento o qual se encar regar da exibigao da mesma mediante chamadas convenientes s rotinas que compoem o gerador de imagens do sistema 6 3 A INTERPRETA O DOS C DIGOS DE I Toda utiliza o do campo I de um n feita visando a determinagao das linhas escondidas Contudo nem todos os bits de I fa 49 zem parte do c digo de visibilidade das linhas que compoem uma figura bom ressaltar que os mesmos nao ficaram totalmente inaproveitados tendo sido utilizados como bits de trabalho no decorrer das diversas fa ses de pesquisa dos pontos Assim sendo o c digo estudado pelo proce dimento s faz refer ncia aos bits 10 11 12 e 0 e n o ao conte do to tal de E como se segue l Bits 10 e 0 ligados linha visivel com liga es vis veis 2 Bits 12 e 0 ligados linha pertencente ao contorno visivel 3 Bits 10 U11 ligados linha inexistente que une dois pontos visi veis e complanares ou linha repetida segundo defini o do usu rio 4 Bit 0 desligado linha escondida de acordo com a posi o atual do objeto no espa o 5 Bits 10 11 12 e 0 desligados linha inexistente ou repetida sobre uma face escondida do s lido 6 4 A EXIBI O DA FIGURA Um ponteiro semelhante ao usado no procedimento ante rior e usado com o mesmo prop sito no procedimento 8 como se segue 6 4 1
8. Um objeto tem tantos pontos base quantos sao os pontos que definem seu tragado 4 3 PROCEDIMENTOS DE ENTRADA 4 3 1 FILOSOFIA DE TRATAMENTO Duas tabelas sao usadas para concretizar asestrutura anteriormente descrita pm PT Tabela onde s o armazenados os pontos base Sua dimens o de 2N 1 palavras onde N o n mero total de pontos base componentes do objeto no espa o Duas palavras s o usadas para cada referen cia a um ponto base A primeira cont m o endere o do ponto na ca deia A do usu rio A segunda palavra um ponteiro para a tabela 28 de pontos de 14 2 SEG Tabela de pontos de liga o As informa es armazenadas em SEG s o endere os de pontos guardados em A Sua dimens o amp vari vel e depende do objeto a ser exibido O motivo pelo qual se usou endere os de pontos e n o os pr prios foi o de evitar gasto de mem ria lembrando que cada pon to definido por tr s coordenadas Esses endere os se referem sem pre primeira palavra do n de informa o em sua primeira ocorr ncia em A um modo de acelerar a pesquisa na referida cadeia a qual e feita de modo sequencial 4 3 2 O PROCEDIMENTO DE MONTAGEM E PREENCHIMENTO DA ESTRUTURA 4 3 2 1 Descri o das vari veis 1 LIVPT Ponteiro para a proxima palavra livre de PT 2 LISEG Ponteiro para a pr xima palavra livre ide SEG 3 FIXSG Ponteiro para a primeira palavra de cada grago de pontos de
9. 00658 00659 00660 00661 00662 00663 00664 00665 00665 00667 00668 00669 00670 00671 oga 00673 00674 00675 00676 00677 00678 00679 00680 00681 00682 00683 00684 00685 00686 00681 00688 00689 00690 4052 C40004A5 200506 6580035C 71101 00691 00692 00693 00694 00695 CALCI mm 63 BNE BSC MUDANCA x TROCA L STO LD STO LO STO LG STO LU STO BSC TESTES PARA gt PRS1 BSI LU BNZ L X MOX STX LO STO BNZ LOX LD STG LU 3 BNZ MDM LD 5 BNZ MDM B PRS02 TESTES BSI LD B NZ LDX MDX DE L L i L L 11 r r REFERENCIAS AQ ALFA MAXIMO ALFA ALFMX RESTO RESMX PAL PALMX RESTA RSTAM UM MARC CALAL Q SEGUNDO SETUR CALAL PFIM PRSO2 LISEG 1 LISEG 0 MARC ADI PALMX ZERO PFIM l XMAX AD12 SECT 1 2 YMIN AD12 SECT 1 AD12 PARA SETOR L 11 1 CALAL PFIM PRS03 LISEG 1 O5BF 05C1 05C2 05C 4 05C 6 05C8 O5CA O5CTC 05CD 05CF 05D1 0503 05D4 0506 0508 05DA Q5DC OODE O5EO OSEI O5E2 05E4 05 05F 6 05E7 05EFE8 O5EA OSEB 05 C 5 05FO0 05F2 05F3 05F5 05F6 05F8 O5FA O5FC 5 0600 0601 0603 0605 0607 0509 060A 0608 060D 060F 0611 6000035 C100 D4000524 40200432 65800518 C40004A4 D40004A5 C102 39480009A 46200494 74010518 C101 94800099 46200494 C4000515 D
10. 00981 00982 00383 00984 00985 00986 00987 00988 00989 00990 00991 00992 00993 00994 00995 00996 06997 00998 00993 01000 01001 01002 010023 01004 01005 01006 01007 69 A UML STO L PPC2 B LINHA x X DEFINICAO DE AREAS E CONSTANTES UMI DC 1 REL DC xen RE2 DC eo gt BUSCA DE PPCL EM PT PRIMT LOX Ll PT PRIM STX LI RES2 LU 1 STG L RE LOX 1 RE L 1 PPC1 S10 REI LE 1 S I REl BNZ RETOR LO RE A UM1 STO REI Li 1 1 S I REI BNZ RETOR LO REI A UM1 STO RE1 LD 12 5 I REL BZ LIGSG RETGR LOX I1 RES2 MD X 1 2 B PRIM xc E VERIFICACAO DOS PONTOS QUE SE LIGAM A x PPCL LIGSG LDX 11 RES2 MUX 1 1 LO MARCA BNZ LIGS LB 1 O STO PSEG STO MARCA LIGS LOX Ti PSEG LD 1 0 BZ FRENT LIGS1 LD 1 0 STO RE LEX Il RE LD I PPC PRIM4 STO L RES PRIM5 LE 1 0 94800BA5 4C20078E C40008A5 84000899 D40008A5 C101 94800845 4C20078E C40008A5 84000899 D40008A5 C102 j94B80084A5 4C200T8E 6580079F 7101 C100 4CO00782 1810 D4000892 40000868 691C 1810 D4000892 TOCD C4000899 D4000892 C480089B C4000892 40180787 6580079F 6D00089C 1810 D4000892 4CO00B4E 0000 0000 0000 0000 0000 0000 0003 0002 0010 0000 0000 0000 0000 01008 01009 01010 01011 01012 01013 01014 u1015 01016 01017 01018 01019 01020 01021 01022 01023 01024 01025 01026 01027 01028 01029 01030 01031 01032 01033 01034 01035 01036 01037 0103
11. 01164 01165 01166 011687 01168 01 94000098 Ol 4018083D 01 C480089A D400079C O TOBE 0 7108 o co7l D40007A4 O 7049 Ol C40007A4 46180826 O 7104 C480089A D400079C OL 4C0007B2 C103 EC000884 ECOO07A3 O D103 01170 01171 01172 01173 01174 01169 wv x N NAQVE TPDEC TP1 eo P2 TP3 TPINC 72 OR STO MDX LU OR B DC LD BNZ MDX LO SRA SLA SLA STO MDX LD BZ LD STO B LIMITE STO k RA k S TRES 3 Td 3 DEZES 3 3 40 O PONTO LIGADO E INVISIVEL TREC 16 TREC 4 0 MARK INCR PPCI REG TPO 2 INFERIOR ULTRAPASSADO MDX LE STO B LE BZ MDX LE STO B LE CR OR STO B L 1 8 UN TREC TP4 TREC TP2 amp PPC1 REG TPO 3 TRES DEZE6 3 TPDEC 0830 O amp 3F 0341 0843 0844 0846 0848 084A 084C OBLE 0850 0851 0953 0854 0855 0856 0557 DESB 0859 0858 0850 O85E 0860 0861 0862 0864 0865 0866 0867 0868 0869 058 6 086C 0B6E 086F i0870 0871 0872 0874 0875 0877 0879 087A 087C 087E 01 01 l Ol qi Ol 01 01 COO OUO O O 0 i fama co i ry SOO OOo CG O G O Oo So cC C4000T9F 8400071E D400079F 1810 D40007A8 C480079F 40180861 6580079F 40000754 01175 01176 91177 01178 01179 01180 01181 0
12. 01655 01656 01657 01658 01659 01660 01661 01662 01663 01664 01665 01666 01667 01668 01669 01670 01671 01672 016735 01674 01675 01676 01677 82 DEFINICAO DE AREAS CONSTANTES DEC DEC DEC DEC DEC DEC DEC DC CALL DC DC PROGT mK E E2 PLOTE El E3 DC DC LDX LO SLA SRA S BZ B DC DC Li 1 ps rH CO O O ie a p qu se 8 9 Q O O O O O O SCALF 14 TRES PLOTE PCIMA CONDICAO DE PENA x K X me HC 1 0 FLOAT FSTO B 1 0 FLOAT FSTO C DOIS A FPLOT A6 B C CONTI He Xu X ABAIXADA CONDICAO DE PENA LEVANTADA OAGE OAGE DATO 2 QATI QAT2 0 7323 DAT4 0475 CATT OATS DATA QATC OA70 CATE OATF 0480 0 8 DAB3 ABS 0AB6 0A88 otra OC gt 5 01 01 7101 C100 064D6063 068A3580 0A42 1101 C100 064D6063 068A3580 OA44 COCD DOC 04503543 OA40 0A42 OA 44 1102 C100 94000098 4C180A86 70C9 6038 009E 01678 01679 01680 01681 01682 01683 01684 01685 01686 01687 01688 01689 01690 01691 01692 01693 01694 01695 01696 01697 01698 01699 01700 83 PCIMA MDX CONTI FIM2 LD LIBF LIBF po FLOAT ESTO FLOAT FSTO UM2 A FPLOT 84 AP NDICE 2 EXEMPLOS DE FIGURAS TRABALHADAS POR CONV E DESENHADAS PELO PLOTTER 87 88
13. 0480 0482 0484 0485 0486 0487 0489 DARB O4BD D4nt 0490 0492 0494 0496 0497 0499 049B D49C 049E 04A0 04A2 O4A4 04A5 O4A6 04AT G4A8 050C 050D 050E 050F 0510 0511 0512 0513 0514 0515 0516 0517 0518 0519 051A 0518 O51C 0510 051E O51F 0520 0521 0522 0523 mia O Q O Q O O O Q O G O G G O G Q O 5000035C C100 D4000524 40200432 65800518 COLF DOLF C102 94800098 46200494 74010518 C101 93480009C 46200434 14010518 C4000518 DOT D4B004A6 65B8004A6 7101 6DOOQ0AA6 C40004A5 4C1803F5 4C80060A 0600 0000 948 6167 0064 0002 0006 0600 0600 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 051D 0472 0591 O5BT ODEB 0600 0000 0000 00528 00529 00530 00531 00532 00533 00534 00535 00536 00537 00538 00539 00540 00541 00542 00543 00544 00545 00546 00547 00548 00549 00550 00551 00552 00553 00554 00555 00556 00557 00558 00559 00560 00561 00562 00563 00564 00565 00566 00561 00568 00569 00570 00571 00572 00573 00574 00575 00576 00577 00578 00579 00580 00581 00582 00583 PRSOI ADL AD 1 61 SIX LG STO BN Z TOR peu i Fa LISEG 0 MARC ADIL PALMX ZERO PFIM 2 YMAX AD12 SECT 1 a XMAX AD12 SECT 1 PALMX PONTO TABP 1 TABP PFIM AD4 CALAL DEFINICAD DE AREAS E CONSTANTES gt ZERO
14. D4000524 00444 STO L MARC 03F9 01 D40004A5 00445 STO L 03FB 01 6580050E 00446 LOX 11 PONTO O3FD O C101 00447 LO 1 1 O3FE O1 D4000511 00448 STO L XP 0400 0 C102 00449 tb 12 0401 01 D4000512 00450 STO L YP 0403 O C100 00451 LD 10 0404 01 D4000510 00452 STO A XYP 00453 00454 BUSCA DE PONTO NA ESTRUTURA 00455 0406 01 658004AT 00456 LDX 11 PONTA 0408 01 6000050F 00457 LOOPL STX L1 TEMP3 040A 01 C480050F 00458 LO 1 TEMP3 040C Ol 04000362 00459 STO L LUG 0406 Ol C4800362 00460 LD I LUG 0410 94000510 00461 5 L XYP 0412 01 4C200430 00462 BNZ PPT 0414 01 C4000362 00463 LD L LUG 0416 01 8400035F 00464 A L UM 0418 01 D4000362 00465 STO L LUG 041A 01 C4800362 00466 LD I LUG 041C OL 94000511 00467 S L xP 0 1E 01 4C200430 00468 BNZ PPT 0420 01 C4000362 00469 LD L LUG 0422 8400035F 00470 L UM 01 D4000362 004711 STO L LUG 0426 0428 042A 042C 042D 042F 0430 0431 0432 0434 0436 0438 0439 0438 943C O43E 0440 0442 0444 0446 0448 0444 0448 044D Q44F 0451 0453 0455 0457 0459 045B 045D Q45F 0461 0463 D465 0467 0469 0468 046D O46F 0470 0472 0474 0476 0478 047A 01 01 0 C4800362 94000512 40200430 C101 0400035C 7002 7102 70D6 C480035C D400050F 6580050F C101 D4000513 C102 D4000514 60000515 C4000518 4C 200448 4000513 94000511 4 100468 702D F400035F 406200457 C4000514 94000512 4C08046B 40000597 C400051
15. DADOS 4 1 INTRODUCAO Os programas de computador usualmente operam problemas baseados em tabelas de informa o Em muitos casos estas tabelas n o s o simplesmente massas amorfas de valores num ricos elas envolvem re lagoes muito importantes entre os elementos que cont m Em sua mais simples d finig o uma tabela deve ser uma lista linear de elementos com importantes propriedades de construgao que podem responder a perguntas como quem o primeiro elemento i da lista Quem o ltimo Quais os elementos que precedem ou seguem um outro Em sua forma mais complicada uma tabela uma matriz bidimensional ou n dimensional para os valores maiores de n o que po de ser uma estrutura em rvore representando a hierarquia de seus ele mentos ou ent o uma complicada estrutura multiligada com um grande n mero de conec es compar veis as do c rebro humano lll De um modo geral para se aproveitar cias facilidades que um computador oferece importante adquirir se uma boa compreen s o do relacionamento dos dados que se est usando bem como das t cni cas de representa o e manipula o dessas estruturas dentro da maqui na O objetivo a flexibilidade e velocidade de processamento que 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 26 de re
16. DESENVOLVIMENTO DE UM SISTEMA GR FICO PARA TERMINAIS Selene da Silva Cavalcanti TESE SUBMETIDA AO CORPO DOCENTE DA COORDENAC O DOS PROGRAMAS DE P S GRADUA O DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO CO 7 MO PARTE DOS REQUESITOS NECESS RIOS PARA A OBTEN O DO GRAU DE MESTRE EM CI NCIAS M Sc Aprovada por e RIO JANEIRO ESTADO DO RIO JANETRO BRASIL MAIO DE 1976 A Geraldo Magela ii 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 orientagao na fase inicial deste trabalho A Nelson Maculan Filho pela orientacao na fase final deste trabalho e pelo apoio A Luiz Ferrara de Almeida Cunha e Jo o Jos Neto pelo incentivo A Zuleica da Silva Cavalcanti pela revisao do texto A Regina Coeli Jacob pelo trabalho de datilografia A meus amigos pela atencao A meus familiares por tudo iii RESUMO prop sito deste trabalho apresentar um sistema gra fico projetado para o computador MITRA 15 do LASS COPPE e detalhar um pacote gr fico que opera sobre figuras tridimensionais A enfase dada descri o do m todo de a o utilizado para a manipulacao de coordenadas de que se comp e um objeto no espa o e escolha de pontos e linhas visiveis sobre o mesmo segundo um observa dor colocado
17. IK TABPC 3 MX A OK oux DE x XE Hime x IK HE Kan HE AK 0 i TV C PPC RESI RESI ALL XL YL PPC2 RES2 0888 0889 O8BA osBB 0Q8BC O8BD O8BE 08CO Oacl 082 0864 0855 08C6 08C7 08C8 08C9 OBTA Q8CB 08CC O8CD D8aCE QSCF 0800 08D1 08D2 08D3 0804 08D5 0807 0858 0859 08D8 08DC 08DD 08DE OBE 08E3 OBE4 0865 08E6 08E7 08 8 OBES C O O O O G O Q c O O O O Q co O O O coococooooooooccoo C100 DOCE C101 DOCD C102 DOCC 65800894 C100 DOEL 658008A3 C100 DOCS C101 DOCH 0102 DQC3 COCI 90C3 D D6 COBS 9088 AOD3 1090 DOD2 COB3 90B5 DOCE COB7 9089 AOCB 1090 90CA DOCS COBO 9052 AOAB 1090 00c3 COA6 90A8 0 0 1090 DOCO COAO 9042 DOBB CO9E 9043 01285 01286 01287 01288 01289 01290 01291 01292 01293 01294 01295 01296 01297 01298 01299 01300 01301 01302 01303 01304 01305 01306 01307 01308 01309 01310 01311 01312 01313 01314 01315 01316 01317 01318 01319 01320 01321 01322 01323 01324 01325 01326 01327 01328 01329 01330 01331 01332 01333 01334 01335 01336 01337 01338 01339 01340 LD STO LD STO LO a E 0 XLL2 1 XL 2 YL2 PPC1 Q RES1 RES1 0 XLLI d XL1 2
18. LUG3 LD L MARK S L LUG3 BZ NOVOP LD L QITO ST L CHAVE 8 L OUT 54 ROK ROR ROTOR tete aK ak og toe Sc xot oe sk aie ae k ae akc a aK a ake 3k ak ake Ok ak RG ORO a RK lal i clei kak ak 3k K 3k 3k akc ie DA ESTRUTURA s s nsn 2 o S S s S SSS Sos 0064 0190 0167 OICR 0008 0004 0001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 6580035C COF5 D100 7101 1810 pioe C4000098 D101 69E4 COEC B0E4 DOES DOES C4000098 90E5 4C1803C 65800364 C100 90E5 4C200378 C101 90E2 4200578 C102 90DF 4200378 40000135 65800365 C100 DOD2 C101 0501 C102 DODO 65800361 C100 00312 0060313 00314 00315 00316 002317 00318 00319 00320 00321 00322 00323 00324 00325 00326 00327 00328 00329 00330 00331 00332 00333 00334 00335 00336 00337 00338 00339 00340 00341 00342 00343 00344 00345 00346 00347 00348 00349 00350 00351 00352 00353 00354 00355 00356 00357 00358 00359 00360 00361 00362 00363 002364 00365 00366 00367 PT SEG LIVPT LISEG OITO QUATR PRIMP FIXSG LUG LUCI LUGZ LUG3 CHAVE ATXO ATYO ATZO ATX ATY ATZ GF2 MAISI QUT DUTRD 55 B55 BSS DC t DC DC DC DC DU DC DC DC DC DC DC DC DC DC DC LDX STO MDX SRA STO STX LD 11 11 1 100 406 PT SEG 8 1 AME EE Xxx x lt
19. M SLT STO LD BNN SRA STO BZ LD STO LD BNN DC DC DC DC DC r r r p gt p RES1 L X02 16 REST2 POSI2 CONTA NEGI 16 RESTZ X31 X02 CALRI 16 PVISI TPVIS 6 UN PVISI TPVIS REST1 REST2 CALRI 2 CALRO eam 3 k me 3K Er 10 X02z Y YO X0 X2 Y Y2 XO PROCEDIMENTO 5 0966 0968 0969 Q96A 0968 096C 096D 096E 0970 Q3T71 0972 0973 0375 0976 0977 0978 037C i 1 0970 097E OMF 0980 0982 0983 0984 0985 0986 1 Q O OG O Q O O Q O CO C p 1009 01429 01430 01431 014232 01433 01434 01435 01436 65000000 18L0 D064 D066 C163 100 180F 4200975 i C103 1008 180F 4C18097D 7104 6955 C100 94000098 40180A47 GEE C103 1008 180F 46180987 CO4D D049 CO3E DO4B C103 1009 180F 4 amp 4C 1809715 1810 D043 041 01437 01438 01439 01440 01441 01442 01443 01444 01445 01446 01447 01448 01449 01450 01451 01452 01453 O1454 01455 01456 51457 01458 01459 01460 01461 01462 01463 01464 01465 01466 01467 01468 01469 01470 01471 81472 01473 01474 01475 01476 01477 01478 01479 01480 FORO IORI IO ak a fa aR a ae x tete R te ol fe ae ai akc k k ake ae ae af 78 CALCULO DE TODOS OS PONTOS VISIVEIS MC Se ok ode e ke a ae a ae EOE ak RO
20. PFIM TABP PONTA TABPC DOIS SEIS PONTO 3 X YP XP C YP XPL YPL PAL ALFA RESTO PALMX ALFMX D RESMX SECT TPRAD TPR TEMP4 RESTA RSTAM DC DC DC DC 0 Xeno poe 100 Ane mn d 9 arm O E Mk E 2 xk Hk E TPR PRSO PRSI PRS2 PRS3 0524 0525 0526 0528 052A 052C 052D 052F 0530 0532 0534 0536 0538 053A 053C 053E 0540 0541 0543 0544 0546 0547 0548 0544 054C 054D O54F 0550 0552 0554 0556 0558 0554 055C 055D Q055F 0560 0562 0554 0566 0568 056A 056C 0560 056E 056F 0571 01 01 0000 COFE 4180583 C4000516 40C28054C COEE 46200534 COFS 41005545D 4C8Q060A F400035F 4C20053E C4000519 4 10056D amp C80069A C400051B FOCB 40200547 COD5 4C10056D 103 4C10056D 4C8Q060A COCE 40200554 COCS 4C28056D 4080060 F400035F 4620055D C4000519 4C28056D 1026 C400051B FOAC 40200568 C4000519 4280560 4C80060A C4000519 40280560 1016 COAB 90AA 4100573 4 800604 00584 00585 00586 00587 00588 00589 00590 00591 00592 00593 00594 00595 00596 00597 00598 00599 00600 00601 00602 00603 00604 00605 00606 00607 00608 00609 00610 00611 00612 00513 00614 00615 00616 00617 06615 00619 00620 00621 00622 00623 00624 00625 00625 00627 00628 00629 00630 00631 00632 00623 00634 00635 00636 00637 00638 00
21. PROCEDIMENTO amp 6 1 Inicio 6 2 Pe end primeiro no de A 6 3 Se o n apontado por P representa um ponto visivel v a 6 7 em frente 6 4 Envie unidade exibidora as coordenadas x e y da n apontado por P juntamente com a condi o de linha vis vel 50 6 5 PeP 1 6 6 Se todos os n s de A ja foram visitados a 6 9 c c v a 6 3 6 7 Envie unidade exibidora as coordenadas X e y do n apontado por P juntamente com a condicao de linha invis vel 6 8 V a 6 5 6 9 Fim 6 5 ROTINAS DE TRANSFORMACAO As rotinas de transforma o promovem uma visao diferen te de um objeto no espa o Um exemplo dessa facilidade amp a rota o em torno de um eixo coordenado Para cada ponto pertencente ao objeto no vas coordenadas s o obtidas a partir das equa es 1 A e 3 Sejam 0X e OY os eixos primitivos 0X e OY os novos X Sene pore 2 9 m 1 a x lt F P X Y Z A ge Y a COS I M ROTACAO DO PLANO XY EM TORNO DO EIXO DOS Z Figura 13 eixos o ngulo segundo o qual os eixos giraram e 0 a origem comum aos dois sistemas como mostra a figura 10 As formulas de rotagao dos eixos segundo um Angulo sao as seguintes li X COS y sene 1 ke II x sena y cosx 2 AE 52 CONCLUS O Devido a problemas provenientes da configura o m nima de hardware do si
22. TRINA 1 3 PARA FIM DA TABELA TABPC L l4 10 MARK PROX TAPC UN1 TAPC PR XO DE AREAS E CONSTANTES i 34 do A Kom 3k How 3k Xo PROCEDIMENTO 4 do missus de se O6DF 06E1 05E2 06E4 06 5 Q6E9 OSEB Q6ED O6EF O6FL 06F3 O6F5 06F6 06F7 06F8 06F9 O6FB 06FC 06FD DOFF 0700 0701 0703 0705 0706 0707 0709 070D OTOE 0710 0712 0713 0715 0716 0718 01 01 01 01 Oi O1 65800893 f101 6D000839A 7101 6000039B C4800893 D4000882 C4B80089 D4000896 C480089B 04000895 65600882 C101 D028 C102 D027 65800896 C161 39022 40C18070A C102 901F 46200721 65800895 C102 9019 4C180713 7017 65600895 C101 9011 461807132 565800896 TOEC C4000898 BOOS D4000898 C400089B 00900 00901 00902 00903 00904 00905 00906 00907 00908 00909 00910 00911 00912 90913 00914 00915 00916 00917 00913 00319 00920 00921 00922 00923 00924 00925 00926 00927 00928 00929 00930 00931 00932 00933 00934 00935 00936 00937 00938 00939 00940 00941 00942 00943 00944 00945 00946 0094 7 00948 00949 00950 00951 68 gt INICIALIZACAO DOS TRES PRIMEIROS PONTOS DO CONTORNO X LIGA LOX Il PPC MEX 1 1 STX Ll PPC1 MEX 1 1 SIX Li PPC2 TESTES PARA X LINHA LU I PPC STG L XYPPC LO 1 PPC1 STO L XYPC1 LINH LD I PPC2 SIG L XYPC2 LOX Il XYP
23. X1 X3 0918 01 D4000894 01377 STO L X31 Y Y3 X1 091D O 1090 01378 SLT 16 T 091E 0 D042 01379 STO RESTI 091F 01 4C280922 01380 BN POSII 0921 0 7004 01381 B CALX2 0922 01 44000633 01382 POSIL M L 0924 0 1090 01383 SLT 16 0925 0 0038 01384 STO REST1 01385 01386 CALCULO DOS X PROJECAO SOBRE XY 01387 x POP2 0926 01 C4000886 01388 CALX2 LD L XL E 0928 94000889 01389 8 L XL2 092A D40008A3 01390 STO L RESI 092C 01 C400089D 01391 LD L Y 092E 01 94000886 01392 S L XL 0930 01 D40008A4 01393 STO L RES2 0932 01 C4000885 01394 LD L XLL 0934 01 94000888 01395 S L XLL2 0936 OL A40008A4 01395 M L RES2 0938 093A 093C 093E 093F 0940 0942 0943 0945 0946 0947 0949 094B 0940 094E 0950 0952 0954 0956 0958 095A 095C 095E 0960 0951 0962 0963 0964 0965 ACOQO08A3 84000885 D4000891 1090 0022 4 280945 7004 A4000633 1090 D01B 4000894 94000891 4 100952 1810 D40007AB 4C0007A9 4C1L8095A 4000899 D4000748 amp CO0007A9 C4000961 94000962 4C 100954 FUEL 0000 0000 0CG00 000A 01397 01395 01399 01400 01401 01402 01403 01404 01405 01406 01407 01408 01409 01410 01411 01412 01413 01414 01415 01416 01417 01418 01419 01420 01421 01422 01423 01424 01425 PUSIZ CONTA CALRO CALRI RESTI REST2 REST3 REST4 DEZ 77 SITO SLT STO BN
24. c v a 3 38 SECT SECT 1 Se ALFMX e o coeficiente angular da reta que passa por XMIN fa ca TABPC TABP PONTO e v a 3 46 c c siga em frente PONTO e end n ALFMX v a 3 5 7 j Se n o ocorreu um dos casos especiais determine ALFA e va em 41 IN GTO TOME UM PON IT CR TICO E LIGA ES ITOME A LINHA COM MAIOR COEF ANG GUARDE PONTO E LIGACAO MUDE DE SETOR ESCOLHA O NOVO PONTO BASE PROCEDIMENTO 3 DIAGRAMA GERAL TOME SUAS LIGAC ES Figura 11 O coefiente angular adequado a um setor depende do mesmo Item 5 3 2 FIM O novo ponto base sera o ponto de li ga o selecionado 3 41 3 42 3 51 42 frente c c v a 3 47 Se ALFMX n o foi determinado em relagao ao ponto base atual fa a ALFMX lt ALFA e va a 3 6 c c v em frente Se ALFA gt ALFMX fa a ALFMX lt ALFA c c v em frente Se j foram pesquisadas todas as liga es de PONTO v em frente C C V a 3 6 Se ALFMX amp o coeficiente angular da reta que passa for XMIN v a 3 46 Bus v em frente PONTO end nO ALFMX V a 3 5 lox Se o caso mzeev a 3 50 c c em frente PONTO PAL Se ocorrer um dos casos de ordenadas especiais v li das v a 3 5 c c v a 3 6 Se n o for o caso de mudangas de setor v a 3 5 c c v a 3 52 PONTO lt PAL Se ocorrer um dos casos de abcissas esp
25. ele tr nicos T cnicas para introduzir dados tri dimensionais atrav s de meios bi dimensionais continuam a ser aperfei oadas tendo em vista a criatividade e o bom senso na combina o de hardware com rotinas Um problema importante que envolve os gr ficos emitidos por computador o da divis o do trabalho Isso quer dizer que porcen tagem do trabalho na computa ao 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 quao pr ximo o poder da maquina pode es tar do usuario e seu terminal o qual por outro lado poderia estar lon ge do computador E o usuario Alguns os classificam como matematicos outros como artistas Contudo aplica es gr ficas software e hardware sao examinadas e pesquisadas no mundo inteiro bem como seu alto custo em termos de hardware e da complexidade necessitada pelo software Aplicagoes em engenharia mecanica tem sido muito bem sucedidas bem co mo em engenharia el trica Os horizontes se abrem j que a necessida de de gr ficos emitidos por nmputador continua a existir Segundo mui tos seu sucesso sO depende do aprimoramento dos projetos de sistemas de computa ao e especialmente de linguagens de programacao 2 3 A CRIA O DE UM SISTEMA GR FICO O processo de constru o de um sistema grafico pode ser descrito resumidame
26. exibidos sao considerados como um conjunto de segmentos de reta cuja situagao no espago Ponhassida atraves das coordenada Pi x yy z de seus pontos extremos A primeira fase do algoritmo se preocupa em Galeus os pontos extremos da figura Isso quer dizer que dada uma fi gura P proje ao do objeto P do espa o sobre o plano X Y definiremos os pontos de P XMIN P XMAX P YMIN P YMAX P da seguinte meneira XMIN P lt x V xi P x XMAX P y xj V xi P YMIN P Y1 V yl P YMAY P yy V y P Estas condigoes sao necessarias mas nao suficientes FIGURA APRESENTANDO MAIS DE UM PONTO EXTREMO PARA CADA SITUA O Figura 10 33 haja visto casos como o que mostra a figura 10 onde por exemplo os pontos e B satisfazem a primeira condi ao acima Adotaremos a seguin te conven o dada uma figura P qualquer do plano X Y e seus pontos XMIN de abcissas iguais existe um C tal que C xiePIxi XMIN P Um Xi ser escolhido de modo que xi ec vxiec P yi lt yi Y no x Y no x O objetivo desta fase demarcar a rea a ser ocupada pela figura no plano X Y Desta maneira podemos afirmar que todos os pontos de P pertencentes projegao de P sobre X Y deve satisfazer as seguintes condigoes P x1 y1 P XMIN P x XMAX P A YMIN P QyIQYMAX P xi yj R 5 2 1 A BUSCA DOS PONTOS EXTREMOS A fungao deste procedimento e a de detetar e marcar os pontos consider
27. liga o 4 3 2 2 Procedimento 1 1 1 In cio s i Re end primeira palavra ao primeiro n de A PT LIVPT R LIVPT LIVPT 1 BD P e m Ww i l PT LIVPT LISEG LIVPT lt LIVPT 1 1 8 z i 29 TOME 19 Pila de coordenadas for PONTO DA C U U necidas pelo usuario LA DE E S GUARDE SEU ENDERE O TOM O PR XIMO PONTO MONTE A TABELA DE LIGACOES Tabela de endere os de pontos que se ligam ao pesquisado Teste da exit ncia ou In o de pontos que ain da n o foram pesquisa dos FIM PROCEDIMENTO 1 DIAGRAMA GERAL Figura 9 R lt end ponto ligado ao apontado por RJ SEG LISEG Rl LISEGe LISEG 1 O ponto apontado por R se liga a mais algum ponto Se sim va em frente va a 1 9 Rl lt end nova liga o do ponto apontado por RJ 30 Bg RI aponta ltimo n de A Se sim va em frente c c v a 1 11 1 10 Todos os pontos de A j foram pesquisados Se sim va a 1 12 C C V em frente 1 11 O n apontado por Rl j est em SEG Se sim v a 1 7 c c v a 1 6 l 12 Fim Q A figura 9 ilustra o procedimento descrito acima 31 CAP TULO 5 PROCEDIMENTOS GERAIS 5 1 INTRODU O O procedimento para a elimina o das linhas escondi das ui eonjunto de quatro procedimentos principais que funcionam co
28. mo um todo de modo que em determinada ordem a saida gerada por um se constitui na entrada para o outro Os procedimentos trabalham sobre cada segmento de reta que compoe o objeto no espago Um segmento comparado com os outros e quando resulta invis vel imediatamente marcado na fila de pontos para que n o se perca tempo com posteriores comparagoes com ele Mesmo invisivel o segmento de reta ndo retirado da fila Tsso porque formar uma nova fila somente com os segmentos de re ta visiveis seria muito dispendioso A solugao adotada foi guardar na quarta palavra do n de informa o de um dos pontos extremos a deci s o final sobre a visibilidade ou n o do segmento de reta a que per tence H outro motivo pelo qual n o e 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 atraves do uso de uma rotina de transformagao Para facilitar a compreens o dos procedimentos gerais vamos descrever os algoritmos 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 es eons 18 foi dito anteriormente 32 5 2 OS PONTOS EXTREMOS A id i basica do algoritmo CONV a que este trabalha sobre linhas e n o sobre superf cies Isto significa que os s lidos a serem
29. o 10 OUTRO CHAVE UM GF1 CHAVE 3 UM GF2 L1 LUG2 i 3 3 a UM ATUA l 1 0 L MARK FIM NOVO 11 LISEG 1 LISEG L INIPT Il LIVPT L MARK 1 0 PROCEDIMENTO 2 0099 009A 0098 009C 00905 0096 DOAL OBA2 00 3 OOA4 O0A5 00A 6 OOAT 00A8 QOAA OOAC OOAE OGAF 0080 00B1 00583 00B4 0086 0087 0088 0089 OOBA 0086 00BD 00C0 OOCL 00C2 00C3 00C5 00C6 00C8 00C9 GOCA B 00CC OOCE OOCF 00D1 00D2 E Seco coc eco o o o G O bet dm dens ec 01 Perd 0600 0000 0000 0000 0000 65000000 7101 69FA 69F6 7101 69F6 69F4 1102 C100 94000098 4C2000AE 4C 000008 7101 C100 D024 C480009C 9021 40100088 69E5 1008 CLOG pole C4800099 9018 4C0800C0 69D9 7101 C100 D012 C480009B 900F 4L1000CA 69D2 C100 2009 C4850009A 9006 4CO0800A6 OSCB 7903 00154 00155 00156 00157 00158 00159 00160 00161 00162 00163 00164 00165 00166 00167 00168 00169 00170 001711 00172 00173 00175 00175 00176 00177 00178 00179 00180 00181 00182 00183 00184 00185 00186 00187 00158 00189 00190 00191 00192 00193 00194 00195 00196 00197 00198 00199 00200 00201 00202 00203 00204 ha 57 XMIN DC DC YMAX DC deck XMAX DC ke PONTM DC E HACKS ckiki kk II ATARI IIIA A AAA
30. rio a dispender maior tempo na leitura do manual de utiliza o das fun es Um n mero peque no de poderosas fun es gr ficas amp a maheira ideal de reduzir o perigo da redund ncia e da possibilidade de combina es err neas de fun es al m de eliminar os rodap s de advert ncias nos manuais marca regis trada de sistemas gr ficos mal projetados 9 A id ia 8 a de reduzir ao m nimo as possibilidades de erros de l gica por parte do usuario sem lhe fazer restri es e n o a de reduzir simplesmente n mero de fungoes Se estas n o podem atender as necessidades do usuario ele mesmo se ver obrigado a escrever novas fungoes a fim de remediar problema 10 2 5 O PROBLEMA DAS LINHAS ESCONDIDAS O termo gr fico emitido por computador atrav s do uso tem se tornado conveniente para definir a area de t cnicas e apli ca es de computador na qual o dado fornecido pelo usuario 6e apresenta do ou aceito por este sob a forma de linhas desenhadas ou diagramas Em se tratando de objetos tri dimensionais amp interessante a determina o de partes vis veis e n o vis veis em rela o a um observador colo cado em um determinado ponto O problema se baseia no fato de que a luz n o pode atravessar um objeto opaco 10 Assim sendo se estabe lece imediatamente que as linhas que se situam atras de um objeto opa co sao invisiveis aos olhos do observador e classificadas portanto co mo linhas escondidas Par
31. sobre X Y a qualquer ponto F 5 j 1 1 c Pa X Ya 124 P P sera associado um outro P xj y P P Assim sendo j QUE Yi 1 Z y As coordenadas x n o fazem parte da projegao do obje to P sobre o plano X Y mas sao muito importantes na determinagao das linhas escondidas atrav s delas que se obtem informa o sobre quais os pontos que mais se aproximam ou afastam do observador E X 1 I OS SISTEMAS DE PROJE O Figura 3 3 8 OS NOS DE INFORMA O Os n s de informagao sao armazenados em uma fila de acordo com os dados introduzidos pelo usu rio Esta fila de n s deve 21 ser o mais compacta poss vel para que se evite gasto de mem ria e tem po Aovusu rio cabe a responsabilidade de arranjar os dados de modo a evitar o mais possivel a repeti o de linhas no tragado de seu objeto 860 ponto de vista do usuario a cadeia de coordena das que define seu s lido forma uma matriz 4 x N palavras N e o n me ro de v rtices Vi do mesmo OBS Tendo em vista o carater provis rio da implementagao do algoritmo levando em conta que seu projeto para o MITRA 15 e n o para o IBM 1130 deixamos de dimensionar as matrizes que poderao eventualmen te assumir valores definitivos em sua forma final coh m wa wa wa jm t Tt anum n o importa ASPECTOS DA FILA DE E S Figura 4 22 figura 4 mostra a matriz A de entrada e a matriz A de sa da
32. 0 010581 01082 01083 01084 01085 01086 01087 01083 01089 01090 01091 01092 01093 01094 01095 01096 01097 01098 01095 01100 01101 01102 01103 01104 01105 01106 01107 01108 01109 01110 01111 01112 01113 01114 01115 01116 01117 01118 01119 TPO TP4 71 STX BNZ 1 RE PPCI REG RE 16 TREC 0 REG TP1 REG REG REG TPL REG UN REG REG PPC1 REG 4 REG2 REG2 REG1 TP2 MARK I NCR PPC3 REG3 0 REG3 TP 3 REG3 UN REG3 REG3 TP3 REG3 UN REG3 REG3 TP3 PPC3 REG3 PVISI NADVE TREC TPINC 4 3 O7FE 0800 ogol 0802 0803 0804 0805 0806 0807 0808 080A 0808 080 080D 080E 080F 10 0811 0812 0813 0814 0815 0816 0817 0818 0819 081A 0818 0821 0823 0825 0826 0827 0828 082A 0828 0820D 082F 0830 0832 0834 0836 0837 0839 0838 083C ECO00884 01120 o C O O O G SG SSS esse S S S S D103 TiFC C103 E89F D103 7025 0040 40200814 7104 C103 gt 1801 1001 D103 T1FC C103 EBF4 D103 7012 C103 EBEO 1801 1001 D103 1010 D089 7104 C100 01121 01122 01123 01124 01125 01126 01127 01128 01129 01130 01131 01132 01133 01134 01135 01136 01137 01138 01139 01140 01141 01142 01143 01144 01145 01146 01147 01148 01143 01150 01151 01152 01153 01154 01155 01156 01157 01158 01159 01160 01161 01162 01163
33. 0866 00867 60868 00869 X CASO DAS o XZER O PRO PROC PROC2 PROC4 PROXO ox ROX 66 SRA STO 8 LD STO STO LUX LD 8NZ LD 5 BP SRA 5 1 B LE B LG EGR BNZ SEA LDX VERIICACAO DOS PONTOS DUPLICADOS DO LO S BAZ LD STO p Cc o f 16 L PFIM L 33 ABCISSAS CUJA DIEERENCA E ZERD I LISEOC L PFIM 3 I1 TEMP3 L SECT PROC YPL YP xe 5 16 J PFIM TOO PAL PALMX CALAL SECT rr UE corel Po f m u Ww ER Li 1 6 Al PROXI 1 1 0665 0667 06C8 06C9 06CB 06CC Q6CD O6CE OSCF 0600 06De2 06D4 06D5 06D6 0607 Q6D9 06D9 06DA 06DB O6DC 06DD 06DE 1 01 Q G1 O1 coc VOL DOC OO 9017 C2006CE C102 9014 4C2006CE C103 ESOC D103 1104 C100 94000098 20 C005 86002 D003 10D8 0601 0022 0000 0000 0000 0000 0000 00870 00871 00872 008173 00874 00875 00876 00877 00878 00879 00880 00881 00882 00883 00884 00885 00856 00887 00888 00889 00890 00891 00892 00893 00894 00895 00896 00897 00898 E PROXI E DEFINICAO x UNI TRING TAPC Al A2 A3 AA 67 BNZ LD 3 BNZ LD CR STO TESTE MD X LD S BNZ LG A STO B CC DC DC DC DC DC DC 1 A2 PROXI 2 3 PROXI 3
34. 103 69C6 C4000098 90C3 40180115 7101 7004 00246 00247 00248 00249 00250 06251 00252 00253 00254 00255 00256 00257 00258 00259 VAGA AREA LUGAR LUGAY VAGAY LU DC DC DC DC LOX LD STO LDX Li STO LUX VOLTX MARCX VOLTY MARCY NOVOX STX LUX SIX LI X MDX LD BZ LD BNZ LU SRA BAZ LU UR STO B LO BZ LD BNZ LD SRA BANZ LD OR STG MDX STX Bz MUX CEN 0 XMIN LUGAR AMAX VAGA YMIN LUGAY YMAX VAGAY o LUGAR MARCX VAGA VOLTY NOVOX QUATR NOVOX LUGAY MARCY VAGAY NOVOX NOVOX QUATR AREA MARK AREA ESTRU l VOLTX 59 PROCEDIMENTO 3 0424 00420 xotototetodejoteletoketototokotototetotetolefototeetototololetoleoterolotetoteate 00421 T 00422 CALCULO DOS PONTOS DO CONTORNO 3e 00423 A P 00424 IIT AOE 03E5 O1 65800099 00425 LOX Il XMIN O3E7 0 TIFF 00426 MOX 1 1 03E8 01 6D00050E 00421 STX L1 PONTO O3bEA O C102 00428 LD 1 2 O3EB 01 9480009B 00429 S I YMAX 03ED OI 4C2003F1 00430 BNZ AD42 00431 00432 x XMIN E XMAX ESTAG NO MESMO NO 00433 A O3EF Ol 74010518 00434 MOM L SECT 1 00435 00436 XMIN E O PONTO PARA A TABELA 00437 03F1 01 C400050E 00438 AD42 LD L PONTO 03F3 01 4C000497 00439 8 L AD41 00440 Ro 00441 INICIALIZACAO PONTO BASE 00442 ii O3F5 O1 C40004A4 00443 ADA L ZERO 03F7 01
35. 1182 01183 01184 01185 01186 01187 01188 C480089C D052 65800843 C100 D039 C101 D038 CIUS D037 C400079E 4C2008CA CO3B D400079E 7045 C036 4C18086E 9034 D032 C033 8031 DO31 406000721 CO2C 4C 200861 CO28 D023 CO2A D028 8400055F 2026 C480089B 4C180966 1810 D400079 D40007A0 01189 01190 01191 01192 01193 01194 01195 01196 01197 01198 01199 01200 01201 01202 01203 01204 01205 01206 01207 01208 01209 01210 01211 01212 01213 01214 01215 01216 01217 01218 01219 01220 01221 01222 01223 01224 01225 01226 01227 01228 73 x INCR LD A STO SRA STO LO BZ LOX B x IPPC3 LD STO LDX LD STD LD STO LO STO LO 7 LD STO B x PONTOS x TESTN LD BZ TESNI S STO LD STO B LE BNZ LO STO LO STO A STO LD BZ SRA STO FRENT FRENI STU B I I 1 1 1 1 NOVO PONTO LIGADO PSEG UM PSEG 16 PVISI PSEG TESTN PSEG LIGS1 REFERENCIAS A ATUAL LIGACAO DO PONTO PPC3 RESI RESI 0 XLL3 1 XL3 2 YL3 MARCI CALZ1 UN MARCI CALCZ SOBRE MESMO SUPORTE DE RETA or T N FREN1 UN Es PPC1 UN PPC1 PRIMT s TESTN PPCI PPC PPC2 PPC1 UM PPC2 PPC2 BUS 16 MARCI MARCA LINHA 0550 0881 0882 0883 0884 0885 0886 0887 08508 0889 088A 038B 088D OBAE oBar 0890 0891 0892 0893 0894 0895 0896 0897 0898
36. 3 1 322 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 19 3 11 Organiza o e terminologia Apresenta 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 As subfiguras Os niveis de visibilidade Modularidade PS A 0 N Pe O 0 A 1 10 12 15 16 l6 18 18 19 20 22 23 23 24 CAPITULO IV CAPTTULO vi A estrutura de dados 4 1 Introdu o 4 2 Estruturas de dados manipulados por CONV 4 3 _ Procedimentos de entrada V 4 3 1 Filosofia de tratamento 4 3 2 O procedimento de montagem e preenchimento da estrutura 4 3 2 1 Descri ao das variaveis Procedimentos gerais 5 1 Introdu o 5 2 Os pontos extremos 5 2 1 A busca dos pontos extremos 5 2 1 1 Descrigao das variaveis 5 2 1 2 Procedimento 2 5 3 Os pontos que pertencem ao contorno pontos do 19 nivel 5 3 1 Introducao 5 3 2 Filosofia de tratamento 5 3 2 1 Metodo de acao 5 3 2 1 1 Casos particulares 5 3 3 A busca dos pontos do 19 nivel 5 3 3 1 Descri o das variaveis 5 3 3 2 Procedimento 3 5 4 O criterio da visibilidade 5 5 Os pontos ligados aos do contorno pontos do 29 nivel 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 29 niv
37. 4000098 4C2009D7 40000966 658009C8 1101 6995 C100 46180966 TOBO 01593 01594 01595 01596 01597 01598 01599 01600 01501 01602 01603 01604 01605 01606 01607 01608 01609 01610 01611 01612 01613 01614 01615 01616 01617 01618 01619 01620 01621 01622 BUSI 81 STO LD SLA SRA BAZ BUS11 BUSI BUS2 SLA SRA BNZ LD BZ LO STO LD STO 8 LDX MOX LE BAZ LDX MDX 1 C P pes po 3 BUS2 11 15 BUS2 15 BUS2 PONTV BUSII DEZE6 MASC BUSC2 QUAR MASC BUSC2 SAV MARK BUSO BUS AREAT AREAT BUS BUS3 PROCEDIMENTO 6 OA38 0A3A 0 A3C 0A3E CAAO OA42 DA44 O0A4 46 OA47 0A49 DA4SA 0A48B 0 0A4D OA4F DA50 0A51 0A52 0A54 0 56 OAST 0A58 0A59 0A5A OA5B 0A5C OA5D OASE DA5F 0460 0A61 0A62 0A63 0A65 0A66 0A68 QA69 QA6A OA5B OA6C OA6D eco mm QU eo M EE ie uum ne o 40000081 40000081 40000081 40000081 00000000 00000000 00000000 0001 220C14C6 0438 OAZA OA3C GABE 65000000 C103 LOOE 180E 94000884 4C180A59 7017 0000 0000 7101 C100 06406063 06843580 0442 7101 C100 06406063 068A3580 CA44 C400050C DODA 06503543 0440 0442 0A44 7013 0000 000 01628 01629 01630 01631 01632 01633 01634 01635 01636 01637 01638 01633 01640 01641 01642 01643 01644 01645 01646 01647 01648 01649 01650 01651 01652 01653 01654
38. 44 01545 01546 01547 01548 01549 01550 01551 01552 01553 01554 01555 01556 01557 01558 01559 01560 915614 01562 01563 01564 01565 01566 01567 01568 01569 01570 01571 01572 01573 01574 01579 01576 01577 01578 01519 01589 01581 01582 01583 01584 01585 01586 01587 01588 01589 01590 01591 01592 PY PZ SALVA MASC FASE AREAX GITEN PONTV SAV BUSCA DO PONTO BASE EM PT BUSC3 BUSO BUS3 80 DC DC DC DC DG DC LD X LE STO SIX LE STO LEX LE 3 BNZ LO S BNZ LE LDX MOX LD STO L STU LUX L SLA SRA BZ LD BN Z MD X LD S BN Z LU S BNZ ab BUS9 BUS 12 S BNZ B MD X LU SLA I1 B 503 Hm e 3 3k Xx 82 Xeno Mem ak SAVPT UM3 FASE SAV 0 AREAX AREAX A PX BUSI 1 BUS1 2 PZ BUSI SAV 1 0 AREAT AREAT AREAX AREAX 3 10 15 BUS10 PONTV BUS2 PX BUSY BUS 2 PZ BUSY BUS2 0A0D QAQE OAQF OA10 OAILIL 0A13 OA14 0A15 0416 OA18 DALY OALB OAID OA1E OA20 0A22 0423 0A25 DA27 0A28 QA29 0A2B OA2D OA2F 0 31 0432 0A33 OA34 CA36 jp Coo oe ft pes O GV O D103 7021 C103 1008 180F 4C200A2F C103 o 1009 190 amp C200A2F 988 4C180A20 C4000743 DOAF 40000990 C4000806 DOAA 4C000990 658009D2 1102 C100 9
39. 4800 A6 65000448 600006DA 101 D0O8 65800446 C005 D101 1810 D102 4C00065B0 0000 401E C40004A5 4C2005FA 6580035C 7101 6000035C C100 D4000524 40200432 65800518 C40004A4 DA0004A5 C101 94800099 40200494 C4000518 D48004A6 70 2 00696 006917 60698 00699 00700 00701 00702 00703 00704 00705 00706 00707 00708 00709 00710 00711 00712 00713 00714 00715 00716 00717 00718 00719 00720 00721 00722 00723 00724 00725 00126 00727 00728 00729 00730 00731 00732 00733 00734 00735 00136 00737 00738 00739 00740 00741 00742 00743 00744 00745 0006 C4000513 94000511 amp C180572 D4000521 00746 00747 00 48 00 49 00750 60751 43 35 X 64 SIX LD STO BNZ LOX LU STO LD S BNZ MDM LD 3 PRSOA BNZ LU STO LDX STX L STO LUX LD STO SRA S10 B DC SAID MINX TESTES PARA PRS3 BSI LD BNZ LDX MEX STX LD STO BNZ LDX LD STO LG S PRSO4 BNZ LD STO B CALCULO xk CALAL DC LE S BZ STO LISEG 0 MARC AD11 PALMX ZERG PFIM 2 YMIN AD12 SECT 1 1 I AD12 PAL TABP TABPC TAPC 1 MINX TABP MINX 1 16 2 PROXO XX O QUARTO SETOR CALAL PEIM PRSO4 Lee LISEG 0 MARC AD11 PALMX ZERO PFIM 1 XMIN AD12 PALMX TABP SAID DD COEFICIENTE ANGULAR XPL XZERO TEMP4 086813 0615 0617 0619 061A 061C 061E O
40. 488 01489 01490 01491 01492 01493 01494 01495 01496 01497 01498 01499 01500 01501 01502 01503 01504 01505 01506 01507 01508 01509 01510 01511 01512 01513 01514 01515 01516 01517 01518 01519 01520 01521 01522 01523 01524 01525 01526 01527 01528 01529 01530 01531 01532 01533 01534 01535 01536 x COORDENADAS DO PONTO BASE BUSC2 E BUSC5 BUSCB BUSCT BUSCO xk x UM3 00152 DELS PONPT SAVPT AREAT PX 19 STU LD STO LD STO LO STO BSI LD BZ EGR BNZ B DC LEX LD BIZ LD S BNZ LD BNZ LD BZ LD BNZ LD SKA O SLA STO LO GR STO MOX L S BNZ B DC DC DC DC DC DC DC 1 1 1 L pod uid L I MASC 0 PX MARCACAO CONVENIENTE DOS PONTOS Poem A MARK BUSC BUSC5 DEFINICADO DE AREAS E CONSTANTES 1 2 18 PT x Han lt Kd Q9CA 09CB DICC O9CE O9C F 09D0 09D1 0902 Q O GO 0000 0600 0600 0000 0600 0000 0082 0G00 0600 658009C7 COED DCF7 69FA C100 DOFS 658009CF C100 4C200A25 C1o0l 90E8 4C200A25 C102 SCE5 40200425 658009D2 7101 C100 DODB C48003C8 DODF 658009CF C103 100A 180F 4C180AO0E capa 4200A2F 1FC C100 90CC 4C200A08 C101 90C9 46C200A08 C102 90C6 40200408 TO21 7104 C103 1801 1001 01537 01538 01539 01540 01541 01542 01543 015
41. 639 62 MARC DC x CASO DO ALFA POSITIVO X PULO LD BZ Li BN LD BNZ LO 8 N1 EGR BNZ LD BSC BSC N3 LD EUR BNZ LD BSC B NG LD BSC CASO BO a NOVTE LD BNZ LD BN B N5 ECR BNZ LD BN B N6 LD EGR BNZ Lo BN B N10 LD BN B ESCOLHA x CALC L S BNN B BSC r r qo ALFA NEGATIVO pi DO 0 MARC TROCA ALFA NOVTE SECT Nl ALFMX CALC y CAL UM N3 ALFMX CALC CALAL SECT DOIS N4 ALFMX CALC TROCA ALEMX CALC p CALAL SECT N5 ALFMX CALC CALAL ANGULO CONVENIENTE ALFA ALFMX K CALAL 0573 0575 0576 0577 0579 0578 0570 O57E O57F 0581 0583 0584 0585 0586 0588 0589 0591 0593 0595 0597 0599 059A 059C 0593D 053F 05A1 0543 0545 05A7 O5AB O5AA 05AC O5AE 05AF 0351 0583 O5B5 O5B7 05B8 O5BA 05BC 5 O O OS 40200583 COAL 9CA3 40C18057D 46100583 4C80060A CCAG 90A4 40100583 4C80060A C092 DO94 Cool D093 cogn DOSF C098 D098 C400035F D4000524 4C80060A 4400060A C40004A5 4C2005A1 6580035C 7101 6D00035C C100 D4000524 4C200432 65800518 C40004A4 D40004A5 C101 9480009C 40200494 74010518 C102 94800094 40200494 74010518 46000494 00640 00641 00642 00643 00644 00645 00646 00647 00648 00649 00650 00651 00652 00653 00654 00655 00656 00651
42. 6S1F 0620 0621 0623 0624 0625 0621 0628 0629 62 062C 62D 062E 0630 0632 0633 0634 0636 0638 063A 063C 063E 0640 0641 0643 0645 0647 0649 064B 0540 O64F 0651 0652 0654 0656 0658 065 065C D65E 0660 0662 O 0663 0665 0667 0669 0668 C4000514 94000512 46180634 1890 ACOOO0521 D4000516 1090 A012 1810 ACOO0521 1001 1801 D4G00517 1090 A009 1810 ACG00521 1091 1501 D4000522 46000525 0008 C480035C D400050F 6580050F 6D0004A5 C4000518 4C 200645 1810 D4000445 4C000478 C400051B F400035F 4020065C C4000513 94000511 40300656 1810 D40004A5 460005397 C4000515 D4000518 40C80060 C4000518 F400050C 4C 200667 1310 D4000445 4C0005BC C4000513 94000511 40280656 00752 00753 00754 00755 00756 600757 0075s 00759 00760 00761 00762 00763 00764 00765 00766 00767 00768 00769 00770 00771 90772 00773 090774 00775 UO7T6 00717 00778 00779 00780 00781 00782 00783 00784 00785 00786 00787 00788 00789 00790 00791 00792 00793 00794 00795 00796 00791 00798 00799 00800 00801 00802 00803 00804 00805 00806 00807 DEZ1 NEGI CASU DAS x YZERC YPROC YPR PROCY PRY 65 LD 3 BZ SRT D STO SLT M SRA D SLA SRA STO SLT M SRA D SLA SRA STO B DC DC LD STO LUX STX LU BN Z SEA STO B LB EDR BNZ LO BP SRA STO 8 Li STO LD
43. 8 F400050C 40200465 C4000513 94000511 40080468 4CO0O58C C4000514 94000512 amp C2805F0 C4000518 8400051C D001 4C 800000 4400060A C40004A5 46200482 6580035C 7101 00472 00473 G04 74 00475 00476 00477 90478 00473 00480 00481 00482 00483 00484 00485 00486 00487 00488 00489 00490 00491 00492 00493 00494 00495 00496 00497 00498 00499 00500 00501 00502 00503 00504 00505 00506 00507 00508 00509 00510 00511 00512 00513 00514 00515 00516 00517 60518 00519 00520 00521 00522 00523 00524 60525 00526 00527 PEMPT PPT INICIALIZACAO DO PONTO LIGADO NC AD11 x x T1 T2 T3 DK st gt PRSO 60 LD 9 BNZ LE STD B MDX B LU STO LOX LU STO LD STO STX LD BNZ Lo 5 BSc B EOR BNZ LD 3 BSC B LD ECR BNZ LD 5 BSC B LD S BSC LG A STO BSc BSI LU BNZ LOX MDX pe r pe ps e pa Pree ere 1 1 a VERIFICACAO Pes ee r I TESTES PARA L L I1 1 LUG YP PPT 1 LISEG AD11 ho LOUPI PAL LISEG TEMP3 TEMP3 1 XPL 2 YPL PAL DOS EM SENTIDOS CONVENIENTES SECT T1 XPL XP QK UM T2 YPL YP OK T11 SECT DOIS T3 XPL XP OK y 122 YPL YP T33 Z SECT TPRAD K 3K O PRIMEIRO SETOR CALAL PFIM PRSOI LISEG 1 0478 047D O47E
44. 8 01039 01040 01041 01042 01043 01044 01045 01046 01047 01048 01049 01050 01051 01052 01053 01054 01055 01056 01057 01058 01059 01060 0000 65000060 69F9 01061 01062 01063 70 DEFINICAD DE AREAS E CONSTANTES 3 I RES BNZ RET LD L RES A UN STO Lt RES LD I 1 S I RES BNZ RET LD L RES A L UN SIO L RES LU Low 5 I RES BNZ RET LDX 11 PSEG MDX 1 1 LD 1 O B L SRA 16 STO CHAV B L FRENT STX 1 PSEG SRA 16 STO L CHAV 1051 LISG1 LO L UN STO L CHAV LD I PPEZ B PRIMA RET LD L CHAV BZ LISG1 LOX I1 PSEG SIX L1 PPC3 SRA 16 STO L CHAV B L IPPC3 ats ok CHAVI DC Ka REG DC RE DC MARCI DC PSEG DC 0 MARCA DC 0 TRESI DC 3 DOIS DC 2 DEZES DC 16 TREC DC REGI DC Ax REG2 DC Am REG3 DC Se PVISI DC eue MARCACAG DOS NOS VI TPVIS LOX LIA SIX 1 REGI 69F0 C4800894A DOEC 6580079D 1510 DOFO C100 9480079C 4C 200816 COE2 84000899 DODF C101 3480079C 4C20081B CODS 84000899 DODO C102 9480079C amp C20081B C480089A DOCE 71FC 69D6 caps 9003 40280826 C100 94000098 4C18083D C480089C DOCB C100 948007A7 4C200828B cocs 84000899 DOC C101 948007A7 4C200828 COBC 84000899 D089 C102 948007A7 40200828 C480089C 0081 COBI 40180807 COAA amp C 200836 7104 C103 01064 01065 01066 01067 01068 01069 01070 01071 01072 010173 01074 01075 01076 01071 01078 01079 0108
45. A primeira mostra os n s fonte e a segunda os n s transfor mados A exibi o do s lido feita mediante sua proje o so bre o plano X Y figura3 Desse modo e para esse objetivo as coordena das X do s lido s o ignoradas pelo algoritmo convenientemente 3 8 1 O FORMATO DO N DE INFORMA O Cada n de informa o corresponde a dados sobre um ni co ponto componente do objeto a ser exibido Estes dados se referem s coordenadas cartesianas do ponto no espago Assim sendo para um ponto generico P do espago teremos um n de 4 palavras onde as informa es sao distribu das da seguinte forma wm m wm UM N DE INFORMA O Figura 5 Onde 1 Xj Yi Z1 Sao as coordenadas espaciais de Pio 2 11 8 uma palavra de trabalho a ser utilizadas por todas as fases do programa Seu conte do final indica seo ponto correspondente a este n vis vel ou nao A configura o de seus bits o seguinte 23 p v l nivel p vis 29 nivel p visivel 39 n vel 9 bits de trabalho bit de visibilidade bits de trabalho bit de visilidade A PALAVRA DE TRABALHO I Figura 6 Observe se que a condi o verdadeiro estar associa da ao valor 1 bit ligado e a condigao falso ao valor 0 bit desli gado 3 9 AS SUBFIGURAS Uma subfigura ser interpretada como um conjunto de linhas que formam ou n o um pol gono qualquer sob
46. BIBLIOGRAFIA 1 I E Sutherland SKETCHPAD A man machine graphical communication system M I T Lincoln Lab Cambridge Mass Fech Rep 296 may 1965 Versao resumida em 1963 Sprigs Joint Computer Conf AFIPS conf Proc Baltimore Md Spartan 1963 p 329 2 E L Jacks A laboratory for the study of graphical man machine communication na Fall Joint Computer conf AFIPS Conf Proc Baltimore Md Spartan 1964 p 343 3 Richard A Guedj The Challenge of Computer Grafics in Continen tal Western Europe Proceedings of the IEEE april 1974 4 R Williams A general purpose graphical language Graphic Lan guages F Nake and A Rosenfild Eds Amsterdam The Netherlands North Holland 1972 5 H E Kulsrud A general purpose graphic language Commun Ass Compt Mach vol 11 4 1968 6 M D Rapkin and C M Abu Gheida Stand alone remote graphic system in Fall Joint Comput Conf AFIPS Conf Proc vol 33 Montvale N J AFIPS Press 1968 pp 731 746 7 8 9 19 11 12 x 13 89 R A Morrison Graphic Language Translation with a language independent processor in 1967 Fall Joint Computer Conf APIPS Conf Proc Washington D C Thompson 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 William M Newman amp Robert F Spro
47. E E OR a a E E EE EE EE E ae e E AC e eae TESTE PARA VISIBILIDADE FINAL TESTE PARA VER SE O PONTO PERTENCE AQ CON BUS LOX L1 TORNO SRA 16 STO FASE STO PONTV BUSC4 LD 1 3 SLA 10 SRA 15 BNZ BUSS x T TESTE PARA VER SE O PONTO JA FOL PESQUI E SADO LE 1 3 SLA 8 SRA 15 BZ BUSCO BUS8 MDX 14 SIX 1 SALVA LE 1 O S L MARK BZ L PR BUSCA aK l TESTE PARA VER SE O PONTO E VISI VEL BUSCO LD 13 SLA 11 SRA 15 BZ BUSCI LD OITEN STO MASC LD UM3 STO 8 BUSC2 zn E TESTE PARA VER SE D PONTO E INVISI VEL x BUSCL LD 1 3 SLA 9 SRA 15 BZ BUS8 SRA 16 STO PONTV LD OITEN 098F 0990 0991 0992 0993 0994 0395 0996 0997 0998 O99A O99B 099D 099F 09A0 0942 0943 0944 0946 09A7 09 8 09AA O9AB 09AC Q9AE OSAF 0981 0982 0984 0985 09B6 09B7 0988 0989 OBA 09885 DJBC 0980 O9BE 0961 09C3 O9C4 09C5 09C6 09C7 03C8 OG o O00 i p So OO S OS OOS Ca qua n put SO gt amp Oo DO3D C100 DO37 C101 D036 C102 D035 4008 C036 4C1809D3 FO28B 200966 4 COOOA2F 0000 65000000 C100 9025 40200958 C101 9022 4C2003BB C102 901F 40C2009BB COIF 40180988 COIF 40200988 C103 1801 1001 0103 C103 E813 D103 7104 C100 94000098 4C2009A2 4C 80099F 0001 0002 0012 0167 0000 0600 0600 01481 01482 01483 01484 01485 01486 01487 01
48. F 0141 0143 0145 0147 0149 0148 014D Ol 4F 0150 0151 0153 0154 0155 0157 0159 015B 015D 015F 0161 0163 0165 65006000 60000363 60000364 65800364 C100 D400036A C 101 D400036B C102 D400036C J 65800358B C4000364 p100 C400035C D101 1102 6D00035B C400035C D4000361 65800364 C103 ECOO0035D D103 C4000364 94000356 D4000365 94000363 45280155 C400035F D40600366 40000391 6580035C C4000365 D100 7101 6D00035C 1810 DLOG 4000364 8400035E D4000365 C4000098 94000365 4C1803CA C400035D 04000366 4C000321 00260 00261 90262 00263 00264 00265 00266 00261 00268 00269 00270 00211 00272 002175 00274 00275 00276 00271 00278 00279 00280 00281 00282 00283 00284 00285 00286 00287 00288 00289 00290 00291 00292 00293 00294 00295 00296 00297 00299 00299 00300 00301 00302 00303 00304 00305 00306 00307 00308 00309 00310 00311 D X x MONTAGEM ESTRU LEX L1 A STX L1 LUGI STX Ll LUG2 INIPT LEX Il 1002 LD 1 O STO L ATX LD 11 STO L ATY LO uk LI STO L LOX 11 LIVPT LD L LUG 1 LD L LISEG STO 1 1 MDX 1 2 STX L1 LIVPT LD L LISEG STO L FIXSG BUSCA LDX I1 LUG2 LO 1 3 DR L DITO STD 13 LD L LUG2 S L QUATR L LUG3 S L LUG1 BN INI LD L UM STO L CHAVE B L QUT GF1 LOX Il LISEG LD L LUG3 STO 10 MOX I d STX Li LISEG SRA 16 STO 1 0 INI LD L 1002 A L QUATR STO L
49. IAA ID I 4t x CALCULO DAS COORDENADAS MAXIMAS E xoolotetetetotoetetetoteetexotetetetetetetotototetetojotetelotototejoletotetetar INIC LDX L1 A MDX 11 SIX 1 XMAX SIX 1 XMIN MOX 1 1 STX 1 YMAX SIX 1 YMIN CORPO MDX 1 2 LD 1 0 S L MARK BNZ LOGP B L LU LOOP MDX 11 LO 1 O STO LUGAR LO I S LUGAR BSC L AQUI STX 1 XMAX B TESTE AQUI LD 1 O STO LUGAR LD I XMIN S LUGAR BSC L TESTE STX 1 XMIN TESTE MDX 1 1 LD 1 O STO LUGAR LD I YMAX S LUGAR BSC kL DAQUI SIX 1 YMAX ME CORPO DAQUI LD 10 STO LUGAR LD I S LUGAR BSC L CORPO SIX 1 YMIN Bo CORPO 00D3 00D4 00D5 00D6 0007 00D8 00DA 00D8 OODC OODE OUEO OUE2 00E3 00 5 ODES 00E8 00 OOEA OOEB ODED OOEE ODEF OOF 00F2 00F3 OOF5 00F6 00F8 Q0E9 DOFA OOFB OOFD OOFF 0100 0102 0104 0105 0106 0108 0109 0108 010D 010E 0110 0111 0113 0114 Q G O G O G Q G O G O G O G O G O G OG O G G O O pe re Qo X 01 Ol 01 Dl Soc OC 0D pant 00006 0000 0600 OUOQ 0000 65800099 C100 DOFS 6580009C 100 DOF 3 6580009A 69F3 65800098 69F 1 65000000 T101 C100 I0EA 401800Fl C100 90E 4 4C2000FA C102 1302 4C20010C 102 FCO0035E D102 1612 C101 948000D6 180104 C101 948000D7 00210 00211 00212 00213 09214 00215 4C20010C C102 1802 4C20010C C102 COOO035E D102 7
50. PC LD 11 STG REl LE 12 STO RE2 LDX Il XYPC1 Lo 1 1 S RE1 BZ VERX2 VERY2 LD 1 2 S RE2 BNZ PRIMT LOX I1 XYPC2 LD Eu 5 RE2 BZ DEFN B PRIMT VERX2 LOX I1 XYPC2 LD 1 1 5 REL BZ DEFN LOX 11 XYPC1 B VERY2 DESENVOLVIMENTG DE N gt DEFN LD L N UM1 STU L N LO L PPC2 agak abbo PHO DO k PONTOS QUE SE LIGAM ADS DO CONTORNO a Ca ak ak ok a ag gt 9 akc ak e VER SE ESSES PONTOS PERTEN CEM A MESMA LINHA xc ROR xot 3k RCo ake ok afc ok ake gt OTIA 0718 0710 071E 071F 0720 0721 0723 0725 0726 0728 072 072C 0720 072E 0730 0732 0733 0734 0735 0736 0738 073A 0738 o73c 0730 073E 9740 0742 O744 0745 0746 0748 0749 OT4A 074C O74D OT E OTAF 0751 0752 0754 0755 0756 0758 075A 015C ooo Ol 01 01 61 OL 01 8003 D4000598 7901 0001 0000 0600 65000167 6DOO0OBA4 C100 04000790 6580079D C480089A DOF 2 C100 9480071F 40200142 COEC SOEA DOEA C101 9485800T1F 4C200742 Cura 80E2 DOE2 C102 9480071F 46180746 658008 A4 1102 TODD 65800844 T101 C056 20074F C100 D051 DOSI 66580079F C100 46180560B C100 D047 66580079D C4800893 D40008A5 C100 00952 00953 00954 00955 00956 00957 009858 00959 00960 00961 00962 00963 00964 00965 00956 009671 00968 00969 00970 00971 00972 00973 00974 00975 00976 00977 00978 00919 00980
51. YLI CA LCULU DA INTERSECAD DE P1P3 E POP2 EM FUNCAO DE Y PROJECAO SOBRE XZ CALZ1 LU S STO LD S SLT STO LD SLT XL1 XL3 RES1 YL YL2 RESI Yi Y3 20 22 Z0 Z2 Y1 Y3 YO Y2 1 3 21 23 YO Y2 21 23 Y0 Y21 20 22 Yl Y3 YO Y1 Y3 20 22 20 722 YOtY1 Y3 YO Y2 20 21 OBEA O ABB 01341 RES1 OBEB O 1090 01342 16 OBEC O DOB6 01343 RES1 O8ED O CO9E 01344 XL1 OBEE O 90 0 01345 XL3 Y1 Y3 OSEF O AOB3 01346 RESI Yi Y3 Z0 Zl YO OBFO O 1090 01347 16 Y2 05651 O 9083 01348 RES 08620 DORZ 01349 RES 08F3 0 C092 01350 XL 08F4 O 9094 01351 XL2 08F5 O A096 01352 XLi Y11Y0 Y2 O8F6 O 1090 01353 16 08 7 Ol D40008A3 01354 RESI OBF9 O C093 01355 YLL OBFA 0 9095 01355 YL 3 Z1 Z3 OSFB Ol A40008A3 01357 RESI OBFD 0 1090 01358 16 O8FE 840006A5 01359 A RES 0900 0 1890 01360 SRT 16 0901 G1 ACO008A4 01361 L RES2 0903 01 D400089D 01362 STO L Y 01363 01364 CA LCULO DOS X PROJECAO SOBRE XY 01365 1 3 0905 01 C400088C 01366 LD L 0907 01 9400088F 01367 e L XL3 0909 D4000843 01368 STO L RESI 090B O1 C400089D 01369 LD L Y 090D 01 9400088C 01370 L XL1 090F D40008A4 01371 STO L RES2 0911 Ol C4000888 01372 LDL XLL1 0913 01 9400088E 01373 S L XLL3 0915 01 A40008A4 01374 00 5 M L RES2 0917 ACOO08A3 01375 D L RESI 0919 01 84000888 01376 A L XLL1 X3ls Y Y1 0
52. a o computador n o existe uma maneira opaca de se deter a luz 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 lo de outro A determina c o da visibilidade ou n o de uma linha se constitui na solugao para o problema 2 6 CONCLUS ES 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 vem demonstrando razo vel sucesso por se basearem em grande parte em modelos matemati l p 4 cos simples e pequeno numero de intera oes Por outro lado a necessi dade de simples potentes e pequenos sistemas gr ficos visando aux lio dA 9 a programa ao de maquinas de controle numerico permanece ate os dias 11 de hoje As aplicagoes 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 n cias em arquitetura e planejamento urbano Observa se contudo que tao longe quanto se possa che gar a situa o do software geral para gr ficos n o ainda muito cla ra O software para graficos iterativos nao tem sido bem servido com o uso do FORTRAN e poucas 58 as pessoas que se aventuram fora desta lin guagem de programagao 9 O futuro do processamento gr fico muito promiss
53. ados 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 Descrigao das variaveis As vari veis usadas neste procedimento sao Vari veis que guardam os valores dos pontos criticos z para posteriores consultas Ponteiro para a primeira palavra do n que se quer pes quisar 2 4 Yt 2 UB e 2 9 20 Zed de 34 2 Procedimento 2 Inicio Re end primeira palavra do primeiro n da fila de pontos Salve X e Y desse ponto ReR 1 Todos os nos j foram visitados Se sim va a 2 10 CC va em frente g R aponta o n de menor X S sim salve X e v a 2 4 c c v em frente Idem para o maior X Idem para o menor Y Idem para o maior Y Marque na fila de pontos todos os n s que contenham algum ponto extremo Fim OS PONTOS QUE PERTENCEM AO CONTORNO PONTOS DO 19 N VEL INTRODU O O contorno de um objeto P convexo que se projeta de modo ortogonal sobre o sistema bi dimensional de eixos um poli gono P de um n mero finito de lados dentro e sobre o qual se limitam as proje es de todas as arestas que comp em esse objeto Isso se deve pr pria defini o de objeto convexo Os lados de P s o desta manei iJ ra aS proje es das arestas do contorno do objeto P segundo um obser vador situado no infinito intuitivo pois con
54. alquer n mero X a ser alimentado no sistema deve obedecer a seguinte convencao O lt X lt 512 e XEN 3 3 UTILIZACAO A utiliza ao de CONV muito simples e obtida atrav s de chamada feita pelo usuario em programa FORTRAN da seguinte maneira CALL CONV END GRAUS END o enderego simb lico do inicio da cadeia de coor denadas do usuario GRAUS especifica o ngulo para a rota o do objeto Se GRAUS for igual a zero significa que o usu rio n o deseja obter a rota o do mesmo Uma vez acionado o programa permanece em seu la o principal a fim de possibilitar a exibi o continua de um objeto por tempo indeterminado A obten o de nova posigao nesta vers o de CONV conseguida atrav s de abandono do programa e nova chamada 3 4 FILOSOFIA DE TRATAMENTO Os dados oferecidos como entrada pelo usuario sao exa minados e armazenados em estrutura conveniente suamanipula o r pida 17 CONV PREPARA O P TRANSFOR MA O REINICIALIZ DOS N S DE INFORMACAO PESO SOBRE A VISIBILI DADE DE NOS IPESO SOBRE JA VISIBIL COMPUT DE NOVAS COOR DENADAS ELIMINA O DAS LINHAS ESCONDIDAS EXIBI O DIAGRAMA SIMPLIFICADO DE CONV Figura 2 Esses dados sao inicialmente analisados com o objetivo de se definir o 18 contorno do objeto a ser exibido Este processo se baseia no estudo da En E do objeto sobre o plano X Y segund
55. are e especialmente em software comecaram en tao tomar vulto apesar de produzirem poucos resultados praticos Isto se devia a numerosas raz es como custo de equipamento eram altos porque muito poucas unidades eram produzidas desenvolvimento demora do de sistemas de software mais lento do que se esperava programas de aplica o demorados devido a l ntidao no desempenho dos pr prios sistemas de software e tamb m porque era subestimado o esfor o necessa rio para E prodit 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 entao que muito da atividade atualmente desempenhada inteiramente pelo homem realizada por uma s rie a es intuitivas e auto corrig veis em peguenos 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 s 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 grande n mero de livros e artigos informativos que v m sends publicados tendo em vista o estudo de gr ficos emitidos por computador em todo o mundo As aplica es vao desde simples gr ficos a desenhos de circuitos
56. cluir que independente mente do fato de haverem arestas de P que est o escondidas ou n o 9 35 contorno do objeto ser sempre visivel aos olhos do observador Desse modo o conjunto de lados de P 6 a proje o ortogonal de P tal como o observador pode ve lo 5 3 2 FILOSOFIA DE TRATAMENTO Uma das primeiras sensa es que o olho humano tem ao se deparar com um objeto a sensa o de massa de espa o ocupado pelo mesmo Para ele n o constitui problema o reconhecinento de silhuetas Sua capacidade de Ver distinguir e comparar formas bem como a de transmitir ao c rebro todas as informa es necess rias sobre profundi dade etc instant nea Para uma maquina porem esses procedimentos intuitivos nao sao tao faceis necess rio que se envolva muito tempo de computacao at que ela possa compreender e exibir que viu e est guardado em sua mem ria Por convencao CONV atrav s do PROCEDIMENTO 3 define o contorno P do objeto sobre X Y examinando o no sentido bor rio Como ponto de partida e usado um dos pontos extremos previamente calcu lados Esses pontos por sua propria condicao sao implicitamente compo nentes de P A busca dos demais pontos e feita de modo muito simples atrav s do coeficiente angular sonveudonee a cada situagao dos pontos de P 5 3 2 1 M todo de a o O coeficiente angular ou declividade de uma reta a tangente trigonom trica de sua inclina o O coefic
57. do em vista a convexidade do objeto se baseia em duas regras 1 O segmento de reta que une dois pontos visiveis n o do contorno sempre visivel 2 O segmento de reta que une dois pontos escondidos sempre escondi do As informagoes b sicas sobre a visibilidade dos pontos j foi obtida e armazenada na quarta palavra componente de cada n de informa o palavra I de trabalho O mesmo crit rio se aplica a todos a segmentos de re ta que pertencem s faces do objeto considerado visivel todo aquele segmento de reta situado sobre uma face visivel do objeto subfigura O tratamento dispensado a esse nivel de pontos amp inteiramente dependen te dos procedimentos anteriores resultando na ltima fase do algorit mo 48 6 2 A BUSCA DAS LINHAS VISIVEIS Este procedimento pequeno e rapido Sua fungao a de completar as palavras I de cada n A nica variavel usada P cu jo objetivo e o de percorrer a fila de pontos cujo endere o simb lico A e descobrir os pontos do 39 n vel como mostra o procedimento 6 2 1 PROCEDIMENTO 5 5 1 In cio 5 2 P end primeiro n de A 5 3 Se o ponto referenciado por P visivel va a 6 6 c c v em frente 5 4 P lt P Ll 5 5 Se ja foram visitados todos os n s de A v a 5 9 c c a 5 3 5 6 Localize o ponto referenciado por P em PT 3 7 Marque convenientemente todas as liga es do ponto apontado por P a 5 8 v a 5 4 5 9 Fim
58. e reta feita antes de se executar o procedimento 4 propriamente dito A ocorr ncia de tres ordenadas iguais ou tres abcis sas iguais resulta na pesquisa de um novo ponto do contorno da figura e assim sucessivamente at que se quebre o la o figura 12 5a 5s 2 7 Ser 4 Ju 4 1 44 4 AjBUSCA DE PONTOS DO 29 NIVEL 4 1 Descricao PPC Ponteiro para o la liga ao de PPCl Ponto do contorno PPCl Ponteiro para um ponto do contorno o ponto base PPC2 I Ponteiro para a 28 ligagao de PPCl Ponto do contorno PPC3 Ponteiro para o ponto ligado a PPCl que n o pertece ao contor no em geral N Contador de pontos sobre um mesmo segmento de reta 4 2 Procedimento 4 Inicio PPCle PPC 1 PPC2 lt PPC 2 6e x PPC PPC1 v em frente c c v a 4 8 Se X PPC PPC2 v em frente c c v a 4 10 PPC2 PPC 3 V a 4 5 SeY PPC l Y PPC1 v em frente c c v a 4 10 Se Y PPC Y IPPC2 v a 4 6 em frente Procure PPCl em PT 4 11 Pegue a primeira liga o de PPCl em SEG Se for o mesmo n apontado por PPC v a 4 14 c c v em frente 45 IN CIO Plano formado por tr s pontos nao em linha reta do con torno ESCOLHA O PONTO BASE TOME SUAS LIGACOES GUARDE OS Os pontos visiveis PONTOS VIS VEIS g o aqueles que podem ser vistos pelo obser vador em rela o ao
59. eciais vali E por das v a 3 5 c c va a 3 6 Se n o for o caso de uma mudan a de setor a 3 5 c c em frente x SECT lt SECT 1 V ao setor especificado por SECT O procedimento 3 ilustrado pela figura 11 5 4 O CRIT RIO DE VISIBILIDA Por defini o todos os segmentos de reta que comp em uma figura convexa sao interiores a seu contorno ou pertencem a ele Um segmento de reta ser dito visivel se e somente se 43 contiver pelo menos tr s pontos visiveis Isso porque nem sempre O segmento que une dois pontos visiveis e visivel 5 5 OS PONTOS LIGADOS AOS DO CONTORNO PONTOS DO 29 N VEL 5 5 1 INTRODU O A pesquisa das liga es visiveis dos pontos que se con nectam aos do contorno de um objeto feita no espa o tridimensional atrav s das coordenadas X Os pontos do 29 nivel s o aqueles considera dos visiveis e que se ligam aos do contorno 5 5 2 FILOSOFIA DE TRATAMENTO Atrav s de um plano que passa por tr s pontos consecu tivos do contorno pode se determinar quais os que se situam na frente e quais os que se situam atr s do mesmo Os primeiros s o considerados visiveis ao passo que os segundos n o 5 5 3 O CASO DOS PONTOS EM LINHA RETA O procedimento 4 se baseia na determina o de planos tomando por base tr s pontos consecutivos do contorno da proje o de um objeto sobre o plano X Y A sele o dos pontos n o situados sobre mesmo suporte d
60. el 5 5 4 1 Descricao das vari veis 5 5 4 2 Procedimento 4 25 26 27 27 28 28 31 32 33 33 34 34 34 35 35 36 38 38 39 42 43 43 43 43 44 44 44 CAPTTULO VI Procedimentos de sa da e rotinas de transforma ao 6 1 As linhas visiveis pontos do 39 nivel 6 2 A busca dos pontos do 39 nivel 6 2 1 Procedimento 5 6 3 A interpretacao dos c digos de I vii 6 4 A exibi o da figura 6 4 1 Procedimento 6 6 5 Rotinas de transforma o CONCLUS O AP NDICE 1 Listagens dos algoritmos usados Procedimento Procedimento Procedimento Procedimento Procedimento Procedimento AP NDICE 2 Exemplos de figuras trabalhadas por CONV e desenhadas pelo PLOTTER BIBLIOGRAFIA 1 2 3 4 5 6 47 48 48 48 49 49 50 52 54 57 59 68 78 82 85 87 CAPITULO 1 INTRODUCAO 1 1 OS SISTEMAS GRAFICOS 1 1 1 APRECIA O De um modo geral toda vez que a facilidade display grafico incorporada a um computador sistemas gr ficos novos s o es critos para suport lo O projeto e implementa o deste software uma atividade que absorve tempo e energia em larga escala Apesar do dis pendio de recursos humanos o resultado na maioria das vezes insa tisfat rio Os usu rios costumam encontrar dificuldades de programa o e de falta de generalidade nos sistemas graficos que por Bus vez sao respons veis por uma sobrecarga do comp
61. em fun cao de seus v rtices com o objetivo de formar arestas e faces Esses vertices por convengao sao percorridos no sentido hor rio pelo algo ritmo aresta por aresta segundo sua projecao em um plano conveniente A proje o de um ponto sobre um plano definida como O pe da perpendicular que vai do ponto ao plano Estas perpendicular e nica visto que por um ponto dado passa uma e somente ans perpendiedge lar a um plano especifico Por consequinte se temos um segmento de re ta AB e um plano E quaisquer a proje o de AB sobre E o conjunto de todos os pontos que s o proje es dos pontos de que se comp e AB sobre E De um modo mais geral podemos afirmar que a proje o de um pol gono convexo convexa e num nivel mais elevado que a de um s lido convexo igualmente convexa Esta e a ideia sobre a qual o lt pxograma CONV se baseia A manipulagao 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 0 x y Sistema bidimensional representativo do plano de proje o paralelo ao plano x 0 que intercepta o semi eixo positivo dos X figura 3 Os objetos definidos a tr s dimensoes sao transforma dos em objetos bidimensionais a fim de poderem ser exibidos A impres 20 s o de profundidade dada pela vis o em perspectiva do objeto P Considerando se P a projegao de P
62. ente Para o 29 setor se X xi gt 0 ent o o segmento de reta X Xx considerado como pertencente ao contorno caso contrario poderia acontecer 1 Quebrar o sentido convencionado de varredura dos pontos da figura sentido hor rio 2 Pegar um ponto j pesquisado alterando assim a lista de pontos do contorno Para o 39 setor a situagao analoga do 19 setor Para o 49 setor se x x 0 Segmento de reta XXI 6 conside rado como pertencente ao contorno Ver tens 1 e 2 relacionados ao 29 setor sa Para o 19 setor se Y gt 1 gt 0 o segmento de reta Y Yi e considerado como componente do contorno da figura caso contr rio pode ria acontecer x 1 Quebrar o sentido convenci nado de varredura dos pontos da figura sentido hor rio 2 Pegar um ponto ja pesquisado o que altera a lista de pontos do contorno Para o 29 setor esse coeficiente angular nao e interessante Sua ocorr ncia indica que o 39 setor foi alcangado Para o 39 setor se y gt E Yi lt 0 segmento de reta y Y e considerado como pertencente ao contorno caso contrario nao A justi ficativas sao as mesmas apresentadas para o 19 setor 38 Para o 49 setor o motivo da n o escolha de m ee an logo ao apresentado para o 29 setor Ao t rmino da comparagao exaustiva de todos os segmen tos de reta que compoem a figura uma nova fila de pontos formada Esta fila cont m somente pontos pertencentes ao contor
63. iente angular de uma reta que passa por dois pontos Pj Ga y1 e P x5 y5 e dado por 36 4 _ m 1 32 MER Para facilitar a escolha dos coeficientes angulares i cada figura apresentada ao programa imediatamente dividida em quatro setores l setor Semi plano situado esquerda da reta que liga os pontos XMIN e YMAX Para os pontos desse setor o coeficiente angular escolhido e o maior dos m tal que gt 0 29 setor Semi plano situado acima da reta que liga os pontos YMAX e XMAX Para os pontos do 29 setor o coeficiente angular escolhido e o maior dos m tal que m lt 0 39 setor Semi plano situado direita da reta que liga os pontos XMAX e YMIN Nesse caso tomado o maior dos m tal que m 0 49 setor Semi plano situado abaixo da reta que liga os pontos YMIN e XMIN Para pontos nesse setor escolhido o maior do m tal que m lt 0 5 3 2 1 1 Casos particulares I H amp casos em que os coeficientes angulares podem assu mir valores como zero e infinito como nos casos de retas paralelas ao eixo dos X e das paralelas ao eixo dos Y respectivamente As solu es adotadas para estes casos em rela o a cada setor sao Para o 19 setor nunca ser interessante a escolha de um coefi 37 ciente angular nulo Isto se deve ao fato de que nesse caso havera pe lo menos um que satisfaga a condigao de ser maior que zero a menos que se tenha atingido um ponto crit iaooconveni
64. lacionar cada ponto com todos os outros conectados a ele Esta so lu o acarretou maior gasto de mem ria mas nos trouxe a vantagem da velocidade que o fator de import ncia primordial na regeneragao de uma figura em exibi o numa tela de display 4 2 ESTRUTURAS DE DADOS MANIPULADAS POR CONV Os dados de entrada fornecidos pelo usu rio constam de uma sequ ncia de coordenadas muito dificeis de serem manipuladas e en tendidas pelo programa O tempo investido para percorrer tal cadeia muito grande devido ao n mero enorme de compara es que devem ser fei tas a fim de se identificar um segmento de reta e sua posi o no obje to Isso se deve em parte as repeti es de refer ncias a um mesmo ponto pois cada v rtice de um objeto se liga no m nimo a tr s ou tros A figura 7 ilustra esta id ia e mostra como os dados de entrada sao armazenados na mem ria em uma fila cujo endere o simb lico A A ESTRUTURA DE DADOS DO USUARIO Figura 7 N o numero de pontos usados pelo usuario para o tragado do objeto no espa o Uma estrutura mais flexivel amp apresentada na figura 8 onde ca da ponto v rtice ou nao relacionado a todos os outros que a ele se ligam 27 Pontos base Pontos de liga ao A ESTRUTURA DE DADOS DO PROGRAMA Figura 8 Um ponto base amp aquele tomado como refer ncia Os pon tos de ligagao sao aqueles que formam um segmento de reta com o ponto base no espago
65. no Seu objetivo e minimizar o n mero de acessos fila de pontos componentes do objeto 5 3 3 A BUSCA DOS PONTOS DO 19 NIVEL 5 3 3 1 Descrigao das variaveis l 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 contem o ponto base atual 4 SECT Ponteiro para o setor atual PAL Ponteiro para um ponto ligado ao ponto base 6 ALFA Variavel com o objetivo de guardar o coeficiente angular da reta que passa pelos pontos base e de liga o 7 ALFMX Variavel com o objetivo de guardar o maior ALFA 5 3 3 2 Procedimento 3 3 1 Inicio 3 2 PONTO end n 3 3 Se end n YMAX end nO XMIN v a 3 5 c c em frente 3 4 SECT e l 3 5 TABPC TABP PONTO TABP lt TABP 1 3 6 PAL end pr xima liga o de PONTO em PT 3 7 Se SECT 0 v a 3 10 c c v em frente 3 8 Se SECT 1 va a 3 20 c c va em frente 3 9 Se SECT 2 v a 3 30 c c v a 3 39 3 10 Se n o ocorreu nenhum dos casos especiais determine ALFA e v em frente c c v a 3 47 3 11 Se ALFMX nao foi determinado em relagao ao ponto base atual fa a ALFM ALFA e v a 3 6 c c v em frente 3 12 Se ALFMX lt ALFA fa a ALFMX ALFA c c v em frente 3 13 Se ja foram pesquisadas todas as liga es de PONTO v em fren te c c va a 3 6 3 14 Se ALFMX
66. no infinito descrito um procedimento capaz de transformar coorde nadas e possibilitar a vis o da mesma sob novo ponto de vista como exem plos colocados no ap ndice 25 Uma id ia sobre a implementagao dos algoritmos usados ilustrada no ap ndice 1 atrav s da listagem dos mesmos em linguagem ASSEMBLER do IBM 1130 iv ABSTRACT Ihe purpose of this work is to show a graphic system designed for the mini computer MITRA 15 of 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 l consisting of ASSEMBLER language listings for the IBM 1130 computer CAPITULO I NDICE Introducao lr 142 1 3 II CAP TULO Os sistemas gr ficos 1 1 1 Aprecia o 1 1 2 Alternativas Os processos gr ficos de saida Objetivos do presente trabalho Considera es gerais 2 1 262 253 2 4 2 5 2 6 III CAP TULO Historico Alcance A cria o de um sistema grafico Fun es gr ficas O problema das linhas escondidas Conclus es Um sistema grafico
67. nte da seguinte maneira L9 l Escolha da linguagem sobre a qual se basear o sistema 2 Projeto do conjunto de fung es ou extensoes da lin guagem para E S gr fica 3 Redagao do manual do programador 4 Redagao do software necess rio ao desempenho das fun es gr ficas O desenvolvimento dos dois primeiros itens resulta no projeto do que poderia ser chamado de linguagem grafica 5 impor tante fazer a distingao desta e de outras conota es do termo lingua gem grafica que pode ser associado a linguagem em linha para desenho e manipula o de figuras 6 comando de um programa gr fico 7 ou um sistema grafico iterativo para definir programas 8 O tipo de lingua gem gr fica necess ria a um sistema gr fico de prop sito geral a lin guagem de alto n vel convencional orientada para rotinas conveniente mente incrementada com fung es gr ficas 2 4 FUN ES GR FICAS O projeto de fun es gr ficas ou extens es de EU CE gem e de import ncia vital na determinagao do Bibssso cu do fracasso de um sistema Pode se visualisar estas extens es como sendo um meio de oferecer ao usu rio 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 fun es o que normalmente acarreta a di ficuldade de interpreta o e destingao entre fun es maior possibili dade de erros de opera o al m de obrigar o usu
68. o coeficiente angular da reta que passa por YMAX va em frente c c v a 3 18 3 15 SECT SECT 1 3 16 Se ALFMX o coeficiente angular da reta que passa por XMAX v em frente c c v a 3 18 3 17 SECT lt SECT 1 3 18 PONTO lt end n ALFMX V a 3 5 3 19 V a 3 5 3 20 Se n o ocorreu nenhum dos casos especiais determine ALFA e v em frente c c v a 3 47 3 21 Se ALFMX n o foi determinado em rela o ao ponto base atual 39 3 22 S223 3 25 3 26 332 3 33 3 37 3 38 3 39 40 fa a ALFMX ALFA e v a 3 6 c c va em frente Se ALFA gt ALFMX fa a ALFMX ALFA c c va em frente Se ja foram pesquisadas todas as liga es de PONTO em fren te c c v a 3 6 Se ALFMX o coeficiente angular da reta que passa por XMAX va em frente c c v a 3 23 SECT SECT 1 Se ALFMX o coeficiente angular da reta que passa por YMIN v em frente c c a 3 28 SECT SECT 1 PONTO lt end n ALFMX Va a 3 5 Se n o ocorreu nenhum dos casos especiais determine ALFA e v em frente c c va a 3 47 Se ALFMX n o foi determinado em rela o ao ponto base atual fa Ga ALFMX lt ALFA e v a 3 6 c c v em frente Se ALFA gt ALFMX fa a ALFMX ALFA c c v em frente Se ja foram pesquisadas todas as liga es de PONTO v em fren te c c v a 3 6 Se ALFMX e o coeficiente angular da reta que passa por YMIN v em frente c
69. o gr fica Para efeito de um melhor entendimento e visando uma de finigao de terminologia segue se uma breve descrigao de cada elemento da figura 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 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 lo programa de aplica o 4 Procedimentos de entrada Recebem os dados do manipulador de entradas fazem mu 13 UNIDADE ENTRADA IMANIPULADOR DE ENTRADAS PR CEDIMEN TOS DE PROCEDIMEN TOS DE ENTRADA PROCEDIMEN TRANSFORMA ES LINHAS TESTES CON ATE NA ES TRANSFOR MACOES J GERADOR DE IMAGENS EXIBICAO DIAGRAMA SIMPLIFICADO DO PROCESSO GR FICO DE E S Figura 1 14 dan as apropriadas na estrutura de dados e passam o controle a outras rotinas 5 Procedimentos gerais S o as partes do programa de aplica o que n o env l vem diretamente E S S o rotinas de apoio 6 Procedimentos de saida Definem a figura a ser exibid geralmente em termos de dados armazenados na estrutura de dados do programa isto defi nem como esses dados podem ser exibidos
70. o um E posiciona do no infinito A determina o das linhas escondidas feies 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 MEMORIA O problema do algoritmo a dete o e eliminagao das linhas escondidas Esse trabalho de pesquisa envolve muita computacao O que corresponde a disp ndio de tempo de inteira responsabilidade do usu rio o gasto de mem ria quanto ao fornecimento de dados para programa Sua preocupa o deve ser sempre a de minimizar onn 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 pesquis los e maior tamb m a area de mem ria necessaria sua carga e armazenamen to em estrutura conveniente 3 6 A ORGANIZA O DO PROGRAMA O programa CONV amp organizado em fases para sua melhor compreens o As fases 58 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 usuario Cada fase tem tarefas espec ficas de pesquisa e armazenamento de informagoes para a seguinte 19 3 7 O SISTEMA DE PROJE AO Um modo conveniente de se descrever um s lido
71. om o plotter amp um modo de simplificar processo gr fico de sa da Ao usuario informado que manipula uma esp cie de pena que pode abandonar o tragado de linhas a medida que a figura se movimenta na tela e desenhar outras em obediencia a fun es escolhidas previamente por ele Sob o ponto de vista do projetista as coisas n o s o t o simples Supondo se que as rotinas de sa da passassem dados grafi cos diretamente para a tela do display encontra se o seguinte proble ma se estas rotinas forem executadas uma nica vez a figura por elas definida surgiria na tela e desapareceria em seguida o problema da regenera o da imagem dependente do hardware utilizado e da frequ n cia com que s o executadas as rotinas de sa da Desse modo as rotinas de saida desempenham a fun o de algoritmo de visualiza o enviando tela aspectos continuos do que se encontra armazenado nas estruturas de dados manipuladas pelo sistema Nos processos iterativos ou a entrada de dados fornece respostas imediatas sempre que a estrutura de dados modificada a imagem deve ser mudada tamb m Este conceito extremamen te simples e igualmente dif cil quanto implementa ao O problema re side no fato de que as rotinas escritas para programas de aplica o devem ser suficientemente r pidas para garantir a regeneragao da ima gem na tela evitando que ela enfraquega ou desaparega Se as rotinas forem bem simples e a est
72. or 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 tecnico pode se afirmar que o futuro desse tipo de processamento dos mais promis sores Sua necessidade certamente incontest vel Tamb m o o avan o tecnol gico em termos de hardware o que contribui para tornar cada vez mais baratos os sistemas graficos 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 dispon veis Displays a cores ser o parte do futuro de muitos tipos de aplica o Sistemas cada vez melhores e menores serao indica dos para aplica es especiais e especificas O futuro do processamento de imagens esta ligado dies tamente aos futuros desenvolvimentos de toda a ci ncia dos computado res 3 Os gr ficos emitidos pelo computador poder o ent o ser ofereci dos como benef cio e ferramenta de trabalho como o s o as linguagens de programa o e sistemas 12 CAP TULO 3 UM SISTEMA GR FICO 3 1 ORGANIZACAO E TERMINOLOGIA A definigao da Peruinsisqia e a organizagao de um sis tema grafico sao dois t picos bastante discutidos De um modo simplifi cado propoem se um diagrama de organizagao mostrado na figura 1 Seu objetivo o de focalizar somente DB processos e dados essenciais opera o de um programa de aplica
73. re uma face do obje to sem contudo ser confundida com suas arestas Esse pol gono pode ser c ncavo ou convexo A restri o de ser convexo feita somente ao objeto 3 10 N VEIS DE VISIBILIDADE Os n veis de visibilidade dos pontos componentes de uma figura projetada sobre X Y obedecem a uma hierarquia relacionada unicamente disposi o de suas coordenadas sobre o mesmo e foram in 24 troduzidas para facilidade de implementagao do algoritmo Os pontos classificados comodo 19 nivel sao aqueles que pertecem ao contorno da figura isto pertecem aoscisegmentos de reta que limitam a projegao do objeto sobre X Y Os pontos do 29 nivel sao aqueles imediatamente liga dos aos do contorno da figura e que nao pertencem a ele Os pontos do 39 nivel sao os pontos restantes de que se compoe a figura A utiliza o dessas informa es levada a efeito pe los procedimentos de sa da na defini o final da figura a ser exibida bem como pelos procedimentos gerais que as deni para otimizar seus pro Cessos de pesquisa 3 11 MODULARIDADE Cada fase do programa CONV um subprograma indepen dente dos demais A utiliza o ou mudan a total de qualquer um deles nao provoca nunhum transtorno na filosofia do algoritmo visto que ca da fase se preocupa somente em trabalhar dados para a seguinte Esses dados sao bits a serem ligados ou aas na palavra de rabaio de cada n 25 CAP TULO 4 A ESTRUTURA DE
74. rutura de dados pequena esse problema pode ser evitado bem como atraves do uso de sistemas multi programados Lo OBJETIVOS DO PRESENTE TRABALHO Neste trabalho descrito o programa CONV o qual faz parte do projeto de um sistema grafico projetado para uma unidade exi bidora controlada pelo minicomputador MITRA 15 O prop sito de CONV o de manipular os dados tridimensionais que compoem um objeto convexo no espa o bernitindo ao usu rio uma vis amp o do mesmo sob ngulos dife rentes mediante rotagao em relagao a um dos eixos Coordenado O objetivo deste trabalho o de mostrar as diversas fases de implementagao de CONV e descrev las em detalhe abordando seus problemas especificos Isto se deve ao fato de as rotinas de mani pula o de raios cot dicos concernentes ao sistema grafico citado se rem desenvolvidas em paralelo a este trabalho Pelo mesmo motivo CONV foi implementado no IBM 1130 utilizando o PLOTTER como unidade de saida O ap ndice 1 apresenta as listagens de CONV em lingua gem ASSEMBLER do IBM 1130 sob a forma de programa principal sem ser quebrado em rotinas Essa medida visa a facilitar sua compreensao bem como a transcodificagao posterior para linguagem ASSEMBLER do MITRA 15 A utiliza o do sistema sera efetuada por meio de cha madas inseridas no programa do usuario escrito em linguagem FORTRAN Como equipamento b sico o usu rio conta com uma configura o minima de hardware C P U Lei
75. stema hospedeira o pacote gr fico apresentado neste trabalho tem s rias restri es quanto a ocupa ao de mem ria e funciona lidade O manuseio especifico de coordenadas inteiras afeta de modo la ment vel as rotinas de transforma ao tirando lhesa natural potenciali dade Contudo no caso de substitui o do oscilosc pio por um display gr fico o programa pode ser facilmente adaptado bastando que para isso sejam introduzidas pequenas modifica o nas rotinas que montam ou manipulam as estruturas de dados Esse processo n o implicara em gran des dificuldades devido modularidade do programa o que permite teste especifico de cada uma de suas fases Qualquer expansao levada a efeito em n vel de hardware manipulador de entradas com a finalidade de tornar o sistema iterativo nao afetara o EuncionamsHtg do programa desde que se tenha o cuidado de atualizar a fila de pontos que constituem a cadeia de entrada do usuario A aplica o mais importante deste trabalho e did tica Pretendeu se mostrar um algoritmo simples e geral para a solugao do problema das linhas escondidas paragcaso de figuras convexas que pode servir como base para futuras expansoes e melhoramentosdo sistema proposto 53 AP NDICE 1 LISTAGEM DOS ALGORITMOS USADOS PROCEDIMENTO 1 0115 OLLT 0119 0118 011D OLLE 0120 0121 0123 0124 0126 0128 Q12A 0128 1 20 12 012F 0131 0133 0135 0137 0138 O13A 013B 013D OL3
76. tar alguns de seus elementos de experi ncia perspicacia e criatividade a habili dade natural do computador de desempenhar procedimentos de rotina e re petidas opera es de compara o sem a possibilidade de erro deduz vel que pequena fra o do esfor o envolvido no processo de desenho re quer criatividade enquanto a maior parte do trabalho se concentra em atengao a milhares de detalhes como c lculos restauragao de informa es captura de dados etc O programa CONV se baseia em processos bastante intui tivos e simples na manipula ao das coordenadas de que se comp e um objeto tridimensional Inicialmente pesquisado o contorno da proje cao 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 nao das linhas de que se compoe a figura projetada A caracteristica n o iterativo se deve indisponibi lidade de suporte de hardware que permita a instalagao de dispositivos tais como light pen console para display etc Em nivel de hardware 16 serao gerados apenas os elementos primitivos pontos segmentos de re ta e caracteres alfanum ricos A manipula o desses elementos a nivel de software que ocasiona a formacao das figuras Para sua exibi o os objetos contam com o mini compu tador MITRA 15 e um oscilosc pio a ele conectado Suas coordenadas de vem portanto ser inteiras e pertencer ao intervalo 0 512 ou seja qu
77. tora perfuradora de fita de papel Console Unidade exibidora oscilosc pio CAP TULO 2 CONSIDERACOES GERAIS 2 1 HISTORICO Os gr ficos emitidos por computador comecaram a ser es tudados no inicio dos anos 60 atrav s do SKETCHPAD de I E Sutherland 1 Apesar de os elementos constituintes do hardware de computadores e de displays terem se tornado acessiveis antes da referida poca foi 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 eue seus projetistas usassem os computadores com maior efici n cia O resultado foi O DAC I Design Augmented by Computers o qual foi exposto um par de anos mais tarde durante a Fall Joint Computer Conference 2 Ambos os trabalhos pioneiros acima descritos utiliza ram m quinas grandes e um hardware construido especialmente para dis play Mais tarde um grupo encabecado por Princes e Chagas Na Lockheed Georgia Company elaborou um sistema gr fico para computador em um com putador menor Seu projeto inicial se destinava a permitir que o usua rio gerasse instrugoes em uma m quina de controle num rico Por volta de 1965 muita gente ja se mostrava interes sada pelos problemas envolvendo gr ficos em computador Os esfor os e investimentos em hardw
78. ull 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 p Knuth Fundamental Algorithms vl N Y Graham Perspective drawing of surfacee with hidden line elimination The Bell System Techinal Journal vol 51 n9 4 april 1972 Yutaka Matsushita Hidden lines elimination for a rotating object Communications of the ACM april 1972 vol 15 n9 4 90 14 J Encarna o and W Giloi PRADIS An advanced programming system tor 3 D display Spring Joint Computer Con ference 1972
79. utador em termos de mem ria e tempo envolvido na computagao do grande n mero de testes que estes pre cisam executar O continuo surgimento de novos sistemas gr ficos traz a seus usuarios grandes inconveni ncias e t m dado aos sistemas grafi cos iterativos uma reputac amp o m 9 Isso n o seria problema se o in verso acontecesse cada sistema de abue e dando suporte a uma varie dade de configuragoes 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 chamados Sistemas gr ficos independentes do dispositivo muito populares en tre projetistas de programas de aplicagao apesar de n o serem conside rados timos x Sistemas ela necessitam ser mais do que indepen dentes do dispositivo Eles precisam ser sistemas de prop sito geral i cujo objetivo deve ser o de suportar uma larga variedade de aplicacoes Os sistemas gr ficos dificilmente satisfazem a essa condicao porque seus projetistas os dirigem para aplica es espec ficas visando sua otimiza o muito comum acontecer que uma aplica ao inesperada para um certo sistema resulte em grande n mero de modifica es e at refor mula o dos mesmos Isso n o aconteceria se os projetistas se preocu passem em fazer um conjunto geral de fun es para seus sistemas Outra ideia amp fazer sistemas gr ficos de alto nivel 4
Download Pdf Manuals
Related Search
Related Contents
Philips 46PFL9705H/12 Data Sheet Carson Fischkutter Cux Anleitung PDFファイル Aiwa EV600D User's Manual Braun AXIS 1440 User's Manual Ericsson ISDN2 User's Manual AutoSense AutoSense Voice Copyright © All rights reserved.
Failed to retrieve file