Цитата:
Сообщение от Зюня,0
Нарисовать равнобедренный прямоугольный треугольник, если радиус описанной окружности равен 45, треугольник поворачивается вокруг вершины на угол 15 градусов, делая полный оборот. (при необходимости координаты вершин рассчитываются).
|
Прежде всего, задание параметров инициализации графического режима Вам необходимо сделать самостоятельно. Просто потому, что для каждого компьютера это индивидуально (драйверы, их расположение и т.д.). Подробно этот вопрос рассмотрен, например, в теме
Турбо Паскаль. Задание на анимацию.
Далее, замечаем, что радиус описанной окружности в данном случае равен высоте треугольника, или половине основания (оно же - гипотенуза).
Вроде всё.
Код:
Uses CRT,Graph;
Const
RC=45;
Var
R,XA,XB,YA,YB,FClr,BClr,i,Xc,Yc:Word;
Angle:Real;
Procedure Triang(Color:Word);
begin
SetColor(Color);
XA:=Xc+Round(R*Cos(Pi/4+Angle));
YA:=Yc-Round(R*Sin(Pi/4+Angle));
XB:=Xc+Round(R*Cos(-Pi/4+Angle));
YB:=Yc-Round(R*Sin(-Pi/4+Angle));
Line(Xc,Yc,XA,YA);
Line(Xc,Yc,XB,YB);
Line(XA,YA,XB,YB);
end;
Begin
InitGraph(..., ..., ...); {Тут - самостоятельно!}
SetLineStyle(SolidLn,0,ThickWidth);
R:=Round(RC*Sqrt(2));
Xc:=GetMaxX div 2;
Yc:=GetMaxY div 2;
FClr:=GetColor;
BClr:=GetBkColor;
for i:=0 to 24 do
begin
Angle:=Pi/12*i;
Triang(FClr);
if i<24 then
begin
Delay(1000);
Triang(BClr);
end;
end;
SetColor(FClr);
SetTextJustify(CenterText,BottomText);
OutTextXY(Xc,2*Yc-10,'Press any key to quit...');
Readkey;
CloseGraph;
End.