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

【Processing】spotLight()関数の使い方【特定の場所を強調して明るくする】

【Processing】spotLight()関数の使い方【特定の場所を強調して明るくする】
  • URLをコピーしました!
ワタタク

今回の記事の目的はProcessingの「spotLight()関数」を理解し、自分なりに使ってみること。

記事内のProcessingのバージョンは4.3。

目次

【Processing】spotLight()関数について

spotLight()関数について
  • spotLight()は「スポットライト」という意味
    • 特定の場所を明るく照らすライトのこと
  • spotLight()関数は、Processingで特定の場所を強調して明るくするために使う
    • 絵の中で特定の部分を目立たせたいときなど

【Processing】spotLight()関数の主な書き方

以下のように書きます。

spotLight(v1, v2, v3, x, y, z, nx, ny, nz, angle, concentration);

  • v1, v2, v3: スポットライトの色を決める。
    • v1は赤、v2は緑、v3は青の成分です。
    • vはvalue(値)の略
  • x, y, z: スポットライトの位置を決める
    • xは横の位置、yは縦の位置、zは奥行きの位置
  • nx, ny, nz: スポットライトが向かう方向を決めます
    • nxは横の向き、nyは縦の向き、nzは奥行きの向き
    • nは「normal(法線)」の略
    • ポットライトが向かう方向を示すベクトルの成分で、それぞれ横方向、縦方向、奥行き方向を表しています。これらの値を使って、スポットライトの向きを設定
  • angle: スポットライトの広がり具合を決める。値が大きいほど広がる
  • concentration: スポットライトの集中度を決める。値が大きいほど集中する

【Processing】spotLight()関数の使い方【コード】

void setup() {
  size(400, 400, P3D); // 3Dモードでキャンバスを設定
  noStroke(); // 球体の輪郭線を消す
}

void draw() {
  background(0); // 背景を黒に設定

  // スポットライトを設定
  spotLight(0, 0, 255, 200, 200, 200, 0, 0, -1, PI/4, 50);

  // 球体を描く
  translate(width/2, height/2, 0); // 球体を画面の中央に移動
  sphere(100); // 半径100の球体を描く
}

【Processing】spotLight()関数はどんな表現で使えそうか

球体などの3D表現を、部分的に明るくしたい場合に使う。

【Processing】spotLight()関数を使ってみた感想

他の光を当てる構文よりも、数値と光の当たり方がイメージしやすい。

ワタタク

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

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