Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.05.2015, 07:59   #1
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию График на форме

Подскажите пожалуйста, может кто знает...
Как, построить график бесконечности на форме?
ссылка на формулу
имеется формула, но я не могу её преобразовать, что бы она рисовалась у меня на форме
Подскажите
Janger вне форума Ответить с цитированием
Старый 25.05.2015, 08:55   #2
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

не ленится...
вики.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 25.05.2015, 12:26   #3
SQLPowerUser
Форумчанин
 
Аватар для SQLPowerUser
 
Регистрация: 19.01.2015
Сообщений: 158
Стрелка

А в гугле же есть примеры Лемниската Бернулли Delphi...
Код:
procedure TForm1.FormResize(Sender: TObject);
begin
  Self.Repaint;
end;

procedure TForm1.FormPaint(Sender: TObject);
var
  xc, yc, x1, y1, y2, m, xd, yd: integer;
  x, y, c, MyStep: Extended;
  ARect: TRect;
  MyColor: TColor;
begin
  ARect := Self.Canvas.ClipRect;
  Self.Canvas.Brush.Color := clWhite;
  Self.Canvas.FillRect(ARect);

  Self.Canvas.Pen.Color := 11829830;
  MyColor := clGreen;

  xc := ARect.Right div 2;
  yc := Arect.Bottom div 2;
  Self.Canvas.MoveTo(0,yc); Self.Canvas.LineTo(ARect.Right, yc); Self.Canvas.LineTo(ARect.Right-8, yc-4);
  Self.Canvas.MoveTo(ARect.Right,yc);  Self.Canvas.LineTo(ARect.Right-8, yc+4);
  Self.Canvas.MoveTo(xc,ARect.Bottom); Self.Canvas.LineTo(xc,Arect.Top); Self.Canvas.LineTo(xc-4,ARect.Top+8);
  Self.Canvas.MoveTo(xc,ARect.Top); Self.Canvas.LineTo(xc+4,ARect.Top+8);

  c := 1; m := 100;
  x := -c * sqrt(2);
  MyStep := 0.0001; // Чем меньше это число, тем лучше качество
  xd := 0; yd := 0; // Смещение центра у графика. Можно поменять для наглядности xd := 15; yd := -20;
  while x <= c*sqrt(2) do
  begin
    if sqrt(c*c*c*c+4*x*x*c*c)-x*x-c*c > MyStep then
    begin
      y := sqrt(sqrt(c*c*c*c+4*x*x*c*c)-x*x-c*c);
      x1:= xc + round(x*m);
      y1:= yc - round(y*m);
      y2:= yc + round(y*m);
      Self.Canvas.Pixels[x1+xd,y1+yd] := MyColor;
      Self.Canvas.Pixels[x1+xd,y2+yd] := MyColor;
    end;
    x := x + MyStep;
  end;
end;
Изображения
Тип файла: png Лемниската Бернулли.PNG (6.7 Кб, 138 просмотров)
SQLPowerUser вне форума Ответить с цитированием
Старый 25.05.2015, 14:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

http://www.programmersforum.ru/showthread.php?t=190269
TChart удобнее канваса.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Затабулировать функцию. график указанной функции и график касательной к ней в точке с абсциссой AntonKalinin01 Помощь студентам 0 26.05.2013 07:18
График сменности (график работы) A1enushka Microsoft Office Excel 2 03.02.2012 18:26
нарисовать на форме график Symba Общие вопросы Delphi 4 17.03.2011 20:20
график!!! Чика Помощь студентам 7 21.09.2010 20:10
График на форме ruavia3 Microsoft Office Excel 0 08.05.2009 11:47