ここから本文です

processingについて 座標系を-π/6回転させて書いた図形を元の座標系のx軸方向に動...

es0********さん

2019/5/2020:50:19

processingについて
座標系を-π/6回転させて書いた図形を元の座標系のx軸方向に動かしたいんですがどうすればいいとおもいますか?

補足座標系じゃなくて座標軸です

閲覧数:
27
回答数:
3
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

zxq********さん

2019/5/2503:52:41

1)表示させたい位置にtranslate(x,y)して、その位置を原点にする
2)座標系を-π/6回転させる=rotate
3)原点に表示させる

この手順でやります。

これ以降にも処理があってまた元の座標系に戻す必要があれば
1)-3)の手順の前に
pushMatrix()しておいて
最後にpopMatrix()すれば元の座標系に戻すことができます。

以下、例です。

void setup(){
size(640,640);
rectMode(CENTER);
}

void draw(){
background(0);
translate(mouseX,mouseY);
rotate(-PI/6);
rect(0,0,100,100);
}

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

prw********さん

2019/5/2109:18:07

>座標系を-π/6回転させて書いた図形を元の座標系のx軸方向に動かしたい

こうします

「どうすればいいとおもいますか」とありますが、具体的には『検索して出てきた答えをそのまんま真似る』です

***

class Sprite{
int x, y;
int w, h;

int v;
int vx, vy;

float theta;

Sprite(int a, int b, int c, int d){
this.x = a;
this.y = b;
this.w = c;
this.h = d;

this.theta = - PI / 6;
this.vx = 2;
this.vy = 0;
}

void update(){
this.x += vx;
this.y += vy;
}

void draw(){
fill(255, 0, 0);
ellipseMode(CENTER);

// 画像を回転するには | 自己啓発。人生について考える
// http://mslabo.sakura.ne.jp/WordPress/make/processing%E3%80%80%E9%80...
pushMatrix();
translate(x+w/2, y+h/2);
imageMode(CENTER);
rotate(theta);
ellipse(0,0,w,h);
imageMode(CORNER);
popMatrix();
}
}

Sprite img;

void setup(){
size(800, 600);
img = new Sprite(0, height/2, 50, 60);
}

void Update(){
img.update();
}

void Draw(){
background(0);
img.draw();
}

void draw(){
Update();
Draw();
}

プロフィール画像

カテゴリマスター

qui********さん

2019/5/2021:40:26

「いい」かどうかの評価軸は?

とりあえず、画を消して新しい位置に描き直せばやりたいことは出来るんじゃないかと思いますけれど。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる