Application of sutherland hodgman polygon clipping, Computer Graphics

Assignment Help:

For good understanding of the application of the rules specified above see the following figure, where the shaded region demonstrates the clipped polygon.

801_Application of Sutherland Hodgman Polygon Clipping.png

Figure: Sutherland-Hodgman Polygon Clipping

Pseudo code for Sutherland - Hodgman Algorithm

Define variables

In VertexArray is the array of input polygon vertices

outVerteArray is the array of output polygon vertices

Nin is the number of entries in inVertexArray

Nout is the number of entries in outVertexArray

n is the number of edges of the clip polygon

ClipEdge[x] is the xth edge of clip polygon defined by a pair of vertices

s, p are the start and end point respectively of current polygon edge

i is the intersection point with a clip boundary

j is the vertex loop counter

Define Functions

AddNewVertex(newVertex, Nout, outVertexArray)

: Adds newVertex to outVertexArray and then updates Nout

InsideTest(testVertex, clipEdge[x])

: Checks whether the vertex lies inside the clip edge or not;

  retures         TRUE is inside else returns FALSE

Intersect (first, second, clipEdge[x])

: Clip polygon edge (first, second) against clipEdge[x], outputs the intersection point

{                                        :  begin main

x = 1

while (x ≤ n)                     : Loop through all the n clip edges

{

Nout = 0                            : Flush the outVertexArray

s = inVertexArray[Nin] : Start with the last vertex in inVertexArray

for j = 1 to Nin do             : Loop through Nin number of polygon vertices (edges)

{

p = inVertexArrray[j]

if InsideTest(p, clipEdge[x] = = TRUE then                     : Case A

and D

if InsideTest(s, clipEdge[x] = = TRUE then

AddNewVertex(p, Nout, outVertexArray)                        : Case A

else

i = Intersect(s, p, clipEdge[x])                           :  Case D

AddNewVertex(i, Nout, outVertexArray)

AddNewVertex(p, Nout, outVertexArray)

end if

else      :  i.e. if InsideTest(p, clipEdge[x] = = FALSE

(Cases 2 and 3)

if InsideTest(s, clipEdge[x]) = =TRUE then                     : Case B

{

 Intersect(s, p, clipEdge[x])

AddNewVertex(i, Nout, outVertexArray)

end if                                        : No action for case C

 

s = p                                         : Advance to next pair of vertices j = j + 1

end if                                         :  end {for}

}

x = x + 1                                     : Proceed to the next ClipEdge[x +1]

Nin = Nout

inVertexArray = outVertexArray            :  The output vertex array for the current clip edge becomes the input vertex array for the next clip edge

}                                        : end while

}                                        : end main


Related Discussions:- Application of sutherland hodgman polygon clipping

Reflecting the ball off of a polyline, To reflect the ball off of the polyl...

To reflect the ball off of the polyline, we need to re?ect it off of the segment that had the minimum thit. But the reflection computation depends only on t hit , n, P and v, so th

Modal create, morgen wants to sign up for an account on doggobook, the worl...

morgen wants to sign up for an account on doggobook, the world''s thrid - best social network for dog enthusiasts. she enters her email address and a password into the sign-up form

Briefly explain the term density range, QUESTION a) Explain with the he...

QUESTION a) Explain with the help of a diagram, how a thermal inkjet printer works. b) Briefly explain the term density range. c) Distinguish between scaling and resampli

Rotation about the origin - 2-d and 3-d transformations, Rotation about the...

Rotation about the origin - 2-d and 3-d transformations Specified a 2-D point P(x,y), which we need to rotate, along with respect to the origin O. The vector OP has a length '

Types of graphic images, Types of Graphic Images: Graphic images have...

Types of Graphic Images: Graphic images have been processed through a computer can generally be divided in two distinct categories. That image is either bitmap files or vecto

Resolution-introduction to computer graphics, Resolution Graphic demons...

Resolution Graphic demonstrations are utilized in presentations to assist convey a concept or express a mood, two kinds of demonstrations graphics are: Vector, and B

Image editing tools in multimedia, Image Editing Tools These are specia...

Image Editing Tools These are specializing and influential tools for enhancing and re-touching existing bit-mapped images. Such applications also give several of the features a

Functions of hand-held pointer and tablet, The hand-held pointer and tablet...

The hand-held pointer and tablet in the form of a stylus i.e. pen or puck can function one or more of these three functions: (i)  For choosing positions on a drawing or on a men

Assumptions for area subdivision method, Assumptions for Area Subdivision M...

Assumptions for Area Subdivision Method a) ¾   Plane of projection is z=0 plane b) ¾ Orthographic parallel projections c) ¾   Direction of projection as d= (0,0,-1) d

Multimedia applications, what are activities to be undertaken or executed a...

what are activities to be undertaken or executed and the expected output of each activity for a plan creation of a movie?

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd