Создать губку Менгера, но чтобы ее можно было вращать - C#
Формулировка задачи:
Здравствуйте, ребята, у меня такой вопрос, надо создать Губку Менгера, на так что бы его можно было вращать, можете подсказать как это сделать в Visual Studio либо в любой среде программирования.
Решение задачи: «Создать губку Менгера, но чтобы ее можно было вращать»
textual
Листинг программы
- void drawCarpet(int n, float x1, float y1, float x2, float y2);
- #define maxRecursions 6
- int main(int argc, char *argv[])
- {
- screen(243, 243, 0, "SerpCover");
- cls(RGB_White);
- drawCarpet(1, 0, 0, w - 1, h - 1);
- redraw();
- sleep();
- return(0);
- }
- void drawCarpet(int n, float x1, float y1, float x2, float y2)
- {
- drawRect(int((2 * x1 + x2) / 3.0), int((2 * y1 + y2) / 3.0), int((x1 + 2 * x2) / 3.0) - 1, int((y1 + 2 * y2) / 3.0) - 1, RGB_Black);
- if(n < maxRecursions)
- {
- drawCarpet(n + 1, x1 , y1 , (2 * x1 + x2) / 3.0, (2 * y1 + y2) / 3.0);
- drawCarpet(n + 1, (2 * x1 + x2) / 3.0, y1 , (x1 + 2 * x2) / 3.0, (2 * y1 + y2) / 3.0);
- drawCarpet(n + 1, (x1 + 2 * x2) / 3.0, y1 , x2 , (2 * y1 + y2) / 3.0);
- drawCarpet(n + 1, x1 , (2 * y1 + y2) / 3.0, (2 * x1 + x2) / 3.0, (y1 + 2 * y2) / 3.0);
- drawCarpet(n + 1, (x1 + 2 * x2) / 3.0, (2 * y1 + y2) / 3.0, x2 , (y1 + 2 * y2) / 3.0);
- drawCarpet(n + 1, x1 , (y1 + 2 * y2) / 3.0, (2 * x1 + x2) / 3.0, y2 );
- drawCarpet(n + 1, (2 * x1 + x2) / 3.0, (y1 + 2 * y2) / 3.0, (x1 + 2 * x2) / 3.0, y2 );
- drawCarpet(n + 1, (x1 + 2 * x2) / 3.0, (y1 + 2 * y2) / 3.0, x2 , y2 );
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д