0 / 0 / 1
Регистрация: 13.02.2010
Сообщений: 46
|
|
1 | |
Рекурсивное разбиение прямоугольной области правильным n-угольником03.03.2011, 23:32. Просмотров 555. Ответов 1
Метки нет Все метки)
(
Имеется алгоритмический язык.Помогите реализовать на паскале.
алг RectangleDraw(арг цел Current_It,int Count_It, арг вещ Radius, Xc, Yc, арг цел n) нач цел i; если Current_It = Count_It то Count1:= Count1+1; если (Xc - Radius >= Xm и Xc + Radius <= XM и Yc - Radius >= Ym и Yc + Radius <=YM ) то нц для i от 0 до n Coord[i].x:=IX(Xc + Radius*cos(i*2*M_PI/n)) Coord[i].y:=IY(Yc + Radius*sin(i*2*M_PI/n)) кц Coord[n]:=Coord[0] Polygon(Coord,n+1) все иначе нц для i от 0 до n RectangleDraw (Current_It+1, Count_It, Radius/2., Xc+Radius/2. *cos(i*2*M_PI/n),Yc +Radius/2.*sin(i*2*M_PI/n),n) RectangleDraw (Current_It+1,Count_It, Radius/2.,Xc, Yc, n) кц все кон алг RunProcess нач цел j, NumberG, IterNo, Xm, Ym, XM, YM; вещ Radius, Xc, Yc; Radius:= sqrt(pow(XM - Xm,2)+pow(YM - Ym,2))/2.; Xc = Xm+(XM - Xm)/2. Yc = Ym+(YM - Ym)/2.; нц для j от 1 до IterNo RectangleDraw(1,j,Radius,Xc,Yc, NumberG) кц кон Iax=(double)(right - top -10)/(MaxX - MinX); Ibx=(double)(right -5 - Iax*MaxX); Iay=(double)(bottom - top -10)/(MinY - MaxY); Iby=(double)(bottom -5 - Iay*MinY); IX(double x) Iax*x+Ibx+0.5; IY(double y) Iay*y+Iby+0.5
0
|
|
03.03.2011, 23:32 | |
Раскраска произвольной прямоугольной области Рекурсивное разбиение прямоугольной области правильным n-угольником Разбиение окна на области? Движение по прямоугольной области |
|
![]() 623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
|
03.03.2011, 23:39 | 2 |
Вы не ошиблись разделом? Вам, вероятно, сюда https://www.cyberforum.ru/pascal/
1
|
03.03.2011, 23:39 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Выделение прямоугольной области в datagridview найти массу прямоугольной области Раскраска произвольной прямоугольной области WinCE Событие клика в прямоугольной области Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |