IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

courbe à partir de mesures grace à Tcanvas


Sujet :

C++Builder

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 14
    Par défaut courbe à partir de mesures grace à Tcanvas
    Bonjour, je fais une acquisition de donnée via une laison GPIB.
    ces données sont stockées dans une matrice et j'aimerais tracer dans une Timage la courbe correspondante.
    je me rends compte que la courbe obtenue ne présente que l'allure de celle désirée mais pas la courbe exacte.
    le code est le suivant:
    ----------------------------------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    void Dessine()
    {
     
    int X0,Y0,X,Y,X_max,Y_max,Y_size;
    float Id_max=0.001;
    float Id_min=100;
     
     
    // dessin du graphique
    Form1->Image2->Canvas->Pen->Color=clBlack;
    Form1->Image2->Canvas->Brush->Color=clWhite;
     
    Y_size = ( Form1->Height - 300)/2;
    X0 = 20;
    X_max=Form1->Width-2*X0;
    Y0=(Form1->Height/2 + 20);
    Y_max=Y0-Y_size;
    Form1->Image2->Canvas->Rectangle(X0-10,Y_max-10,X_max+10,Y0+10);
     
    Form1->Image2->Canvas->MoveTo(X0,Y0);
     
    // determination du maximum pour l'echele des y
    for (int i=0;i<100;i++)
            {
            if ((tab[1][i])>Id_max){Id_max=tab[1][i];};
            if ((tab[1][i])<Id_min){Id_min=tab[1][i];};
            }
     
     
    //creation des axes
    Form1->Image2->Canvas->MoveTo(X0-5,Y0);
    Form1->Image2->Canvas->LineTo(X_max,Y0);
    Form1->Image2->Canvas->MoveTo(X0,Y0+5);
    Form1->Image2->Canvas->LineTo(X0,Y_max);
     
    for (int i=0;i<100;i++)
            {
            X=(tab[0][i])*100/(Form1->Width-40);
            Y=(tab[1][i])*Id_max/(Form1->Height-50);
            Form1->Image2->Canvas->LineTo(X0+X,Y0-Y);
            }
     
    // dessin du diagramme proprement dit
    Form1->Image2->Canvas->Pen->Color=clRed;
    Form1->Image2->Canvas->MoveTo(X0,Y0-tab[1][0]*Y_max/Id_max);
    for (int i=0;i<100;i++)
            {
            Form1->Image2->Canvas->LineTo(X0+i*X_max/100,Y0-(tab[1][i]*Y_max/Id_max));
            }
    -------------------------------------------------------------------------------
    le résultat obtenu se trouve en PJ
    une image de la courbe souhaité y est aussi.

    Comment faire pour avoir des axes dynamiques avec des graduations??

    merci d'avance.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/09/2014, 23h08
  2. Réponses: 6
    Dernier message: 13/11/2007, 10h59
  3. dessiner une courbe à partir d'un tableau de valeur
    Par bob75018 dans le forum C++Builder
    Réponses: 8
    Dernier message: 15/06/2007, 04h29
  4. [JGraph]dessiner une courbe à partir de données
    Par marwaza22 dans le forum 2D
    Réponses: 1
    Dernier message: 16/11/2006, 16h16
  5. courbe à partir d'un tableau
    Par chafcha dans le forum MFC
    Réponses: 3
    Dernier message: 26/02/2004, 08h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo