Создать губку Менгера, но чтобы ее можно было вращать - 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 ); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д