Помощь - Поиск - Пользователи - Календарь
Полная версия: Нарисовать окружность из квадратов
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
DaNTeS
Здраствуйте!
Нужно нарисовать окружность из 36 квадратов с помощью While(именно его), как это сделать в голове
не укладывается wacko.gif , максимум что получается эт ромб blink.gif поможИте чем можИте cray.gif

 ! 
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...



М
Я поправил, в следующий раз тему закрою, читай правила

klem4
Нужно нарисосвать именно окружность из квадратов, или окружность из квадратов, заполненную квадратами ?
DaNTeS
Именно окружность из квадратов
мисс_граффити
то есть на окружности должны оказываться центры квадратов. зная координаты центра квадрата (точка пересечения диагоналей) сможешь найти координаты его верхнего левого и правого нижнего углов?
polic
Цитата
ужно нарисовать окружность из 36 квадратов с помощью While(именно его)
с помощью цикла чтоли?
klem4

i := 0;
while (i <= 350) do begin

x := Round(100 * sin(i) + cx); { эти точи - точки, лежащие на окружности с радиусом 100 и центром в точке cx, cy}
y := Round(100 * cos(i) + cy);

// отрисовка квадратов тут, используя x,y

inc(i, 10);
end;


36 штук ...
volvo
Как ромб-то у тебя вышел? blink.gif blink.gif

...
i := 1;
while i <= 36 do begin
angle := (i - 1) * 10;
X := getmaxx div 2 + trunc(R * cos(angle * Pi / 180));
Y := getmaxy div 2 + trunc(R * sin(angle * Pi / 180));

rectangle(X - size, Y - size, X + size, Y + size);
inc(i);
end;
...


R - радиус окружности
size - сторона квадрата...

klem4 - работать с углами в РАДИАНАХ... Где написать это, чтобы было видно?
klem4
Ой да, так лажа получается, мой косяк, забыл ...
DaNTeS
Пасибо!!..пойду тестить -)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.