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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.01.2009, 13:14   #1
densan
Пользователь
 
Регистрация: 25.08.2008
Сообщений: 19
По умолчанию масштабирование графика

Есть программа строящая график
uses crt,graph;
const
k=30;
step=5;
var
driver,mode: integer;
y,x:real;
i:longint;
st:string;
begin
driver:=detect;
initgraph (driver,mode,'c:\pascal\bgi\graph.t pu');
setcolor (9);
line (320,0,320,480);
line (0,240,640,240);
setcolor (11);
outtextxy (140,120,'y=(x*x*x)+(3*x)+5');
setcolor (13);
outtextxy (280,0,'G R A F I K');
setcolor(10);
outtextxy (310,15,'y');
outtextxy (620,230,'x');
for i:=0 to getmaxx div (k) do
begin
str (i,st);
outtextxy(getmaxx div 2+i*k,getmaxy div 2+step,st);
str (-i,st);
outtextxy (getmaxx div 2-i*k,getmaxy div 2+step,st);
end;
for i:=1 to getmaxy div (k) do
begin
str (-i,st);
outtextxy (getmaxx div 2+step,getmaxy div 2+i*k,st);
str (i,st);
outtextxy (getmaxx div 2+step,getmaxy div 2-i*k,st);
end;
x:=-2;
repeat
x:=x+0.00002;
y:=(x*x*x)+3*x+5;
putpixel (round(320+x*24),round(240+y*18),re d);
until x>2;
readkey;
end.
Нужно привязать график к лаве (к какой нибудь кнопке), что бы можно было масштабировать график, или перемещать стрелками по осям. Мож кто в привязке клавиш к рисунку чо и понимает, а я не могу разобраться.
densan вне форума
Старый 21.01.2009, 21:41   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Перепиши алгоритм построения графика так, чтобы за масштаб отвечала одна переменная (коэффициент, умножай все на нее), за смещение координат две переменные (по осям x и y, прибавляй к ним). По нажатию каких либо двух клавиш (например плюс и минус) меняй первую переменную, очищай экран и строй заново график. По нажатию еще четырех клавиш (к примеру стрелки) меняй переменные смещения, очищай экран и заново строй график.

p.s. Если готов заплатить, сделаю, стучи в асю (ася в профиле)
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 21.01.2009 в 21:43.
mutabor вне форума
Старый 22.01.2009, 14:11   #3
densan
Пользователь
 
Регистрация: 25.08.2008
Сообщений: 19
По умолчанию

Всё не актуально. Экзамен сдан, требовалось нарисовать маятник с затухающими колебаниями. 5-СУПЕР.
densan вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Масштабирование Град Microsoft Office Excel 6 24.10.2008 09:23
масштабирование изображения Alex_Pro Общие вопросы .NET 0 25.05.2008 09:09
масштабирование Alex_Pro Общие вопросы .NET 0 21.05.2008 18:21
масштабирование lenivec Общие вопросы Delphi 1 23.02.2008 07:07
масштабирование картинки ZhekON Мультимедиа в Delphi 6 16.06.2007 17:00