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

Hypermedia, Hypermedia: it is a superset of hypertext. Hypermedia document...

Hypermedia: it is a superset of hypertext. Hypermedia documents comprise links not only to the other pieces of text, although also to other forms of media: sounds and images and m

Curve clipping and character clipping, Curve Clipping and Character Clippin...

Curve Clipping and Character Clipping As you proceed further, you would see that the methods for curve clipping and character clipping have also been developed based on boundin

Overview of hardware primitives, Overview of Hardware Primitives With t...

Overview of Hardware Primitives With the advancement of computer technology, computer graphics has become a practical tool used in real life applications in diverse areas such

Positive accelerations - computer animation, Positive Accelerations - Compu...

Positive Accelerations - Computer Animation So as to incorporate increasing speed in an animation the time spacing among the frames should increase, hence greater change in th

Polygonalization of the surface, Remember in polygonalization of the surfac...

Remember in polygonalization of the surface, following rules must be followed. Any two polygons  (i)  share a common edge,   (ii)  Share a common vertext,  (iii)  Arc disj

Define coherence properties, Define coherence properties?  A coherence ...

Define coherence properties?  A coherence property of a scene is a part of a scene by which relate single part of the scene with the other parts of the scene.

Application of computer aided design, Application of Computer Aided Design ...

Application of Computer Aided Design There are several CAD software applications. Several of them along with their respective vendors are listed here: CAD Applications

Animation and games - cad and cam, Animation and Games - CAD and CAM I...

Animation and Games - CAD and CAM In our childhood, we all have seen that the flip books of cricketers that came free with some soft drink and where some pictures of similar p

Distinguish between convex and concave polygons, Distinguish between convex...

Distinguish between convex and concave polygons? If the line joining any two points in the polygon lies totally inside the polygon then, they are called as convex polygons. If

Illustration of a clipping window - raster graphics, Illustration of a Clip...

Illustration of a Clipping window ABCD is placed as follows: A (100, 10), B (160, 10, C (160, 40), D (100, 40) By using Sutherland-Cohen clipping algorithm determine the vis

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