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

Line generation algorithms - graphic primitives, Line Generation Algorithms...

Line Generation Algorithms - Graphic Primitives In previous section we have discussed the case of frame buffer, here information regarding the image to be projected upon the

Why are the bitmap images unsuitable, Question: (a) (i) Give four re...

Question: (a) (i) Give four reasons to explain why are the bitmap images unsuitable for use in a high end print production workflow. (ii) An eps file has two main parts,

Random scan display device - types of refresh monitors, Random Scan Display...

Random Scan Display Device The original cathode ray tube, developed in the late fifties and early sixties, produced charts and pictures, line through line on the tube surface

Gui and graphics, Newspapers exchange news by using news agencies (such as ...

Newspapers exchange news by using news agencies (such as Reuters and ITARTASS). A newspaper registers at a news agency and sends all its news to the agency. The news agency collect

Digital audio comprises audio signals, Digital audio comprises audio signal...

Digital audio comprises audio signals stored in a digital format. Particularly, the term encompasses the subsequent: 1)   Audio conversion: 1.   Analogue to digital conversi

Viewing transformation, Viewing Transformation In previous section, we...

Viewing Transformation In previous section, we have discussed about the geometric transformations as Translation, Shearing, Reflection, Scaling and Rotation. Rotation, Reflect

Enumerate the use of data goggles- virtual reality, Enumerate the use of Da...

Enumerate the use of Data goggles- Virtual Reality Data goggles/helmets - These use optical systems and display screens which send 3D images to the eyes. Motion sensors mea

Fill in the blanks, a__________of a scene is apart of a scene by which rela...

a__________of a scene is apart of a scene by which relate one part of the scene with the other parts of the scene

Hypertext/media and human memory, Hypertext/media and Human Memory Huma...

Hypertext/media and Human Memory Humans associate pieces of information along with other information and make complicated knowledge structures. Thus, this is also said as the h

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