■ 컬럼 인덱스를 구하는 방법을 보여준다. ▶ 컬럼 인덱스 구하기 예제 (C#)
|
using System; int columnIndex = GetColumnIndex(5, 63); Console.WriteLine(columnIndex); |
▶ 컬럼 인덱스 구하기 (C#)
|
#region 컬럼 인덱스 구하기 - GetColumnIndex(columnCount, sequenceIndex) /// <summary> /// 컬럼 인덱스 구하기 /// </summary> /// <param name="columnCount">컬럼 수</param> /// <param name="sequenceIndex">순번 인덱스</param> /// <returns>컬럼 인덱스</returns> public int GetColumnIndex(int columnCount, int sequenceIndex) { return sequenceIndex % columnCount; } #endregion |
※ 순번 인덱스
더 읽기
■ 행 인덱스를 구하는 방법을 보여준다. ▶ 행 인덱스 구하기 예제 (C#)
|
using System; int rowIndex = GetRowIndex(5, 63); Console.WriteLine(rowIndex); |
▶ 행 인덱스 구하기 (C#)
|
#region 행 인덱스 구하기 - GetRowIndex(columnCount, sequenceIndex) /// <summary> /// 행 인덱스 구하기 /// </summary> /// <param name="columnCount">컬럼 수</param> /// <param name="sequenceIndex">순번 인덱스</param> /// <returns>행 인덱스</returns> public int GetRowIndex(int columnCount, int sequenceIndex) { return sequenceIndex / columnCount; } #endregion |
※ 순번 인덱스
더 읽기
■ 행 수를 구하는 방법을 보여준다. ▶ 행 수 구하기 예제 (C#)
|
using System; int rowCount = GetRowCount(75, 10); Console.WriteLine(rowCount); |
▶ 행 수 구하기 (C#)
|
#region 행 수 구하기 - GetRowCount(totalCount, columnCount) /// <summary> /// 행 수 구하기 /// </summary> /// <param name="totalCount">전체 수</param> /// <param name="columnCount">컬럼 수</param> /// <returns>행 수</returns> public int GetRowCount(int totalCount, int columnCount) { return (totalCount + columnCount - 1) / columnCount; } #endregion |
■ 각도를 구하는 방법을 보여준다. ▶ 각도 구하기 예제 (C#)
|
using System; double angle = GetAngle(3.14159265358979d); Console.WriteLine(angle); |
▶ 각도 구하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
using System; #region 각도 구하기 - GetAngle(radianAngle) /// <summary> /// 각도 구하기 /// </summary> /// <param name="radianAngle">라디안 각도</param> /// <returns>각도</returns> public double GetAngle(double radianAngle) { return radianAngle * (180d / Math.PI); } #endregion |
■ 라디안 각도를 구하는 방법을 보여준다. ▶ 라디안 각도 구하기 예제 (C#)
|
using System; double radianAngle = GetRadianAngle(180d); Console.WriteLine(radianAngle); |
▶ 라디안 각도 구하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
using System; #region 라디안 각도 구하기 - GetRadianAngle(angle) /// <summary> /// 라디안 각도 구하기 /// </summary> /// <param name="angle">각도</param> /// <returns>라디안 각도</returns> public double GetRadianAngle(double angle) { return angle * (Math.PI / 180d); } #endregion |
■ 베지어 곡선의 Point 리스트를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
using System.Collections.Generic; using System.Windows; #region 베지어 곡선 포인트 리스트 구하기 - GetBezierCurvePointList(startPoint, controlPoint1, controlPoint2, endPoint, pointCount) /// <summary> /// 베지어 곡선 포인트 리스트 구하기 /// </summary> /// <param name="startPoint">시작점</param> /// <param name="controlPoint1">제어점 1</param> /// <param name="controlPoint2">제어점 2</param> /// <param name="endPoint">종료점</param> /// <param name="pointCount">포인트 수</param> /// <returns>베지어 곡선 포인트 리스트</returns> public List<Point> GetBezierCurvePointList(Point startPoint, Point controlPoint1, Point controlPoint2, Point endPoint, int pointCount) { List<Point> list = new List<Point>(pointCount); for(int i = 0; i < pointCount; i++) { double t = (double)i / (pointCount - 1); double x = (1 - t) * (1 - t) * (1 - t) * startPoint.X + 3 * t * (1 - t) * (1 - t) * controlPoint1.X + 3 * t * t * (1 - t) * controlPoint2.X + t * t * t * endPoint.X; double y = (1 - t) * (1 - t) * (1 - t) * startPoint.Y + 3 * t * (1 - t) * (1 - t) * controlPoint1.Y + 3 * t * t * (1 - t) * controlPoint2.Y + t * t * t * endPoint.Y; list.Add(new Point(x, y)); } return list; } #endregion |
■ 나선형 Point 리스트를 구하는 방법을 보여준다. ▶ 나선형 Point 리스트 구하기 예제 (C#)
|
using System.Collections.Generic; using System.Windows; List<Point> spiralPointList = GetSpiralPointList(new Point(300d, 300d), 100d, 2000d, 20d); |
▶ 나선형 Point 리스트 구하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
using System; using System.Collections.Generic; using System.Windows; #region 나선형 Point 리스트 구하기 - GetSpiralPointList(centerPoint, radius, pointCount, reviseCount) /// <summary> /// 나선형 Point 리스트 구하기 /// </summary> /// <param name="centerPoint">중심점</param> /// <param name="radius">반경</param> /// <param name="pointCount">포인트 수</param> /// <param name="reviseCount">수정 수</param> /// <returns>나선형 Point 리스트</returns> public List<Point> GetSpiralPointList(Point centerPoint, double radius, int pointCount, int reviseCount) { List<Point> list = new List<Point>(); for(int i = 0; i < pointCount; i++) { double angle = i * 2d * Math.PI / (pointCount / reviseCount); double scale = radius * (1 - (double) i / pointCount); double x = centerPoint.X + scale * Math.Cos(angle); double y = centerPoint.Y + scale * Math.Sin(angle); list.Add(new Point(x, y)); } return list; } #endregion |
■ 나선을 그리기 위한 좌표들을 계산해서 리스트로 반환하는 방법을 보여준다. ▶ 나선형(Spiral) Point 리스트 구하기 예제 (C#)
|
using System.Collections.Generic; using System.Windows; // 중심점 (300, 300), 반지름 100인 크기의 원에서 30도 간격으로 1440도를 회전하는 나선형 Point 리스트를 구한다. List<Point> spiralPointList = GetSpiralPointList(new Point(300d, 300d), 100d, 30d, 1440d); |
▶ 나선형(Spiral) Point 리스트
더 읽기
■ 원을 그리기 위한 좌표들을 계산해서 리스트로 반환하는 방법을 보여준다. ▶ 원형 Point 리스트 구하기 예제 (C#)
|
using System.Collections.Generic; using System.Windows; // 중심점 (300, 300), 반지름 100인 크기의 원에서 30도 간격의 원형 Point 리스트를 구한다. List<Point> circularPointList = GetCircularPointList(new Point(300d, 300d), 100d, 30d); |
▶ 원형 Point 리스트
더 읽기
■ N각형의 다각형 꼭지점 리스트를 구하는 방법을 보여준다. ▶ 다각형 꼭지점 리스트 구하기 예제 (C#)
|
using System.Collections.Generic; // 중심점 (300, 300), 반지름 100인 크기의 원에서 5각형 꼭지점 리스트를 구한다. List<DoublePoint> polygonVertexList = GetPolygonVertexList(new DoublPeoint(300d, 300d), 100d, 5); |
▶ 다각형 꼭지점 리스트 구하기 (C#)
더 읽기