![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.04.2009
Сообщений: 33
|
![]()
Всем доброго времени суток!Народ поскажите плиз!Надо повернуть 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. |
![]() |
![]() |
![]() |
#2 |
Максим Николаев
Форумчанин
Регистрация: 15.02.2009
Сообщений: 170
|
![]()
Могу подсказать сделать единую процедуру рисования графиков, но чтобы эта процедура могла работать с новыми координатами, т.е. перед рисованием каждого элемента запускала функцию, которая заменяла бы координаты.
При рисовании без поворота функция будет возвращать тоже значение, а если нужно повернуть, то функция будет заменять координаты на новые. Таким образом Вам понадобится отладить только одну функцию.
NeshSoft. Программирование на заказ для студентов. Delphi/Pascal. Подробнее на сайте neshsoft.narod.ru
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.04.2009
Сообщений: 33
|
![]()
а есть какая нибудь формула?Помогите плиз!!!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Графика 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 |