첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170
using System;
using System.Collections.Generic;

#region 다각형 포인트 리스트 구하기 - GetPolygonPointList(centerPoint, radius, sideCount)

/// <summary>
/// 다각형 포인트 리스트 구하기
/// </summary>
/// <param name="centerPoint">중심점</param>
/// <param name="radius">반경</param>
/// <param name="sideCount">면 수</param>
/// <returns>다각형 포인트 리스트</returns>
public List<DoublePoint> GetPolygonPointList(DoublePoint centerPoint, double radius, int sideCount)
{
    List<DoublePoint> list = new List<DoublePoint>();

    for(int vertex = 0; vertex < sideCount; vertex++)
    {
        double radian = (double)vertex * 2d * Math.PI / (double)sideCount;

        double x = centerPoint.X + radius * Math.Sin(radian);
        double y = centerPoint.Y - radius * Math.Cos(radian);

        list.Add(new DoublePoint(x, y));
    }

    return list;
}

#endregion

/// <summary>
/// 실수 포인트
/// </summary>
public class DoublePoint
{
    //////////////////////////////////////////////////////////////////////////////////////////////////// Property
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region X - X

    /// <summary>
    /// X
    /// </summary>
    public double X { get; set; }

    #endregion
    #region Y - Y

    /// <summary>
    /// Y
    /// </summary>
    public double Y { get; set; }

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Property
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 생성자 - DoublePoint(x, y)

    /// <summary>
    /// 생성자
    /// </summary>
    /// <param name="x">X</param>
    /// <param name="y">Y</param>
    public DoublePoint(double x, double y)
    {
        X = x;
        Y = y;
    }

    #endregion

    //////////////////////////////////////////////////////////////////////////////////////////////////// Method
    ////////////////////////////////////////////////////////////////////////////////////////// Public

    #region 문자열 구하기 - ToString()

    /// <summary>
    /// 문자열 구하기
    /// </summary>
    /// <returns>문자열</returns>
    public override string ToString()
    {
        return string.Format("X={0},Y={1}", X, Y);
    }

    #endregion
}
728x90
반응형
그리드형
Posted by 사용자 icodebroker
TAG , ,

댓글을 달아 주세요