質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

1回答

1659閲覧

processingで八角形のクリッピングをしたい

meggy

総合スコア6

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

1クリップ

投稿2019/01/14 06:03

前提・実現したいこと

processingで八角形のクリッピングをしたいです。
以下のように太い円でクリッピングすることで、中心に円の中でのプログラムを演出しているのですが、このellipseの部分を八角形にしたいのですが、やり方がわかりません。
processing初心者のもので、どなたか教えていただけると嬉しいです。

該当のソースコード

//切り抜き(極太線でクリッピングの様に見せる)
void clippingCircle() {
fill(255.0f, 0.0f);
stroke(0);
strokeWeight( 200 );
ellipseMode(CENTER);
ellipse(width/2, height/2, height+200, height+200);
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

同様の手法でやるなら例えばこんな。
中心から離れたところに四角を描く、それを何回か回して繰り返すことで多角形のマスクを生成します。

Processing

1void polygonMask(int n, float ratio, float tilt) { 2 pushMatrix();//座標系をいじるので、現状を保存しておく 3 fill(0); 4 translate(width/2, height/2);//ここを回転中心にする 5 rotate(radians(tilt));//初期値tilt度回す 6 for (int i=0; i<n; i++) { 7 rect(-width, height/2*ratio, 2*width, height); //中心からheight/2*ratio離れたところに大きな四角を描いて中心より外側を隠す 8 rotate(2*PI/n);//n角形の中心角分まわす 9 } 10 popMatrix();//座標系を復帰 11} 12 13void setup() { 14 size(500, 500); 15} 16 17final int vertex=8; //多角形の角数 18int r; //回転角度 19float s; //マスクのサイズ 20void draw() { 21 background(204); 22 polygonMask(vertex, s, r/2); 23 r=(r+1)%(360*2); //rの値を0~720で循環させる 24 s=0.5+0.2*sin(radians(r/2));//膨らんだり縮んだりさせる 25}

投稿2019/01/14 09:26

編集2019/01/14 09:28
thkana

総合スコア7645

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meggy

2019/01/14 15:12

迅速なお返事ありがとうございました!やってみます!
meggy

2019/01/14 15:53 編集

回転や伸縮をなく、ただの八角形のマスクにしたいのですが、その場合はどのようになりますか?
thkana

2019/01/14 22:46

どうすればよさそうだと思いますか? 間違ってもパソコンが爆発したりはしませんから、いろいろ試されるとよろしいかと思います。 難しいことはやっていないので、teratailの対象である「技術に興味のある人」なら、しばらくいじればわかるのではないでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問