2D Clipping 1

Embed Size (px)

Citation preview

  • 8/3/2019 2D Clipping 1

    1/23

    2 D C l i p p i n g

    Clipping examples

  • 8/3/2019 2D Clipping 1

    2/23

    2 D C l i p p i n g

    o i n t s

    i n e s

    o l y g o n s

  • 8/3/2019 2D Clipping 1

    3/23

    P o i n t C l i p p i n g

    Point clipping

  • 8/3/2019 2D Clipping 1

    4/23

    P o i n t C l i p p i n g

    s s u m e t h a t t h e w i n d o w i s d e n e d a s

    x

    l

    x

    r

    y

    b

    y

    t

    h e n p o i n t c l i p p i n g i s s t r a i g h t f o r w a r d a n d s i m p l e

    o i n t

    x ; y

    i s p l o t t e d i f

    x2

    x

    l

    ; x

    r

    ;

    n d

    x2

    y

    b

    ; y

    t

    a y a t t e n t i o n t o

    1 h o m o g e n e o u s c o o r d i n a t e s

    2 e q u a t i o n s o f l i n e s

  • 8/3/2019 2D Clipping 1

    5/23

    L i n e C l i p p i n g

    Line clipping

  • 8/3/2019 2D Clipping 1

    6/23

    L i n e C l i p p i n g

    i n e c l i p p i n g o p e r a t i o n s s h o u l d c o m p r i s e

    h e f o l l o w i n g c a s e s

    t o t a l l y p l o t t e d

    p a r t i a l l y p l o t t e d

    n o t p l o t t e d a t a l l

    l e a s e n o t e t h a t e v e n t h o u g h n e i t h e r o f t w o

    e r t i c e s i s w i t h i n t h e w i n d o w , c e r t a i n p a r t o f

    h e l i n e s e g m e n t m a y b e s t i l l w i t h i n !

    h e r e a r e m a n y d i e r e n t t e c h n i q u e s f o r

    l i p p i n g l i n e s i n 2 D

    h e f u n d a m e n t a l s a r e

    1 l i n e e q u a t i o n s a n d 2 i n t e r s e c t i o n c o m p u t a t i o

    e x t , w e w i l l d i s c u s s C o h e n - S u t h e r l a n d a l g o r i t h m

  • 8/3/2019 2D Clipping 1

    7/23

    C o h e n - S u t h e r l a n d A l g o r i t h m

    t i s n o t t h e m o s t e c i e n t a l g o r i t h m

    t i s o n e t h e m o s t c o m m o n l y u s e d

    h e k e y t e c h n i q u e i s 4 - b i t c o d e :

    B R L w h e r e

    i s s e t t o 1 i f y t o p

    i s s e t t o 1 i f y b o t t o m

    i s s e t t o 1 i f x r i g h t

    i s s e t t o 1 i f x l e f t

  • 8/3/2019 2D Clipping 1

    8/23

    W i n d o w R e g i o n s

    x=left x=right

    y=top

    y=bottom

    10011000 1010

    0001 0000 0010

    0101 0100 0110

    P0

    P1

  • 8/3/2019 2D Clipping 1

    9/23

    A l g o r i t h m

    s s u m e t w o e n d p o i n t s a r e p

    0

    a n d p

    1

    f c o d e

    p

    0

    O R c o d e

    p

    1

    i s

    0 0 0 0 ,

    h e l i n e c a n b e t r i v i a l l y a c c e p t e d ,

    h e l i n e i s d r a w n

    f c o d e

    p

    0

    A N D c o d e

    p

    1

    i s N O T

    0 0 0 0 ,

    h e l i n e c a n b e t r i v i a l l y r e j e c t e d ,

    h e l i n e i s n o t d r a w n a t a l l

    t h e r w i s e , c o m p u t e t h e i n t e r s e c t i o n p o i n t s o f

    h e l i n e s e g m e n t a n d w i n d o w b o u n d a r y l i n e s

    m a k e s u r e t o c h e c k a l l t h e b o u n d a r y l i n e s

  • 8/3/2019 2D Clipping 1

    10/23

    L i n e I n t e r s e c t i o n

    x=l x=r

    y=t

    y=b

    a

    b

    c

    d

    e

    f

    (x1,y1)

    (x2,y2)

  • 8/3/2019 2D Clipping 1

    11/23

    I n t e r s e c t i o n C o m p u t a t i o n

    i n e e q u a t i o n

    y = y

    1

    + m x,

    x

    1

    h e r e

    m =

    y

    2

    ,

    y

    1

    x

    2

    ,

    x

    1

    i n e i n t e r s e c t i o n w i t h t h e l e f t v e r t i c a l b o u n d a r y

    x = l

    s s u m e t h e i n t e r s e c t i o n i s c

    x = l

    y = y

    1

    + m l,

    x

    1

    i n e a b i s c l i p p e d w . r . t . x = l

    , n o w i t b e c o m e s c b

    i n e i n t e r s e c t i o n w i t h t h e t o p b o u n d a r y

    y = t

    s s u m e t h e i n t e r s e c t i o n i s d

    y = t

    x =

    1

    m

    t,

    y

    1

    +x

    1

  • 8/3/2019 2D Clipping 1

    12/23

    i n e c b i s c l i p p e d w . r . t . y = t

    , l i n e c b b e c o m e s c d

    i n e i n t e r s e c t i o n w i t h t h e r i g h t b o u n d a r y

    x = r

    s s u m e t h e i n t e r s e c t i o n i s e

    x = r

    y = y

    1

    + m r,

    x

    1

    i n e c d i s c l i p p e d w . r . t . x = r

    , l i n e c d b e c o m e s c e

    i n e i n t e r s e c t i o n w i t h t h e b o t t o m b o u n d a r y

    y = b

    s s u m e t h e i n t e r s e c t i o n i s f

    y = b

    x =

    1

    m

    b,

    y

    1

    +x

    1

    i n e c e i s c l i p p e d w . r . t . y = b

    , l i n e c e b e c o m e s f e

    o , t h e e n t i r e p r o c e s s i s

    a b

    c b

  • 8/3/2019 2D Clipping 1

    13/23

    c d

    c e

    f e

    o t e t h a t , v a r i o u s i m p r o v e m e n t s a r e p o s s i b l e !

    s i n g p a r a m e t r i c r e p r e s e n t a t i o n o f l i n e q u e s t i o n s ,

    2 3 0

    r e a t e m o r e r e g i o n s a r o u n d t h e c l i p w i n d o w ,

    2 3 3

    i n e c l i p p i n g u s i n g p o l y g o n

    c o n v e x p o l y g o n , P 2 3 5

    c o n c a v e p o l y g o n , s p l i t i n i n t o

    s e v e r a l c o n v e x p o l y g o n , P 2 3 6

  • 8/3/2019 2D Clipping 1

    14/23

    P o l y g o n C l i p p i n g

  • 8/3/2019 2D Clipping 1

    15/23

    P o l y g o n C l i p p i n g

  • 8/3/2019 2D Clipping 1

    16/23

    P o l y g o n C l i p p i n g

    i n e c l i p p i n g a l g o r i t h m s w i l l l e a d t o

    s e t o f d i s j o i n t l i n e s e g m e n t c h a i n s

    n g e n e r a l , c l i p p i n g e a c h e d g e w i l l n o t w o r k !

    e s h a l l n o t c l i p e a c h e d g e o f t h e p o l y g o n w . r . t .

    h e w i n d o w b o u n d a r y o n e a t a t i m e

    e t r e a t t h e p o l y g o n a s a w h o l e o b j e c t

    l i p t h e e n t i r e o b j e c t a g a i n s t e a c h b o u n d a r y o f t h

    i n d o w

    u t h e r l a n d - H o d g m a n a l g o r i t h m

    a n y p o l y g o n c o n v e x o r c o n c a v e

    a n y c o n v e x c l i p p i n g p o l y g o n

  • 8/3/2019 2D Clipping 1

    17/23

    P o l y g o n C l i p p i n g E x a m p l e

  • 8/3/2019 2D Clipping 1

    18/23

    P o l y g o n C l i p p i n g E x a m p l e

  • 8/3/2019 2D Clipping 1

    19/23

    P o l y g o n C l i p p i n g E x a m p l e

  • 8/3/2019 2D Clipping 1

    20/23

    P o l y g o n C l i p p i n g E x a m p l e

  • 8/3/2019 2D Clipping 1

    21/23

    P o l y g o n C l i p p i n g E x a m p l e

  • 8/3/2019 2D Clipping 1

    22/23

    A l g o r i t h m

    u t h e r l a n d - H o d g m a n a l g o r i t h m

    e r t e x l i s t o f t h e c u r r e n t p o l y g o n

    l i p a g a i n s t e d g e s o f t h e w i n d o w b o u n d a r y

    e w v e r t e x l i s t o f t h e n e w p o l y g o n

    h e a l g o r i t h m c l i p s a g a i n s t a l l f o u r e d g e s

    n a s e q u e n t i a l o r d e r , p r o d u c i n g a n e w v e r t e x

    i s t e a c h t i m e

  • 8/3/2019 2D Clipping 1

    23/23