Skip to content

재귀적 아크 패턴

Published:Edit

스크린샷

스크린샷

스크린샷

스크린샷

스크린샷

스크린샷

Processing을 활용하여 재귀적 패턴의 아크(arc)를 그리는 작업을 진행했습니다. 이 작업은 재귀 함수를 활용하여 점점 커지는 원호를 그리면서 회전하는 패턴을 만들어냅니다.

소스 코드

float theta;
float a = 4;

void setup() {
  size(1440, 850);
}

void draw() {
  background(240);
  frameRate(120);
  noFill();
  stroke(80);
  strokeWeight(21);
  strokeCap(PROJECT);
  translate(width/2, height/2);

  if (a>500){
    a = 0;
  }
  a += 0.0625;
  theta = radians(a);

  pushMatrix();
  drawArc(theta, 50);
  popMatrix();
}

void drawArc(float h, float r) {
  if (r < height-50) {
    arc(0, 0, r, r, 0, h);
    rotate(theta);
    drawArc(h, r+38);
  }
}

코드 설명

재귀적 패턴을 활용한 작업입니다. 간단한 코드로 흥미로운 패턴을 만들어냅니다. drawArc 함수는 재귀적으로 호출되면서 점점 커지는 원호를 그립니다.

주요 매개변수들:

재귀 호출은 원호의 크기가 화면 높이에 거의 도달할 때까지 계속되며, 이는 if (r < height-50) 조건문으로 제어됩니다. 각 프레임마다 전체 패턴이 다시 그려지면서 동적인 애니메이션이 만들어집니다.

이러한 재귀적 패턴의 코드는 복잡한 기하학적 패턴을 간단한 규칙으로 만들어낼 수 있다는 점에서 효과적입니다. Processing을 활용하면 이러한 패턴을 시각적으로 즉시 확인할 수 있어 코딩을 통한 예술적 표현을 쉽게 경험할 수 있습니다.

원문: https://randomflik.blogspot.com/2017/10/171022-processing-work.html


Previous Post
Recursive Blossom by Processing
Next Post
Processing으로 구현한 재귀적 패턴 연습