ProcessingでVJ素材を作るブログ 第五回 translateとrotate( iii )
pushMatrix()とpopMatrix()
前回までで基準点の移動、基準座標の傾きを見てきました。
さらっと見た感じ基準点の移動は、引数の計算で代替えきくのでは?とか思ったりしますが、まぁ複雑なコードを読み解く力もないので置いときましょう。
今日はpushMatrix(), popMatrix()。
pushMatrix()は基準点、基準座標の傾き情報の保存、
popMatrix()はpushMatrix()で保存した情報の展開。
translate()は面白くないので、rotate()を使ってみました。
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()を使わない以下のコードだと、
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でした。
Author And Source
この問題について(ProcessingでVJ素材を作るブログ 第五回 translateとrotate( iii )), 我々は、より多くの情報をここで見つけました https://qiita.com/naoya_vj/items/ae2ab91b4b08687cea08著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .