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

Properties of perspective projections - transformation, Properties of Persp...

Properties of Perspective projections - Transformation 1) Faraway objects seem smaller. 2) Straight lines are projected to straight lines. 3) Let line 1 and 2 is two s

Illumination model - polygon rendering & ray tracing methods, Illumination ...

Illumination Model - Polygon rendering and ray tracing methods Theoretically illumination is exposure of a thing to the light that contributes to light reflected by an object

Interpolation of surface - polygon rendering, Interpolation of surface - Po...

Interpolation of surface - Polygon Rendering Interpolation of surface normals beside the polygonedge between two vertices is demonstrated above in the figure 15. Here the norm

Intensity of colours - raster graphics and clipping, Similarly we can contr...

Similarly we can control the intensity of colours We contain more bit planes for all colour say three bit planes for R, 3 for G and 3 for B here all bit plane of size mxn, hen

Overstriking, why overstriking is harmful.justify

why overstriking is harmful.justify

Taxonomy of projection - viewing transformation, Taxonomy of Projection - v...

Taxonomy of Projection - viewing transformation There are different types of projections as per to the view that is essential. The subsequent figure 3 demonstrates taxonomy o

What is computer-aided design, What is CAD Drawings created with Comput...

What is CAD Drawings created with Computer-Aided Design (CAD) tools, which were introduced in  the 1960s, represented tremendous productivity gains over paper drawings, such as

Computational algorithm for simulating physical system, computational algor...

computational algorithm for simulating the behavior of different physical and mathematical systems Monte Carlo methods are an extensively utilized class of computational algor

Region filling, what is region filling? give details

what is region filling? give details

Military-applications for computer animation, Military: In order to enter ...

Military: In order to enter the military, one has to go by various training. Depending upon whether you want to be in the army, navy or the marines, you may be working along with

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