ofNoiseを使ってみる
demo
再描画処理をしないで、円を描き続けていると、線を描いているように見えます。円の位置をofNoiseを使って、少し規則性のあるランダムを用いて円を描いています。
code
実は上の動画のコードとは少し違いますが、やってることは大体同じなので載せてみます。
#include "ofApp.h" float x; float xNoise; float yNoise; //-------------------------------------------------------------- void ofApp::setup(){ ofBackground(255); x = 0.0; xNoise = 0.0; yNoise = 0.0; }
変数の初期化をします。
void ofApp::update(){ if(x > ofGetWidth()){ x = 0; } x += 1; xNoise += 0.1; yNoise += 0.1; }
ノイズを増加させます。
void ofApp::draw(){ ofSetColor(0, 0, 0); ofCircle(x, ofGetHeight() / 2 + ofNoise(yNoise) * 50, 10); }
ofNoiseにノイズを渡して、乱数を生成しています。
円をゆらゆらさせて動かす
code
今度は再描画処理をしているので、円が移動しているように見えます。円の数を増やしてみました。
radius = ofRandom(velocity.x * 1.2,velocity.x * 3.5);
円の半径をx方向の速度を使って決めています。これにより遅い円は小さい半径となり、遠近感が出たように感じます。