Доброго времени суток!
Столкнулся с проблемой, когда начал осваивать построение графиков в delphi. Дело в том, что захотел попробовать построить график ln(x) канвасом, но у ln'a есть ограничение x>0, и делфи строит линию, от начала координат в image до того самого значения в x>0. Как от неё избавиться и оставить только график ln'a??
Вот сам код
procedure TForm1.Button5Click(Sender: TObject);
const mash=10;
Var x0,y0:integer;
x,y:real;
begin
x0:=image2.Width div 2;
y0:=image2.Height div 2;
// рисуем ось
image2.canvas.pen.color:=clgray;
image2.canvas.pen.width:=2;
image2.Canvas.MoveTo(x0,0);
image2.Canvas.LineTo(x0,clientheight);
image2.canvas.moveto(0,y0);
image2.Canvas.lineto(clientwidth,y0);
//рисуем график
image2.Canvas.Pen.Color:=clred;
x:=0;
image2.canvas.moveto(trunc(x),trunc(y));
repeat
x:=x+0.001;
if x <= 0 then
y := 0
else
y:=-ln(x);
image2.canvas.lineto(trunc(x*mash)+x0,trunc(y*mash)+y0);
until x>=50;
end;
Собственно сама картинка
Заранее спасибо за помощь!)