トップページに、Processingについて書いた記事を、辞書のように見つけやすくしてみました

【Processing】strokeJoinの使い方【四角柱などの輪郭を調整するのに役に立った】

【Processing】strokeJoinの使い方【四角柱などの輪郭を調整するのに役に立った】
  • URLをコピーしました!
ワタタク

Processingで四角柱を作ってみたんだけど、輪郭を太くすると端っこがはみ出たりする。どうしたら端っこをしっかりと合わせることができるんだろう?

ProcessingのstrokeJoinを使う前は、以下の画像のように、四角柱の輪郭線を太くすると、端っこが合わず変な形になってはみ出ていました。

ProcessingでstrokeJoinを使わずに四角柱を描くと、端っこがはみ出ている。

そんな端っこはみ出る問題を、strokeJoinのおかげで解決することができました。

Processing、strokeJoinのROUNDを使うことによって、四角柱のはしっこがはみ出なくなった。
ワタタク

strokeJoinの意味など、深く理解しながら端っこをはみ出ないように調整した方法をお伝えします。

この記事を書いた人
ワタタク
  • クリエイティブコーディング初心者が、アーティストとして活躍するまでの上達の過程を発信
  • コンセプトは「クリエイティブコーディング1万時間の歩き方」
  • 参考にしてもらえるブログにするため、Processingを独学で勉強して共有中

目次

【Processing】strokeJoinの英語の読み方と意味

strokeJoinの英語について
英語の読み方ストロークジョイン
英語の意味輪郭の接合
ワタタク

ストロークが短い線、ジョインが接合という意味。

なんのためにProcessingでstrokeJoinを使うの?

ProcessingでstrokeJoinを使う理由

図形の輪郭線の角の形を調整するために使います。

【Processing】strokeJoinはどんなアートのジャンルで使うの?

strokeJoinを使うアートジャンル
  • 図形
  • 幾何学
  • ミニマリズム

【Processing】strokeJoinの書き方のルール3つ(構文)

◯を◯で書く方法と説明
書き方strokeJoin(3種類のモード);
3種類のモードに書く内容1 BEVEL(英語の斜面という意味)
2 MITER(英語の額縁仕立てという意味)
3 ROUND(英語の丸という意味)
3種類のモードを入力したらどうなるか1 BEVELは四角い角になる
2 MITERは鋭い四角い角になる
3 ROUNDは丸い角になる

実際に書くときの例。

  • strokeJoin(BEVEL);
  • strokeJoin(MITER);
  • strokeJoin(ROUND);

BEVELの例

size(1000, 1000);
background(#c0e4f2);
stroke(0);
strokeWeight(70);
strokeJoin(BEVEL);//四角い角になる
fill(#fffcd7); 
rectMode(CENTER);

rect(500, 500, 500, 500);
Processing。strokeJoinでBEVELを入力した例。

MITERの例

size(1000, 1000);
background(#c0e4f2);
stroke(0);
strokeWeight(70);
strokeJoin(MITER);//鋭い四角い角になる
fill(#fffcd7); 
rectMode(CENTER);

rect(500, 500, 500, 500);
Processing。strokeJoinでMITERを入力した例。

ROUNDの例

size(1000, 1000);
background(#c0e4f2);
stroke(0);
strokeWeight(70);
strokeJoin(ROUND);//丸い角になる
fill(#fffcd7); 
rectMode(CENTER);

rect(500, 500, 500, 500);
Processing。strokeJoinでROUNDを入力した例。
ワタタク

表現したい角に合わせて、それぞれ使い分けるといいね。

【Processing】strokeJoinのBEVEL・MITER・ROUNDを1つのプログラムの中で同時に使う

図形ごとに、strokeJoinを設定すれば、設定した角の図形を作れます。

size(1000, 1000);
background(#c0e4f2);
stroke(0);
strokeWeight(50);

fill(#fffcd7); 
rectMode(CENTER);

strokeJoin(BEVEL);//左上。四角い角になる
rect(200, 200, 200, 200);

strokeJoin(MITER);//真ん中。鋭い四角の角になる
rect(500, 500, 200, 200);

strokeJoin(ROUND);//右下。丸い角になる
rect(800, 800, 200, 200);
Processing。strokeJoinでBEVEL、MITER、ROUNDを1つのプログラムの中で描いた例。

ProcessingのstrokeJoinのデメリット

四角柱で角の端っこを調整したい場合、ROUNDを使うので角が丸くなってしまう。

ワタタク

BEVELやMITERで四角柱をつくる場合は、はみ出た角の線を点(Processingのpointの構文)を背景色に合わせて使って、はみ出た線を見えなくする必要があります。

ProcessingのstrokeJoinで、気をつけたいエラー

BEVEL・MITER・ROUNDは大文字で書くこと。

上記3つそれぞれ書き間違いに注意すること。

ワタタク

僕はMITERをMITTERとTを1つ多く書いてしまってエラーになったことがあります。気をつけないと。

【Processing】strokeJoinを学んでいた感じた疑問1つを解決

strokeJoinを使わないときは、BEVEL・MITER・ROUNDのどれが設定されている?(デフォルトではどのモードなのか。)

デフォルトではMITERが設定されています。

strokeJoinを書かないなら、図形の角は自動的にstrokeJoin(MITER);になります。

【Processing】strokeJoinを学ぶと、世界の感じ方がこう変わる

机の角とか、額縁などを見ると、BEVEL・MITER・ROUNDを思い浮かべるようになりました。

ワタタク

何かしらの角を見れば、strokeJoinのことを思い出すことがあります。いい復習になりますね。

strokeJoinのおかげで、図形表現がさらに楽しくなった

いやー四角柱の輪郭太くするとぴたっと合わなくなるの本当に困っていて、保留にしていたんですよ。

Processingの学習を進めていてstrokeJoinという構文と出会ったときに「これはもしかして四角柱の端っこ問題が解決するんじゃないか?」と思って試してみたら、解決できました。

ほぼ1ヶ月くらい保留にしていた問題だったので、上手くいってめちゃくちゃ嬉しかったですね。

分からないことはメモして貼っておき、新しい構文を覚えたときに「保留にしている問題を解決できるか?」ということも考えながら学習を進めていきます。

ワタタク

それでは今日もレッツワクワクコーディング。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次