Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Tworzenie wykresów

Ostatnio zmodyfikowano 2015-12-15 10:12
Autor Wiadomość
Klasyczny
Temat założony przez niniejszego użytkownika
Tworzenie wykresów
» 2015-12-14 21:19:27
Cześć,

pracuje w programie builder 6 c++ mam do wykonania rysowanie funkcji kwadratowej. Stworzyłem image, butona i trzy edity.
Zrobiłem wykres lecz brakuje mi dorobienie kresek pionowych, strzałek do osi XY i wyświetlania danej funkcji.

Bardzo was proszę o pomoc :(

KOD:
C/C++
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 * Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1( TComponent * Owner )
    : TForm( Owner )
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click( TObject * Sender )
{
    exit( 0 );
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click( TObject * Sender )
{
    //rysowanie osi
    Image1->Canvas->Pen->Color = clGray;
   
    Image1->Canvas->MoveTo( 0, 240 );
    Image1->Canvas->LineTo( 500, 240 );
    Image1->Canvas->MoveTo( 240, 20 );
    Image1->Canvas->LineTo( 240, 500 );
   
    //strzalki - źle rysuje
    Image1->Canvas->LineTo( 480, Image1->Height - 240 );
    Image1->Canvas->LineTo( Image1->Width - 40, Image1->Height - 205 );
   
    // kreski pionowe
    for( int i = 1; i < 42; i++ ) {
        Image1->Canvas->MoveTo( 240 - 4,( Image1->Height - 4 ) -( i * 10 ) );
        Image1->Canvas->LineTo( 240 + 4,( Image1->Height - 4 ) -( i * 10 ) );
    }
   
    // kreski poziome - źle rysuje:
    for( int i = 1; i < 42; i++ ) {
        Image1->Canvas->MoveTo( 440 + 4,( Image1->Height - 4 ) -( i * 10 ) );
        Image1->Canvas->LineTo( 440 - 4,( Image1->Height - 4 ) -( i * 10 ) );
    }
   
    // rysowanie
    // Image1->Canvas->Pen->Color = clNavy;
   
    // int a = Edit1->Text.ToInt();
    // int b = Edit1->Text.ToInt();
    // int c = Edit1->Text.ToInt();
   
    // for (int x=0; x<100; x++) (
    //  Image1->Canvas->LineTo(25+x*10, (Image1->Height-25)-10*(a*x+b*x+c*x)
    // )
    // }
   
}
//---------------------------------------------------------------------------
P-141987
darko202
» 2015-12-15 10:12:00
poszukaj np. na
http://programowanie.cal.pl​/cyfbar/grafika.html

http://programowanie.cal.pl​/cyfbar/canvas.html
a tam info :
'Canvas->Pixels[10][100] = clRed;' określa kolor pojedyńczego piksela na powierzchni kreślonej. W podanym przykładzie piksel o współrzędnych X = 10 i Y = 100 przyjmie kolor czerwony.

i to trzeba tylko oprogramować
tzn. rysowanie osi i kolejnych wartości funkcji
P-142006
« 1 »
  Strona 1 z 1