01 点を描いてみよう

POINT-0100 点を描いてみましょう。キャンバスの大きさは400×400ピクセルにします。
キャンバスのセンターに描きます。点の描画にはpoint()関数を使います。
点はデフォルトでは1ピクセルになるので、見えにくいため10ピクセルにしています。

点を描く
構文point(x,y) x、y位置の座標に点を描く
デフォルトで1ピクセル、黒、点の大きさはstrokeWeight()で設定します。
stroke() で色設定できる
point(x,y,z)と言う3D対応もありますが別ポストで。
パラメータx y(float) x,y座標(ピクセル)
戻り値voidなし

POINT-0101 点を水平に等間隔で並べてみましょう。

POINT-0102 今度は縦横に等間隔に並べてみましょう。

POINT-0103 点の大きさをランダムにしてみましょう。random()関数を使用します。

乱数を生成
構文random(high)
random(low, high)
擬似乱数を生成します。パラメータが一つの場合は0〜highまでの値を返します。2つのパラメータの場合はlow以上high未満までの値を返します。
パラメータlow(float) 下限
high(float) 上限
戻り値float浮動小数点値

POINT-0104 この点をダブらせてみましょう。赤い点で描いた座標をpushMatrix()で保存しておきます。translate()で座標を移動し、そこに黒い点を描きます。popMatrix()で前に保存した座標に戻します。

これは失敗しました。ところどころで赤い円が黒い円に重なってしまいました。

座標の保存・復元
構文pushMatrix()現在の座標をスタックに保存します。popMatrix()と共に使用します。
戻り値voidなし
構文popMatrix()pushMatrixで保存した座標を復元します。
戻り値voidなし

POINT-0105 今度は下の円が上の円に重ならないようにします。ランダムなパターンを毎回同じに生成するようrandomSeed()を使用します。また円と円の間の色をグラデーションにするためlerpColor()を使用します。

構文randomSeed(seed)デフォルトでは、random() はプログラムを実行するたびに異なる結果を返します。同じシード値を使用すれば、同じ系列の乱数が生成されます。
パラメータseed(int) シード値とは、乱数生成の出発点となる数値です
戻り値voidなし
2色間の補完色設定
構文lerpColor(c1, c2, amt)c1とc2間の色をamtの量で補完します。簡単に言うと2色間のグラデーションの内の一色を作成します。
learp: Linear Interpolate (線形補間)
パラメータc1(int) この色から補間する
c2(int) この色に補間する
amt(float) 0.0から1.0の間
amt: amount
戻り値intカラー値

POINT-0106 点を同心円上に配置してみましょう。画像にアンチエイリアスがかかっていると不自然な部分が出たのでnoSmooth()でアンチエイリアスを無効にしています。アンチエイリアス(anti-aliasing)とは文字や画像を表示する際に、境界線に現れるギザギザ(ジャギー)を滑らかに見せる処理です。

アンチエイリアスを無効
構文noSmooth()画像のスムージングを無効にします。つまりアンチエイリアスをかけません。
戻り値voidなし

POINT-0107 点の大きさをランダムにしてみます。

POINT-0108 同じ径の黒い点にランダムな大きさの白い点を重ね書きしてみましょう。全画面にした方が見栄えが良く、何かビーズのような感じに見えます。

POINT-0109 ランダムな位置に点描してみましょう。

POINT-01010 カラーもランダムに付けてみましょう。

POINT-0111 カラーの不透明度もランダムにしてみます。効果を見やすくするため点を大きくしています。

POINT-0112 点の大きさもランダムにしてみます。

ヘッダー画像はChatGTPで作成しました。

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

コメント

コメントする

CAPTCHA


This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次