Создать губку Менгера, но чтобы ее можно было вращать - 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        );
  }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы