, WPF

2009-06-03 3 views
4

에 사인 웨이브를 그립니다 이것은 아주 바보 같다, 그러나 나는이 작업을 수행하는 시간에서 struglling있어, WPF

어떻게 WPF에서 사인 웨이브를 그리려면?

감사는 Math.sin 이런 기능을 계산할 점 사이

답변

4

선을 그립니다. 드로잉 속도와 정확성 사이에서 타협점을 사용할주기 당 얼마나 많은 포인트를 결정해야합니다. 아마도 Sin 함수는 +1과 -1 사이의 값을 반환 할 것이므로 화면의 영역에 맞게 진폭을 조정해야 할 수도 있습니다.

+0

감사합니다. Martin, 해결책을 시험해 보겠습니다. –

3

"그리기"를 어떻게 지내십니까? WPF에는 Winforms와 같은 OnPaint 이벤트가 없으므로 약간 까다로울 수 있습니다. 윈폼에서이 작업을 수행하는 방법은

e.Graphics.DrawBezier(new Pen(new SolidBrush(Color.Red)), 
          new Point(0, 100), 
          new Point(50, 0), 
          new Point(50, 200), 
          new Point(100, 100)); 

은 어쩌면 도움 년대 Graphics.DrawBezier 방법을 사용했을 것이다,하지만 난 WPF 캔버스에 직접 그리는 방법을 모르겠어요.

MSDN에서 간략히 살펴본 바로는 여러분에게 유용한 BezierSegment 컨트롤이 있음을 보여줍니다.

2

포인트 사이에 곡선을 그리려면 PolyBezier를 사용하여 Math.Sin 메서드에서 계산 한 PointCollection으로 사인파를 그릴 수 있습니다. Alternitavely 당신은 서로에서 흐르는 많은 BezierSegments를 만들 수 있습니다. 마지막으로 PolyBezier 또는 BezierSegments를 드로어 영역으로 폼에 추가합니다 .Children.Add (커브) 드로잉 영역은 드로잉 할 그리드 또는 캔버스입니다.