# Tag Archives: polygons

## Clip an image to a polygon in C#

This example lets you select a polygon and then uses it to clip an image to it. It uses the technique described in my previous post Build a polygon selector class in C# to let you select the polygon. The … Continue reading

Posted in drawing, graphics, image processing | | 1 Comment

## Find a polygon union in C#

This example begins with two sample polygons pre-defined. Left-click to create the points for your own blue polygon and right-click to create the points for your own green polygon. Double-click to finish drawing a polygon. When two polygons are defined, … Continue reading

## Draw stars inside polygons in C#

This example shows how to draw stars inside a polygon by connecting every M-th vertex as it draws. If the polygon has N sides and N and M are relatively prime (have no common factors except 1), then the lines … Continue reading

Posted in drawing, GDI+, graphics | | 1 Comment

## Use a GraphicsPath to determine whether a point lies inside a polygon in C#

The example Determine whether a point is inside a polygon in C# shows a mathematical technique for telling if a point lies inside a polygon. This example uses .NET’s GraphicsPath class to do the same thing. The following PointIsInPolygon method … Continue reading

Posted in algorithms, geometry, graphics, mathematics | | 3 Comments

## Perform geometric operations on polygons in C#

This example contains a Polygon class that perform several useful geometric operations for polygons. The following list describes the key methods provided by the class. Click the links to see posts that describe the methods in greater detail. PolygonIsConvex – … Continue reading

## Triangulate a polygon in C#

Triangulating a polygon means breaking it into triangles. This is easy for simply shapes such as rectangles. It’s even easy for convex polygons. It’s more interesting for non-convex polygons. To triangulate a polygon, first define an ear to be a … Continue reading

## Find the centroid of a polygon in C#

The centroid of a polygon is its “center of mass.” If you were to cut the polygon out of cardboard or wood, the centroid would be the point where you could balance the polygon on a pin. Note that the … Continue reading

## Reverse the orientation of a polygon in C#

Reversing the orientation of a polygon is easy. Simply reverse the order of its points. If the points are stored in an array of Point or PointF, you can just call the Array.Reverse method. The Polygon class’s OrientPolygonClockwise method shown … Continue reading

## Determine whether a polygon is oriented clockwise or counterclockwise in C#

The post Calculate the area of a polygon in C# explains how to calculate the “signed area” of a polygon. That Polygon class’s SignedPolygonArea method returns a positive area if the polygon is oriented clockwise and a negative area if … Continue reading

## Calculate the area of a polygon in C#

You can calculate the area of a polygon by adding the areas of the trapezoids defined by the polygon’s edges dropped to the X-axis. If two adjacent points along the polygon’s edges have coordinates (x1, y1) and (x2, y2) as … Continue reading