Как нарисовать график функции?
Материал из DRKB
procedure TForm1.Button3Click(Sender: TObject);
var
x, y: array[1..50] of Double;
i: Integer;
scalex, scaley, ymin, ymax, xmin, xmax: Double;
begin
for i := 1 to 50 do
begin
y[i] := sin(i * 0.5);
x[i] := i;
end;
xmin := x[1];
xmax := x[1];
ymin := y[1];
ymax := y[1];
for i := 2 to 50 do
begin // или используйте ymin := MinValue(y); и т.д.
if y[i] < ymin then ymin := y[i];
if y[i] > ymax then ymax := y[i];
if x[i] < xmin then xmin := x[i];
if x[i] > xmax then xmax := x[i];
end;
scalex := PaintBox1.Width / (xmax - xmin);
scaley := PaintBox1.Height / (ymax - ymin);
with PaintBox1.canvas do
begin
MoveTo(Trunc(scalex * (x[1] - xmin)), PaintBox1.Height - Trunc(scaley * (y[1] - ymin)));
for i := 2 to 50 do
LineTo(Trunc(scalex * (x[i] - xmin)), PaintBox1.Height - Trunc(scaley * (y[i] - ymin)));
end;
end;
ID: 04098
Забавная штука синусы:
for i:=1 to 500 do
PaintBox1.Canvas.Pixels[Round(sin(i*5)*10+50), Round(sin(i*10)*10+50)] := RGB(0,0,0);
Author: Baa
Source: http://forum.vingrad.ru
ID: 04099