Академический Документы
Профессиональный Документы
Культура Документы
2005
Julio Arakaki
Recorte (clipping)
Processo de visualizao que leva em conta apenas o contedo da janela de desenho.
Ponto
Assumindo que a janela para recorte seja uma rea retangular, um ponto (x,y) ser desenhado numa rea de tela se obedecer as seguintes inequaes: xwmin <= x <= xwmax ywmin <= y <= ywmax onde, as bordas da janela podem ser uma janela de coordenadas globais ou as bordas de uma viewport.
Julio Arakaki
P9
P4
P2
P10
P2
P3 P5
P1 P6
P8 P5
P1 P6 P7 P8
P7
Antes do clipping
Depois do clipping
1001
1000
0000
0100
0110
Julio Arakaki
Se uma extremidade tem cdigo 0101 ento, este ponto esta esquerda e abaixo da janela. Assim, para fazer o recorte em funo de uma janela pr-estabelecida, deve -se seguir as seguintes regras: Os segmentos de reta cujas extremidades tem cdigos 0000, esto totalmente dentro da rea de recorte. Os segmentos de reta que possuem cdigos das extremidades com 1 no mesmo bit, esto totalmente fora da rea de recorte. Os segmentos que no so identificadas como totalmente dentro ou totalmente fora, devero ser recortadas de acordo com o algoritmo a seguir:
P2 P2 P2
P3 P1
P1 P4
Para os segmentos da figura, temos: 1. Verificar a posio relativa de P1 em funo da janela (right, left, below ou above): abaixo da janela 2. Procurar a interseco com a borda inferior da janela e definir P1 3. Verificar a posio de P2 em relao janela: esquerda e acima da janela. Definir P2 e P2 atravs da interseco com a borda esquerda e superior, respectivamente.
4
Julio Arakaki
Julio Arakaki
Polgonos:
Um polgono formado por um conjunto de segmentos de retas interligados e formando uma rea fechada. A utilizao de algoritmos para recorte de polgonos, acarretar em uma srie de segmentos no conectados como na figura abaixo. Desta maneira, os algoritmos para recorte de polgonos devero recortar os segmentos de retas e tambm fechar as reas formadas aps o recorte.
Incorreto
Correto
Julio Arakaki
V3 V2 V2
V2
V3
V1 V1
IN V1 V2 V3
Top Clipper
OUT V2, V2 V3 V3
Este algoritmo, funciona bem para polgonos convexos. Para polgonos cncavos pode ocorrer a seguinte situao:
CORRETO
Julio Arakaki
Este tipo de problema ocorre quando o polgono a ser recortado tem duas ou mais reas separadas aps o recorte. A soluo para este problema, a utilizao de um algoritmo mais genrico.
V2 V1
V1 V3 V4 V4 V5 V6
V3
V5
Algoritmo: Seguir as bordas do polgono no sentido horrio e aplicar as seguintes regras: Para um par de vrtices outside to inside, segue-se a borda do polgono, armazenando-se o ponto de interseco. Para um par de vrtice inside to outside, segue-se a borda da janela.
Julio Arakaki
clipping de textos
Envoltria no texto
Sem envoltria
Para texto vetorial, utiliza-se clipping de retas. Para texto matricial, verifica-se cada pixel da matriz de caractere em relao s bordas da janela.