2009-04-29 11 views
5

Nella mia applicazione Winforms ho un piccolo grafico. Niente di speciale solo un mucchio di punti x/y che collego con le linee.Winforms/GDI + Curva di disegno per un grafico

Sarebbe bello disegnare una curva anziché una linea per connettere questi punti. Ma dal momento che la matematica non è mai stata la mia parte forte, non ho idea di come farlo.

Qualsiasi tipo di campione o consiglio sarebbe utile.

risposta

3

Questo è molto semplice - non è necessario alcun calcolo matematico - basta usare Graphics.DrawCurve invece di DrawPolygon/DrawLine (vedi l'ottimo aiuto su questa funzione).

0

Ci scusiamo per la risurrezione thread, ma ho dovuto rispondere a questa:

Essere chiaro in mente ciò che si vuole raggiungere. Non conosco i dettagli del progetto, ma i metodi suggeriti non sono appropriati per molte applicazioni. La soluzione corretta dipende dal fatto che le curve che stai disegnando siano semplicemente belle o rappresentino dati significativi. Per il primo, disegnare una curva di Bézier va bene, ma sono non matematicamente significativo e se si sta tentando di disegnare un grafico da interpretare con rigore scientifico, si trarrà in inganno l'utente. Per molte applicazioni ciò che vorresti è una linea più adatta. Questi hanno una forma funzionale chiara, ad esempio un polinomio di grado 2 (altrimenti noto come parabola), una curva logaritmica o una media mobile. Tutti questi sono presenti in Excel e tutti hanno applicazioni specifiche e sono enfaticamente la scelta sbagliata per qualsiasi cosa al di fuori del loro mandato specifico. Il tema dell'analisi statistica dei dati è probabilmente al di fuori dell'ambito di un post di StackOverflow - ma per cominciare, cercare la 'regressione lineare', ciò che stai descrivendo è affrontato esaustivamente da quest'area della matematica.