Показать сообщение отдельно
  #4  
Старый 09.06.2010, 08:18
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Вчера токо писал прогу для суммирования графиков, вот откорректировал чучуть, вроде то что надо:
Код:
var
  Bmp: TBitmap;

procedure TForm1.FormActivate(Sender: TObject);
begin
 Bmp:= TBitmap.Create;
 Bmp.PixelFormat:= pf24bit;
 Bmp.Canvas.Brush.Color:= clBlack;
 Bmp.Width:= Image1.Width;
 Bmp.Height:= Image1.Height;
end;

procedure TForm1.Button1Click(Sender: TObject);
Var
 Costanta: Extended;
 X,Y: Integer;
 i: Extended;
begin
 Bmp.Canvas.Rectangle(-1,-1,Image1.Width+1,Image1.Height+1);
 Costanta:= StrToFloat(Edit1.Text);
 Bmp.Canvas.Pen.Color:= clWhite;
 Bmp.Canvas.MoveTo(Image1.Width div 2,0);
 Bmp.Canvas.LineTo(Image1.Width div 2,Image1.Height);
 Bmp.Canvas.MoveTo(0,Image1.Height div 2);
 Bmp.Canvas.LineTo(Image1.Width,Image1.Height div 2);
 i:= -1*(Image1.Width div 2);
 While i < (Image1.Width div 2) Do
  begin
   X:= Round(-3*Costanta*i-10*i*i*i);
   Y:= Round(1.5*Costanta*i*i-9*i*i*i*i);
   i:= i + 0.001;
   Bmp.Canvas.Pixels[(Image1.Width div 2)-X,(Image1.Height div 2)-Y]:= clRed;
  end;
 Image1.Canvas.Draw(0,0, Bmp);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 Bmp.Free;
end;
Если i считать как третью координату то всё усложняеться, помню видел функцию перевода 3D координат в 2D(с перспективой).
Ответить с цитированием