// PointF배열을 넘겨 포인트를 해당 각도로 이동(centroid는 X, Y 중심점)
public PointF[] rotatePolygon(PointF[] polygon, PointF centroid, double angle)
{
for (int i = 0; i < polygon.Length; i++)
{
polygon[i] = rotatePoint(polygon[i], centroid, angle);
}
return polygon;
}
// 각 PointF를 해당 각도로 이동
public PointF rotatePoint(PointF point, PointF centroid, double angle)
{
float x = (centroid.X + (int)((point.X - centroid.X) * Math.Cos(angle) - (point.Y - centroid.Y) * Math.Sin(angle)));
float y = (centroid.Y + (int)((point.X - centroid.X) * Math.Sin(angle) + (point.Y - centroid.Y) * Math.Cos(angle)));
return new PointF(x, y);
}
'C#'에 해당되는 글 20건
- 2012.02.02 다각형(Polygon) 회전 시키는 방법!(포인트 이동) 4
C#2012. 2. 2. 16:59