RosettaCodeData/Task/Sutherland-Hodgman-polygon-clipping/00DESCRIPTION
2016-12-05 22:15:40 +01:00

19 lines
1.1 KiB
Text

The   [[wp:Sutherland-Hodgman clipping algorithm|Sutherland-Hodgman clipping algorithm]]   finds the polygon that is the intersection between an arbitrary polygon (the “subject polygon”) and a convex polygon (the “clip polygon”).
It is used in computer graphics (especially 2D graphics) to reduce the complexity of a scene being displayed by eliminating parts of a polygon that do not need to be displayed.
;Task:
Take the closed polygon defined by the points:
: <big><math>[(50, 150), (200, 50), (350, 150), (350, 300), (250, 300), (200, 250), (150, 350), (100, 250), (100, 200)]</math></big>
and clip it by the rectangle defined by the points:
: <big><math>[(100, 100), (300, 100), (300, 300), (100, 300)]</math></big>
Print the sequence of points that define the resulting clipped polygon.
;Extra credit:
Display all three polygons on a graphical surface, using a different color for each polygon and filling the resulting polygon.
(When displaying you may use either a north-west or a south-west origin, whichever is more convenient for your display mechanism.)
<br><br>