Pergunta

Como posso desenhar quadrática Curva através de 3 pontos usando C # System.Drawing namespace?

Foi útil?

Solução

Você quer desenhar uma curva quadrática que vai através três pontos dados, ou você quer para desenhar uma curva Bézier quadrática que usos três pontos dados?

Se o que você quer é uma curva de Bézier, tente o seguinte:

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);
}

O que eu apenas descaradamente levantada a partir do MSDN documentação para GraphicsPath.AddBeziers().

Editar : rel Se o que você realmente quer é para caber uma curva quadrática, então você precisa fazer um ajuste de curva ou polinomial interpolação em seus pontos. Talvez esta resposta da Ask Dr. Math vai ajudar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top