Помощь - Поиск - Пользователи - Календарь
Полная версия: графика
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Lida
Надо составить программу, изображающую в центре экрана отрезок длины L, вращающийся вокруг одного из своих концов. То есть получается что один конец отрезка - в центре окружности. А другой конец - скользит по этой окружности.
Вот, написала чото. Но почему-то в двух местах конец отрезка не плавно перемещается по окружности а "перепрыгивает" через кучу точек ! blink.gif
Посмотрите пожалуйста :

Program rotation;
Uses
Crt,
Graph;
Var
L,x,y:Integer;
Gd,Gm:Integer;
Begin
Clrscr;
Write('Длина отрезка-->');
Readln(L);
DetectGraph(Gd,Gm);
InitGraph(Gd,Gm,'C:\PROGRA~1\TUBOPA~1\BP\BGI');
ClearDevice;
SetLineStyle(0,0,3);
Repeat
For x:=320-L To 320+L Do
Begin
ClearDevice;
y:=Trunc(sqrt(sqr(L)-sqr(x-320))+240);
Line(320,240,x,y);
Delay(5);
End;
For x:=320+L Downto 320-L Do
Begin
ClearDevice;
y:=Trunc(240-sqrt(sqr(L)-sqr(x-320)));
Line(320,240,x,y);
Delay(5);
End;
Until keypressed;
Readln;
CloseGraph;
End.

мисс_граффити
1) попробуй увеличить задержки
2) почитай вот это Круговое движение прямой
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.