2017-10-18 21 views
1

p5.js를 사용하여 부드럽게 움직이는 프랙탈 트리를 만들려고합니다. 나는 모든 것을 동시에 생성하는 대신 하나씩 생성하는 방법을 전혀 모릅니다. 어떤 조언에 대한p5.js를 사용하여 부드럽게 움직이는 프랙탈 트리

function draw() { 
    background(51); 
    strokeWeight(5); 
    stroke(255, 0, 0); 
    translate(600, height); 

    drawLine(300); 
} 

function drawLine(length) { 
    miliseconds = millis()/10; 
    if(miliseconds < length) { 
     line(0, 0, 0, -miliseconds); 
    } 
    else { 
     line(0, 0, 0, -length); 
    } 

    translate(0, -length); 

    if(length > 50) { 
     push(); 
     rotate(PI/4); 
     drawLine(length * 0.67); 
     pop(); 
     push(); 
     rotate(-(PI/4)); 
     drawLine(length * 0.67); 
     pop(); 
    } 
} 

감사 :

여기 내 코드입니다!

답변

1

이 질문은 꽤 광범위합니다. 스택 오버플로는 일반적인 "어떻게해야합니까?"유형 질문을 위해 설계되지 않았습니다. 구체적으로 "나는 X를 시도했는데 예상 Y이지만 Z를 대신 입력"했습니다. 즉, 나는 일반적인 의미로 도우려고 노력할 것이다.

이렇게하는 방법 중 하나는 각 프레임에 그려지는 브랜치의 수를 추적하여 그 한계에 도달 할 때까지 그리기 만하면된다. . 모든 프레임을 다시 설정하는 스케치 수준 변수로이 작업을 수행하거나 drawLine() 함수의 인수로 전달할 수 있습니다.

int currentLimit = 1; 

void draw(){ 
    exampleRecursiveFunction(0, currentLimit); 
    currentLimit++; 
} 

void exampleRecursiveFunction(int count, int limit){ 
    drawMe(); 
    if(count < limit){ 
     exampleRecursiveFunction(count+1, limit); 
    } 
} 
:

여기에 내가 무슨 말을 아주 아주 기본적인 생각