728x90
반응형
728x170
using System;
using System.Collections.Generic;
/// <summary>
/// Double형 Point
/// </summary>
public struct DoublePoint
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Field
////////////////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// X 좌표
/// </summary>
private double x;
/// <summary>
/// Y 좌표
/// </summary>
private double y;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region X 좌표 - X
/// <summary>
/// X 좌표
/// </summary>
public double X
{
get
{
return this.x;
}
set
{
this.x = value;
}
}
#endregion
#region Y 좌표 - Y
/// <summary>
/// Y 좌표
/// </summary>
public double Y
{
get
{
return this.y;
}
set
{
this.y = value;
}
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - DoublePoint(x, y)
/// <summary>
/// 생성자
/// </summary>
/// <param name="x">X 좌표</param>
/// <param name="y">Y 좌표</param>
/// <returns></returns>
public DoublePoint(double x, double y)
{
this.x = x;
this.y = y;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 문자열 구하기 - ToString()
/// <summary>
/// 문자열 구하기
/// </summary>
/// <returns>문자열</returns>
public override string ToString()
{
return string.Format("({0}, {1})", this.x, this.y);
}
#endregion
}
#region 나선형 포인트 리스트 구하기 - GetSpiralPointList(centerPoint, radius, stepAngle, spiralAngle)
/// <summary>
/// 나선형 포인트 리스트 구하기
/// </summary>
/// <param name="centerPoint">중심점</param>
/// <param name="radius">반경</param>
/// <param name="stepAngle">단계 각도</param>
/// <param name="spiralAngle">나선 각도</param>
/// <returns>나선형 포인트 리스트</returns>
public List<DoublePoint> GetSpiralPointList(DoublePoint centerPoint, double radius, double stepAngle, double spiralAngle)
{
List<DoublePoint> list = new List<DoublePoint>();
for(double angle = 0d; angle < spiralAngle; angle += stepAngle)
{
double saleRadius = radius * angle / spiralAngle;
double radian = Math.PI * angle / 180d;
double x = centerPoint.X + saleRadius * Math.Cos(radian);
double y = centerPoint.Y + saleRadius * Math.Sin(radian);
list.Add(new DoublePoint(x, y));
}
return list;
}
#endregion
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] 엑셀 XLSX 파일 데이터 구하기 (0) | 2014.12.31 |
---|---|
[C#/COMMON] 엑셀 XLS 파일 데이터 구하기 (0) | 2014.12.31 |
[C#/COMMON] 엔트로피 구하기 (0) | 2014.12.31 |
[C#/COMMON] 범위 구하기 (0) | 2014.12.31 |
[C#/COMMON] 다각형 포인트 리스트 구하기 (0) | 2014.12.31 |
[C#/COMMON] 원형 포인트 리스트 구하기 (0) | 2014.12.31 |
[C#/COMMON] 각도 구하기 (0) | 2014.12.31 |
[C#/COMMON] 2 제곱 수 여부 조사하기 (0) | 2014.12.31 |
[C#/COMMON] 소수(素數) 여부 조사하기 (0) | 2014.12.31 |
[C#/COMMON] 소수(素數) 리스트 구하기 (0) | 2014.12.31 |
댓글을 달아 주세요