Новый участник
Сообщения: 1
Благодарности: 0
|
Профиль
|
Отправить PM
| Цитировать
ЕСТЬ КОД НА ПАСКАЛЬ, НУЖНО ПЕРЕВЕСТИ НА С++, пожалуйста!!!
uses crt,graph;
{процедура вращения точки вокруг центра}
procedure Vrash(a:real;var x,y:integer;const centrx,centry:integer);
var px:integer;
begin
x:=x-centrx;
y:=y-centry;
a:=a*pi/180;
px:=x;
x:=round(x*cos(a)-y*sin(a))+centrx;
y:=round(y*cos(a)+px*sin(a))+centry;
end;
var gd,gm:integer;
tx,ty,ax,ay,bx,by:integer;
tax,tay,tbx,tby:integer;
r,w:integer;
a:real;
begin
gd:=0;
initgraph(gd,gm,'');
outtextXY(50,20,'Vyhod - Any key...');
r:=100; {радиус окружности}
w:=200; {длина отрезка прямой}
tx:=getmaxX div 2;ty:=getmaxY div 2; {центр экрана}
{координаты концов отрезка}
ax:=tx-r;ay:=ty-(w div 2);
bx:=ax; by:=ay+w;
{Setcolor(12);
Circle(tx,ty,r-1);{окружность}
a:=0;
repeat
{в цикле меняем координаты концов, соединяем их линиями}
tax:=ax;tay:=ay;Vrash(a,tax,tay,tx,ty);
tbx:=bx;tby:=by;Vrash(a,tbx,tby,tx,ty);
setcolor(11);
line(tax,tay,tbx,tby);
{делаем задержку и все стираем(рисуем цветом фона)}
delay(10);
setcolor(0);
line(tax,tay,tbx,tby);
a:=a+1;{увеличиваем угол поворота}
until keypressed;
end.
|