2009-09-19 14 views

Répondre

5

Est-ce que vous voulez dessiner une courbe quadratique qui va par trois points donnés, ou souhaitez-vous dessiner un quadratic Bézier curve que utilise trois points donnés?

Si ce que vous voulez est une courbe de Bézier, essayez ceci:

private void AddBeziersExample(PaintEventArgs e) 
{ 

    // Adds a Bezier curve. 
    Point[] myArray = 
      { 
       new Point(100, 50), 
       new Point(120, 150), 
       new Point(140, 100) 
      }; 

    // Create the path and add the curves. 
    GraphicsPath myPath = new GraphicsPath(); 
    myPath.AddBeziers(myArray); 

    // Draw the path to the screen. 
    Pen myPen = new Pen(Color.Black, 2); 
    e.Graphics.DrawPath(myPen, myPath); 
} 

que je viens sans vergogne soulevai du MSDN documentation pour GraphicsPath.AddBeziers().

Modifier: Si ce que vous voulez vraiment est d'adapter une courbe quadratique, alors vous devez faire un curve fitting ou polynomial interpolation sur vos points. Peut-être this answer from Ask Dr. Math aidera.