2011-02-06 11 views
1

Googleで検索したところ、何も見つかりませんでした。あなたはいくつか知っていますか?WPFでスパイラルを描画するためのサンプルコードですか?

+1

* @ user310291 *、あなたはあなたの質問に、これまでに何を試してみましたか?あなたの問題は性質上、より多くのXAML/WPF関連ですか? – stakx

+0

WPFのサンプルコードはあまり明確ではありませんか? – user310291

+0

ポイントは、人々は通常、人々のコードを手渡すのが好きではないということです。私たちはあなたがすでに試したものを見たいと思っています。あなたの要求はちょうど怠惰です。これはFAQでカバーされています。 –

答えて

10

螺旋方程式を見つけました(異種の螺旋が存在するかどうかを判断する必要があります)。つまり、http://mathworld.wolfram.com/ArchimedesSpiral.htmlは極座標で表されています。あなたがそれを近似する必要があるので、例えば線で。これは私が行く方法です。 だから私は一例として、いくつかのコードを投稿することができ、私は(あなたがすぐにコードをテストしたい場合に必要)はXAMLからデフォルトのグリッドを削除スクラッチ新しいWPFアプリケーションに書いた、と私:

public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 
      Path p = new Path(); 
      p.Data = CreateSpiralGeometry(1000, new Point() { X = 200, Y = 180 },Math.PI*10, 100); 
      p.Stroke = Brushes.Black; 

      AddChild(p); 
     } 

     private PathGeometry CreateSpiralGeometry(int nOfSteps, Point startPoint, double tetha, double alpha) 
     { 
      PathFigure spiral = new PathFigure(); 
      spiral.StartPoint = startPoint; 


      for(int i=0;i<nOfSteps;++i) 
      { 
       var t = (tetha/nOfSteps)*i; 
       var a = (alpha/nOfSteps)*i; 
       Point to = new Point(){X=startPoint.X+a*Math.Cos(t), Y=startPoint.Y+a*Math.Sin(t)}; 
       spiral.Segments.Add(new LineSegment(to,true)); 
      } 
      return new PathGeometry(new PathFigure[]{ spiral}); 
     } 



    } 
+0

私はWPFだけでなく、アルゴリズムのコードが必要です。 – user310291

+0

私は返信を編集しました –

関連する問題