Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2012, 16:05   #1
AnnaCripto
 
Регистрация: 29.04.2012
Сообщений: 7
По умолчанию построение графика функции.компонент chart

помогите пожалуйста с построением графика!
необходимо построить график,обрабатывая событие OnResize.Использовать в расчетах свойства формы ClientHeight и ClientWidth.Использовать компонент ColorDialog.Предусмотреть возможность изменения разметки координатных осей,шага построения таблицы значений функции.Ввод данных-через окна Edit.
Также нарисовать график,используя компонент Chart.
График функции такой:
y=(1-x*x/2)*cos(x)-x/2*sin(x)
есть код,но он почему-то рисует прямую,хотя график должен быть совсем другой.
AnnaCripto вне форума Ответить с цитированием
Старый 01.05.2012, 16:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
есть код
Круто.
Цитата:
но он почему-то рисует
Ну дык как прописала так и рисует )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.05.2012, 16:14   #3
AnnaCripto
 
Регистрация: 29.04.2012
Сообщений: 7
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, OleCtnrs, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    OleContainer1: TOleContainer;
    TrackBar1: TTrackBar;
    Label3: TLabel;
    Edit2: TEdit;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  gd,gm:integer;
i,XL,XL1,XL2:integer;
dx,x,y:real;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);





begin

form1.repaint;
XL1:=strtoint(edit2.Text);
XL:=20*XL1;
XL2:=20*XL1;
with Form1.Canvas do
begin
Pen.Color:=clgreen;
Pen.Width:=1;
TextOut((clientwidth-160) div 2,20,'X');
TextOut((clientwidth-130),(clientheight+30) div 2,'Y');
moveto((clientwidth-100) div 2,10);
lineto((clientwidth-100) div 2,clientheight-10) ;
moveto(10,(clientheight-10) div 2);
lineto(clientwidth-100,(clientheight-10) div 2) ;
i:=0;
repeat
i:=i+1;
Form1.Canvas.Pen.Color:=clblack;
Form1.Canvas.Pen.Width:=1;
moveto(((clientwidth-100) div 2)+XL,(clientheight-20) div 2);
lineto(((clientwidth-100)div 2)+XL,(clientheight+5) div 2);
TextOut(((clientwidth-100)div 2)+XL,(clientheight+5) div 2,inttostr(i));

moveto(((clientwidth-100) div 2)-XL,(clientheight-20) div 2);
lineto(((clientwidth-100)div 2)-XL,(clientheight+5) div 2);
TextOut(((clientwidth-90)div 2)-XL,(clientheight+5) div 2,inttostr(-i));

moveto((clientwidth-110) div 2,((clientheight-10) div 2)+XL);
lineto((clientwidth-90)div 2,((clientheight-10) div 2)+XL);
TextOut((clientwidth-70)div 2,((clientheight-10) div 2)+XL,inttostr(-i));

moveto((clientwidth-110) div 2,((clientheight-10) div 2)-XL);
lineto((clientwidth-90)div 2,((clientheight-10) div 2)-XL);
TextOut((clientwidth-70)div 2,((clientheight-10) div 2)-XL,inttostr(i));

xl:=xl+xl2 ;
until
xl>(clientwidth-500) ;
end;

  x:=-1;
dx:=0.0005*xl2/10;
repeat
Form1.Canvas.Pen.Width:=2;
if (x<=-1) or (x>=1) then x:=x+dx  else
begin
y:=(1-x*x/2)*cos(x)-x/2*sin(x);
form1.Canvas.Pixels[(((clientwidth-100)div 2)+round(x*20*xl1)),((clientheight-10) div 2)-round(y)]:=clRed;
x:=x+dx;


end;
until
x>=(clientheight-10);



 end;



procedure TForm1.TrackBar1Change(Sender: TObject);

begin
edit2.text:=inttostr(Trackbar1.position);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
form2.showmodal;


end;

end.
AnnaCripto вне форума Ответить с цитированием
Старый 01.05.2012, 16:16   #4
AnnaCripto
 
Регистрация: 29.04.2012
Сообщений: 7
По умолчанию

Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart, StdCtrls, Buttons;

type
  TForm2 = class(TForm)
    Chart1: TChart;
    BitBtn1: TBitBtn;
    Series1: TLineSeries;
    Button1: TButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);
begin
form1.show;
form2.Close;
end;
procedure TForm2.Button1Click(Sender: TObject);
var x1:real;y1:integer;
begin
 x1:=-0.9;
dx:=0.1;
y:=0;


for y1:=-9 to 9 do
begin
y:=(1-x*x/2)*cos(x)-x/2*sin(x);

 Series1.AddXY(x1/10,y,'',clGreen);


x1:=x1+dx ;
end;


end;

end.
AnnaCripto вне форума Ответить с цитированием
Старый 01.05.2012, 16:47   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Как оно у тебя вообще компилируется???
Ты что-то недоговариваешь.
У тебя в твоем примере х нигде не описан, неужели эта программа запускается?

Вот смотри:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var x,x1,dx,y:real;y1:integer;
begin
 x1:=-0.9;
 dx:=0.1;
 y:=0;

for y1:=-9 to 9 do begin
 y:=(1-x1*x1/2)*cos(x1)-x1/2*sin(x1);
 Series1.AddXY(x1/10,y,'',clGreen);
 x1:=x1+dx ;
end;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.05.2012, 16:55   #6
AnnaCripto
 
Регистрация: 29.04.2012
Сообщений: 7
По умолчанию

ну это диаграмма,и она запускается с x,я из объявленной переменной стерла в процессе,а затем забыла.ну не суть,просто в диаграмме выходит парабола,а в графике самом выходит прямая!
AnnaCripto вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение графика функции f(x) ZVEREX Помощь студентам 0 26.05.2010 13:12
Построение графика функции. TP sysfa1l Помощь студентам 8 15.11.2009 13:01
Построение графика из StringGrid в Chart Vladya Помощь студентам 6 25.03.2009 21:00
Построение графика функции Жека:) Общие вопросы C/C++ 5 11.11.2008 19:05
Графика. Построение функции AngelOfDeath Общие вопросы Delphi 2 14.10.2008 13:44