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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2009, 19:25   #1
Deniska112
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 33
По умолчанию Графика в PASCAL

Всем доброго времени суток!Народ поскажите плиз!Надо повернуть 4 графика которые расположенны по бокам на 30 60 и 120 оси я повернул а вот с графиком проблема!Вот код:
Uses CRT, Graph;
Var d,m,r,w,q:integer;
x, y, t:real;
Begin
InitGraph(d,m,'C:\TP\BGI');
SetColor (6);
OutTextXY(10,10,' x :=(R+q)*cos(t)-w*cos((R+q)*(t/q))');
OutTextXY(10,20,' y :=(R+q)*sin(t)-w*sin((R+q)*(t/q))');
{centr}
Line(320,160,320,320); Line(240,240,400,240);
Line(320,160,315,165); Line(400,240,395,235);
Line(320,160,325,165); Line(400,240,395,245);
OutTextXY(330,160,'Y'); OutTextXY(400,250,'X');
{pravo}
Line(451,291,round(451+200*cos(0.52 )),round(291-200*sin(0.52)));
Line(591,329,round(591-200*sin(0.52)),round(329-200*cos(0.52)));
Line(491,155,491,165); Line(625,193,620,203);
Line(491,155,502,160); Line(625,192,613,192);
OutTextXY(620,210,'X'); OutTextXY(500,150,'Y');
OutTextXY(400,300,'OSI POVERNYTI NA 30 GRADYSOV');
{verx}
Line(272,162,round(272+200*cos(1.04 )),round(162-200*sin(1.04)));
Line(410,133,round(410-200*sin(1.04)),round(133-200*cos(1.04)));
Line(368,0,368,10); Line(238,32,240,40);
Line(368,0,358,6); Line(238,32,248,32);
OutTextXY(375,7,'X'); OutTextXY(230,40,'Y');
OutTextXY(380,30,'OSI POVERNYTI NA 60 GRADYSOV');
{levo}
Line(10,240,190,240); Line(10,240,15,235);
Line(100,150,100,330); Line(10,240,15,245);
Line(100,150,95,155);
Line(100,150,105,155);
OutTextXY(10,220,'Y'); OutTextXY(110,150,'X');
OutTextXY(10,120,'OSI POVERNYTI NA 90 GRADYSOV');
{niz}
line(365,480,round(365+200*cos(2.09 )),round(480-200*sin(2.09)));
line(400,355,round(400-200*sin(2.09)),round(355-200*cos(2.09)));
Line (225,455,235,457); Line(265,305,265,315);
Line(225,455,230,444); Line(265,305,275,310);
OutTextXY(230,460,'Y'); OutTextXY(250,305,'X');
OutTextXY(10,400,'OSI POVERNYTI NA 120 GRADYSOV-->');
t:=0;
While t<= 7 do
begin
R:=16;
q:=2;
w:=1;
x :=(R+q)*cos(t)-w*cos((R+q)*(t/q));
y :=(R+q)*sin(t)-w*sin((R+q)*(t/q));
PutPixel(round(x*3) + 320, round(y*3) +240, 1); {centr}
PutPixel(round(x*1.5) + 540, round(y*3) +240, 2); {pravo}
PutPixel(round(x*1.5) + 320, round(y*3) +80 , 3); {verx}
PutPixel(round(x*1.5) + 100, round(y*3) +240, 4); {levo}
PutPixel(round(x*1.5) + 320, round(y*3) +400, 5); {niz}
t := t + 0.005;
end;
SetFillStyle(3,10);
FloodFill(320,240,1);
FloodFill(540,240,2);
FloodFill(320,80,3);
FloodFill(100,240,4);
FloodFill(320,400,5);
readln;
CloseGraph;
End.
Deniska112 вне форума Ответить с цитированием
Старый 06.12.2009, 20:07   #2
NeshSoft
Максим Николаев
Форумчанин
 
Аватар для NeshSoft
 
Регистрация: 15.02.2009
Сообщений: 170
По умолчанию

Могу подсказать сделать единую процедуру рисования графиков, но чтобы эта процедура могла работать с новыми координатами, т.е. перед рисованием каждого элемента запускала функцию, которая заменяла бы координаты.

При рисовании без поворота функция будет возвращать тоже значение, а если нужно повернуть, то функция будет заменять координаты на новые. Таким образом Вам понадобится отладить только одну функцию.
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
NeshSoft вне форума Ответить с цитированием
Старый 12.12.2009, 17:21   #3
Deniska112
Пользователь
 
Регистрация: 15.04.2009
Сообщений: 33
По умолчанию

а есть какая нибудь формула?Помогите плиз!!!
Deniska112 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика Pascal bpystep Помощь студентам 20 17.06.2009 21:10
графика pascal/Delphi world12_tk Помощь студентам 2 17.05.2009 16:44
pascal графика world12_tk Помощь студентам 1 25.04.2009 18:56
[Pascal] Графика Рамик Помощь студентам 5 15.04.2009 03:06