Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.05.2012, 23:37
Zoman Zoman вне форума
Прохожий
 
Регистрация: 24.05.2012
Сообщения: 1
Репутация: 10
По умолчанию Нужна помошь в построеии осей

Здравствуйте.
Очень нужна помошь.
Учусь на специалньости очень далекой от програмирования, задали курсовую- написать программу для вывода граффика функции
(y=|a*cosx|+b*sin|x|) . Собственно программу то я написал, граффик выводится, но я не знаю как построить оси координат(с подписями и разметкой). максимум что у меня выходит это вот это - http://s019.radikal.ru/i632/1205/32/3a72006d94ac.jpg . Помогите построить эти чертовы оси. Завтра уже защита.

Кусок програмного кода с графиком

Код:
procedure TForm1.Button_plotClick(Sender: TObject);
var
i,v,c,x1,x2,y1,y2,x3,x4,y3,y4:integer;
minx,maxx,miny,maxy :extended;

begin
minx:=x[1];maxx:=x[1];miny:=y[1];maxy:=y[1];
for i:=1 to n do
begin
if x[i]<minx then minx:=x[i];
if x[i]>maxx then maxx:=x[i];
if y[i]<miny then miny:=y[i];
if y[i]>maxy then maxy:=y[i];
end;
v:=2; c:=5;
with image1, canvas do

begin
fillrect(clientrect);
pen.Color:=clblack;
for i:=1 to n do

begin
xr[i]:=c+round((x[i]-minx)/(maxx-minx)*(width-2*c));
yr[i]:=height-c-round((y[i]-miny)/(maxy-miny)*(height-2*c));
end;

moveto(xr[1],yr[1]);
for i:=1 to n do
lineto(xr[i],yr[i]);
for i:=1 to n do
rectangle(xr[i]-v,yr[i]-v,xr[i]+v,yr[i]+v);

begin
x1:=c+Round((MinX-MinX)/(MaxX-MinX)*(Width-2*c));
x2:=Width-c;
y1:=Height-c-round((0-MinY)/(MaxY-MinY)*(Height-2*c));
y2:=Height-c-round((0-MinY)/(MaxY-MinY)*(Height-2*c));
y3:=height-c;
y4:=c;
x3:=c+Round((minX-minX)/(MaxX-MinX)*(Width-2*c));
x4:= c+Round((minX-minX)/(MaxX-MinX)*(Width-2*c));
Pen.Color:=clred;
MoveTo(x3,y3);
LineTo(x4,y4);
MoveTo(x1,Y1);
LineTo(x2,y2);
end;
Font.Size:=15;
TextOut(x1+5,Y1+3,'0');
TextOut(x1+5,0,'Y');
TextOut(x1+290,Y1,'X');
end;

end;
Bargest: Оформляем код тегами!
Вложения
Тип файла: zip программа.zip (314.7 Кбайт, 1 просмотров)

Последний раз редактировалось Bargest, 24.05.2012 в 23:47.
Ответить с цитированием
  #2  
Старый 24.05.2012, 23:44
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Здесь ответ.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:41.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025