Processing에서 VJ 소재를 만드는 블로그 제5회 translate와 rotate( iii )

1801 단어 processing

pushMatrix() 및 popMatrix()



지난번 까지 기준점 이동, 기준 좌표의 기울기를 보았습니다.

깨끗이 본 느낌 기준점의 이동은, 인수의 계산으로 대체해 오는 것은? 라고 생각하거나 합니다만, 아무튼 복잡한 코드를 읽어내는 힘도 없기 때문에 둘 때 합시다.

오늘은 pushMatrix(), popMatrix().
pushMatrix()는 기준점, 기준 좌표 기울기 정보 저장,
popMatrix()는 pushMatrix()로 저장한 정보의 전개.

translate()는 흥미롭지 않으므로 rotate()를 사용해 보았습니다.

sample.pde
void setup(){ 
  size(640, 640);
  background(0);
  stroke(255);
  frameRate(10);

  translate(width/2, height/2 );
  rotate(-PI/2);
  pushMatrix();
  fill(255,0,0);
  rect(100,0,100,30);
  rotate(PI/6);
  fill(255);
  rect(100,0,100,30);
  popMatrix();
  fill(255);
  rotate(PI/3);
  rect(100,0,100,30);

}

완성도는 이런 느낌.


popMatrix()를 사용하지 않는 다음 코드라면,

sample.pde
void setup(){ 
  size(640, 640);
  background(0);
  stroke(255);
  frameRate(10);

  translate(width/2, height/2 );
  rotate(-PI/2);
  //pushMatrix();
  fill(255,0,0);
  rect(100,0,100,30);
  rotate(PI/6);
  fill(255);
  rect(100,0,100,30);
  //popMatrix();
  fill(255);
  rotate(PI/3);
  rect(100,0,100,30);

}

완성도는 다음과 같습니다.
(3번째 rotate가 PI/6+PI/3=PI/2가 되어 버리는군요.)



조금 VJ 같은 동영상을 만들고 싶습니다만, 아무튼 천천히 해주면 좋겠다고 생각합니다.
동영상 만들기로 해도 아이디어가 필요하네요. 어떻게 할까.

이상, translate와 rotate였습니다.

좋은 웹페이지 즐겨찾기