お世話になっております。
今processingのpushMatrix()とpopMatrix()をいじっていて疑問が生まれたためご質問をさせて頂きました。
この二つの関数で座標を保存し、一連のコードが終わったら元の座標に戻すことはわかりました。
ですがこの下のコードの中のA,C{pushMatrix()}とB,D{popMatrix()}がない時に、矩形2が矩形1を中心に回っており、それがpushMatrix()とpopMatrix()があることで矩形1も矩形2も矩形の中心から回るようになった流れがうまく掴み取れませんでした。
多分なのですが矩形1から矩形2が終わるまでの座標の遷移が掴めていないような気がしています。。。
上手くまとめられず、読みにくくすいません。もしわかる方がいました、是非お力を貸して頂きたいです。
よろしくお願いしますm(_ _)m
proccesing
1float angle = 0.0; //回転角度 2 3//初期設定 4void setup(){ 5 //画面初期設定 6 size(800,600); 7 frameRate(60); 8 fill(0,127,255); 9 noStroke(); 10} 11 12//繰り返し描画 13void draw(){ 14 background(0); 15 16 //矩形1 17 pushMatrix(); //座標を保存する・・・A 18 translate(width/4,height/4); 19 rotate(angle); 20 rectMode(CENTER); 21 rect(0,0,100,100); 22 popMatrix(); //保存した座標に復元する・・・B 23 24 //矩形2 25 pushMatrix(); //座標を保存する・・・C 26 translate(width/2,height/2); 27 rotate(angle); 28 rectMode(CENTER); 29 rect(0,0,200,200); 30 popMatrix(); //保存した座標に復元する・・・D 31 32 //角度を更新する 33 angle += 0.1; 34} 35

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/28 18:04