Also hier mal ein Möglichkeit (ungetestet):
Delphi-Quellcode:
function Wert(x: Double): Double;
begin
//hier wird Funktionswert von x ausgerechnet
//sieht bei "f(x)= y= ln(x)" so aus:
Result:= ln(x);
end;
...
procedure TForm1.Graph(xmin, xmax, ymin, ymax: Double);
var dx, dy: Double;
i: Integer;
begin
dx:= (xmax-xmin)/Canvas.Width;
dy:= (ymax-ymin)/Canvas.Height;
Canvas.MoveTo(0, Canvas.Height - Round((Wert(xmin)- ymin)/dy));
for i:= 0 to Canvas.Width-1 do
Canvas.LineTo( i, Canvas.Height- Round( (Wert(i*dx+xmin) -ymin)/ dy));
end;
Die Funktion
wert macht nichts anderes, als einfach den Funktionswert von x auszurechenen.
Die Prozedur
Graph zeichnet den Graphen der Funktion auf die Zeichenfläche von
Canvas.
MfG
Binärbaum