Dzień dobry, chciałem zrobić skale logarytmiczna, ,zaczałem tak ale nie wiem jak robic podziałki na osiach
var
podzX : integer ;
podzY : integer ;
i : integer ;
pom, k : integer; //do rysowania skali dla logarytmu
begin
podzX := Round(Image1.Width / 6) ;
podzY := Round(Image1.Height / 6) ;
Image1.Canvas.MoveTo(Image1.Width - 421 , Image1.Height - 20);
Image1.Canvas.LIneTo(20, 20 );
Image1.Canvas.MoveTo(Image1.Width - 421 , Image1.Height - 20);
Image1.Canvas.LIneTo(420, Image1.Height - 20 );
//osOX
for i := 1 to 6 do begin
Image1.Canvas.MoveTo((Image1.Width - 421) + podzX *i , Image1.Height - 25);
Image1.Canvas.LIneTo((Image1.Width - 421) + podzX *i, Image1.Height - 15 );
end;
//osY
for i := 1 to 6 do begin
Image1.Canvas.MoveTo(Image1.Width - 426 , ((Image1.Height - 20)-podzY*i));//Image1.Height - 20);
Image1.Canvas.LIneTo(Image1.Width - 416 ,((Image1.Height - 20)-podzY*i));// (Image1.Height - 20)+podzY*i );
end;
//opis osi OY
for i := 1 to 6 do begin
Image1.Canvas.TextOut( Image1.Width - 440 , Image1.Height - 33-podzY*i*2,FloatTOSTR(power(10,i))) ;
end;
// opis Ox
for i := 1 to 6 do begin
Image1.Canvas.TextOut((Image1.Width - 421) + podzX *i*2, Image1.Height - 15 ,FloatTOSTR(power(10,i))) ;
end;
//tworzenie do skali
//rysowanie osi logarytm Os Oy
//os opornosci
for i := 1 to 6 do begin
for k := 1 to 100 do begin
Image1.Canvas.MoveTo(Image1.Width - 426 , ((Image1.Height - 20)-Round(log10(k))*i*8));//Image1.Height - 20);
Image1.Canvas.LIneTo(Image1.Width - 416 ,((Image1.Height - 20)-Round(log10(k))*i*8));// (Image1.Height - 20)+podzY*i );
end;
end;
end;
end.