728x90
반응형
728x170
▶ 나선형 포인트 컬렉션 구하기 예제
using Windows.UI.Xaml.Media;
PointCollection collection = GetSpiralPointCollection(1000, 1000, 0, 3600, 3.6, false);
728x90
▶ 나선형 포인트 컬렉션 구하기
using System;
using Windows.Foundation;
using Windows.UI.Xaml.Media;
#region 나선형 포인트 컬렉션 구하기 - GetSpiralPointCollection(xCenter, yCenter, startAngle, endAngle, softness, spiralDownEnded)
/// <summary>
/// 나선형 포인트 컬렉션 구하기
/// </summary>
/// <param name="xCenter">X 중심점</param>
/// <param name="yCenter">Y 중심점</param>
/// <param name="startAngle">시작 각도</param>
/// <param name="endAngle">종료 각도</param>
/// <param name="softness">정밀도</param>
/// <param name="spiralDownEnded">나선 하단 완료 여부</param>
/// <returns>나선형 포인트 컬렉션</returns>
/// <remarks>
/// 정밀도 : 값이 작을 수도록 정밀해진다.
/// </remarks>
public PointCollection GetSpiralPointCollection
(
double xCenter,
double yCenter,
int startAngle,
int endAngle,
double softness,
bool spiralDownEnded
)
{
PointCollection collection = new PointCollection();
for(int angle = startAngle; angle < endAngle; angle++)
{
double radians = Math.PI * angle / 180;
double radius = angle / softness;
double x = xCenter + radius * Math.Sin(radians);
double y = yCenter + (spiralDownEnded ? radius : -radius) * Math.Cos(radians);
collection.Add(new Point(x, y));
}
return collection;
}
#endregion
728x90
반응형
그리드형(광고전용)
'C# > UWP' 카테고리의 다른 글
[C#/UWP] LinearGradientBrush 엘리먼트 : 무지개 색상 브러시 사용하기 (0) | 2016.01.23 |
---|---|
[C#/UWP] Path 마크업에서 Geometry 구하기 (0) | 2016.01.23 |
[C#/UWP] HyperlinkButton 엘리먼트 : 앱 스토어 실행하기 (0) | 2016.01.22 |
[C#/UWP] WebView 클래스 : InvokeScript 메소드를 사용해 HTML 자바 스크립트 실행하기 (0) | 2016.01.22 |
[C#/UWP] WebView 클래스 : ScriptNotify 이벤트를 사용해 컨트롤에 포함된 콘텐츠가 JavaScript를 사용하여 애플리케이션에 문자열 전달하기 (0) | 2016.01.22 |
[C#/UWP] ResourceDictionary 엘리먼트 : MergedDictionaries 속성을 사용해 리소스 파일 병합하기 (0) | 2016.01.21 |
[C#/UWP] BitmapImage 클래스 : 리소스 이미지 사용하기 (0) | 2016.01.18 |
[C#/UWP] 엠퍼센드(&)로 시작하는 특수 문자 사용하기 (0) | 2016.01.17 |
[C#/UWP] XML 문자 이스케이프 사용하기 (0) | 2016.01.17 |
[C#/UWP] RGB 색상 사용하기 (0) | 2016.01.17 |
댓글을 달아 주세요