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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2010, 02:54   #1
Дмитрий Стариков
 
Регистрация: 13.08.2010
Сообщений: 6
По умолчанию Построение графика по данным массивов

Подскажите как построить график имея два массива а и в, где массив а - ось Х, а в - Y. Нарисовать надо канвой на Image.
Заранее благодарен!!!
Дмитрий Стариков вне форума Ответить с цитированием
Старый 22.09.2010, 03:12   #2
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Может быть дан один двумерный массив?
Из двух одномерных массивов по-моему невозможно собрать график, хотя может как то так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b : array[1..100] of integer;
    i,j:integer;
begin
     randomize;
     for i:=1 to 100 do
     begin
          a[i]:=random(500);
          b[i]:=random(500);
          Image1.Canvas.LineTo(a[i],b[i]);
     end;
end;
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 22.09.2010, 04:46   #3
Lokos
Форумчанин
 
Регистрация: 29.09.2009
Сообщений: 587
По умолчанию

Цитата:
Сообщение от Sparkman Посмотреть сообщение
Может быть дан один двумерный массив?
Из двух одномерных массивов по-моему невозможно собрать график, хотя может как то так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b : array[1..100] of integer;
    i,j:integer;
begin
     randomize;
     for i:=1 to 100 do
     begin
          a[i]:=random(500);
          b[i]:=random(500);
          Image1.Canvas.LineTo(a[i],b[i]);
     end;
end;
только нужно еще добавить moveto на предыдущая точку а то линии будут рисоваться от одной точки
буквально изменить
Код:
 Image1.canvas.moveto(500,500)//с учетом что это ваша координата 0,0 
for i:=1 to 100 do
     begin
          a[i]:=random(500);
          b[i]:=random(500);
          if i<>1 then
              Image1.canvasmoveto(a[i-1],b[i-1]);
          Image1.Canvas.LineTo(a[i],b[i]);
     end;
так же можно взять 2-х мерный массив и тип не Integer а TPoint

Последний раз редактировалось Lokos; 22.09.2010 в 04:51.
Lokos вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
построение графика alla _ zip Помощь студентам 2 12.05.2010 22:12
Построение графика функции по данным из файла Pr.AvivA Win Api 0 03.11.2009 18:38
Построение графика! kiling Мультимедиа в Delphi 0 19.05.2009 21:03
Построение графика KARSH Общие вопросы Delphi 3 28.05.2007 17:05
Построение Графика Боня Помощь студентам 3 20.01.2007 19:32