Помощь - Поиск - Пользователи - Календарь
Полная версия: графика
Форум «Всё о Паскале» > 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) почитай вот это Круговое движение прямой
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.