0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ProcessingでVJ素材を作るブログ 第四回 translateとrotate( ii )

Last updated at Posted at 2020-05-08

##rotate()を使ってみる
前回に引き続き基準点の移動について記載してみよう。
rotate()は軸を基準点から時計回りで傾ける関数だ。
中に入る引数はPI=180°として、PI/6などで表す。
前回触ったtranslate()を用いて、一回基準点を画面中央にして、軸をずらしてみよう。

sample.pde

void setup(){ 
  size(640, 640);
  background(0);
  stroke(255);
  
  
  translate(width/2,height/2 );
  
  fill(0);
  rect(100,0,100,30);
  rotate(PI/6);
  
  fill(30);
  rect(100,0,100,30);
  rotate(PI/6);
  
  fill(60);
  rect(100,0,100,30);
  rotate(PI/6);
  
  fill(90);
  rect(100,0,100,30);
  rotate(PI/6);
  
  fill(120);
  rect(100,0,100,30);
  rotate(PI/6);
  
  fill(150);
  rect(100,0,100,30);
  rotate(PI/6);
  
}

できた画像がこちら
image.png

全て同じ
rect(100,0,100,30);
なのに、徐々に傾いていってる。

これを応用すれば、ロード画面の動画はお手の物な訳で

sample.pde
  int num = 0;
  int numm;

void setup(){ 
  size(640, 640);
  background(0);
  stroke(255);
  frameRate(10);
}

void draw(){
  background(0);
  numm = num % 12;
  translate(width/2, height/2 );
  rotate(-PI/2+(PI /6)*numm);
  fill(numm * 10);
  rect(100,0,100,30);
  num++;
}

こんな感じ。
一定数超えたら初期値に戻す処理は、if使ってもいいけど、
最近数学にハマってる僕は、あまり使いたくなったのでそちらを採用。
rotateの中身に-PI/2入れているのは、最初スタートする位置を12時にしたかったからですね。

基準値の話はあと一回だけ続きます。

ではではー

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?