Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Как пострить график из Builder
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
cas_alexi cas_alexi вне форума
Member
 
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.11.2005
По умолчанию Как пострить график из Builder - 17.12.2005, 15:11

как пострить график из билдера? вот в чем вопрос
это смешно, но сам не могу допереть... просто прога то готова, но есть у препода пожелание...
Ответить с цитированием
  (#2 (permalink)) Старый
BreakPointMAN BreakPointMAN вне форума
Member
 
Сообщений: 451
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.06.2004
По умолчанию 17.12.2005, 15:46

Вариант 1: нарисовать ручками на чьей-нибудь (TForm, TImage, TPaintBox и т.п.) канве (Canvas).

Вариант 2: воспользоваться компонентами готовыми (например, TChart'ом)...

PS: какого типа график?
Ответить с цитированием
  (#3 (permalink)) Старый
cas_alexi cas_alexi вне форума
Member
 
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.11.2005
По умолчанию 17.12.2005, 15:56

Цитата:
Originally posted by BreakPointMAN
[b]Вариант 1: нарисовать ручками на чьей-нибудь (TForm, TImage, TPaintBox и т.п.) канве (Canvas).

Вариант 2: воспользоваться компонентами готовыми (например, TChart'ом)...

PS: какого типа график?
просто кривая по 5 точкам...
если можно то код для примера?))

Спасибо))
Ответить с цитированием
  (#4 (permalink)) Старый
BreakPointMAN BreakPointMAN вне форума
Member
 
Сообщений: 451
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.06.2004
По умолчанию 17.12.2005, 16:14

Цитата:
Originally posted by cas_alexi
[b]просто кривая по 5 точкам...
А точнее?
Ответить с цитированием
  (#5 (permalink)) Старый
cas_alexi cas_alexi вне форума
Member
 
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.11.2005
По умолчанию 17.12.2005, 16:53

Цитата:
Originally posted by BreakPointMAN+-->
Цитата:
<!--QuoteBegin-cas_alexi
Цитата:
[b]просто кривая по 5 точкам...
А точнее?
короче у меня вот так уже... (подсказали )
Код:
Image1->Canvas->Pen->Color = clBlack;
Image1->Canvas->MoveTo(1, 1);
Image1->Canvas->LineTo(1, 1);
Image1->Canvas->LineTo(10, 10);
Image1->Canvas->LineTo(20, 20);
Image1->Canvas->LineTo(21, 20);
Image1->Canvas->LineTo(22, 20);
Image1->Canvas->LineTo(23, 21);
Image1->Canvas->LineTo(24, 22);

Image1->Canvas->Pen->Color = 0xaaaaaa;
for(int i = 0; i < Image1->Width; i += 32)
{
Image1->Canvas->MoveTo(i, 0);
Image1->Canvas->LineTo(i, Image1->Height);
}
for(int i = 0; i < Image1->Height; i += 32)
{
Image1->Canvas->MoveTo(0, i);
Image1->Canvas->LineTo(Image1->Width, i);
}
но мне надо чтобы кривая была не углаватой
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
kelz kelz вне форума
Member
 
Сообщений: 511
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.05.2004
По умолчанию 17.12.2005, 18:03

Твоя проблема скорее связана не с Билдером, а с математикой. Возьми лист бумаги, поставь на него пять точек, а потом подумай как провести через них кривую. Как придумаешь, так уже можно садиться за комп и реализовывать все это на любом доступном языке программирования.
Ответить с цитированием
  (#7 (permalink)) Старый
cas_alexi cas_alexi вне форума
Member
 
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.11.2005
По умолчанию 17.12.2005, 19:20

Цитата:
Originally posted by kelz
[b]Твоя проблема скорее связана не с Билдером, а с математикой. Возьми лист бумаги, поставь на него пять точек, а потом подумай как провести через них кривую. Как придумаешь, так уже можно садиться за комп и реализовывать все это на любом доступном языке программирования.
придумал)))

через for{} сделаем не 5 а 50000000
Ответить с цитированием
  (#8 (permalink)) Старый
kelz kelz вне форума
Member
 
Сообщений: 511
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.05.2004
По умолчанию 17.12.2005, 19:31

Да я тебе не про 5 говорю, а вообще хоть про три, хоть про миллион. Ты сначала придумай функцию, которая будет описывать твою кривую. (например y=x*x - есть парабола). А с помощью MoveTo и LineTo кроме ломаной линии у тебя ничего не получиться.
Ответить с цитированием
  (#9 (permalink)) Старый
cas_alexi cas_alexi вне форума
Member
 
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.11.2005
По умолчанию 17.12.2005, 20:53

Цитата:
Originally posted by kelz
[b]Да я тебе не про 5 говорю, а вообще хоть про три, хоть про миллион. Ты сначала придумай функцию, которая будет описывать твою кривую. (например y=x*x - есть парабола). А с помощью MoveTo и LineTo кроме ломаной линии у тебя ничего не получиться.
стандартная функ не подойдет, а сгладить края можно именно большим количеством точек, но все равно спасибо за помощь и участие
Ответить с цитированием
  (#10 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 6,637
Сказал(а) спасибо: 12
Поблагодарили 797 раз(а) в 782 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 19.12.2005, 12:17

Цитата:
Originally posted by cas_alexi
[b]стандартная функ не подойдет, а сгладить края можно именно большим количеством точек, но все равно спасибо за помощь и участие
если исходных точек мало, то вычисляется функция, график которой проходит через заданные точки, это называется аппроксимацией
вместо рисования на TImage проще применить компонент TChart
в 6-ой версии вроде даже есть возможность вывода сглаженного графика по небольшому числу точек.
Ответить с цитированием
  (#11 (permalink)) Старый
cas_alexi cas_alexi вне форума
Member
 
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.11.2005
По умолчанию 19.12.2005, 12:29

Цитата:
Originally posted by Rius+-->
Цитата:
<!--QuoteBegin-cas_alexi
Цитата:
[b]стандартная функ не подойдет, а сгладить края можно именно большим количеством точек, но все равно спасибо за помощь и участие
если исходных точек мало, то вычисляется функция, график которой проходит через заданные точки, это называется аппроксимацией
вместо рисования на TImage проще применить компонент TChart
в 6-ой версии вроде даже есть возможность вывода сглаженного графика по небольшому числу точек.
Если можешь, то приведи кусок кода для TChart (ну кривую из 5 точек)
Буду очень признателен...
Ответить с цитированием
  (#12 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 6,637
Сказал(а) спасибо: 12
Поблагодарили 797 раз(а) в 782 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 19.12.2005, 12:50

все есть в хэлпе.
например
Код:
Series1->AddXY(double x, double y, AnsiString title, TColor color);
уточнил про сглаживание в Chart - есть построение кривых Безье, что несколько другое:
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
График в PictureBox ashtone9130 Visual C++ 1 27.12.2011 18:50
График функций. Стася Pascal 1 10.05.2011 22:30
Как создать график Sneik Aiz .NET 1 21.04.2011 18:15
График функции p1pko Pascal 0 12.05.2010 00:05
Как, используя средства C++ Builder, построить двумерный график CEMEHbl4 C++ Builder 2 09.10.2008 19:39
Нарисовать график как ГС ТОФ Delphi 2 21.09.2007 12:38
Как построить 3D график joanru C++ Builder 13 12.05.2006 14:37
Рабочий график и SQL. Olesya SQL 2 25.05.2005 20:14
Как нарисовать график в С++ Semicolloid Visual C++ 2 28.02.2005 15:58
График esergey PHP 1 24.05.2004 17:50
Как компилировать готовый проект C++ Builder для работы на на компьютере без Builder Anonymous C++ Builder 1 28.01.2004 17:35



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов