サイト内検索

メインメニュー

ログイン
ユーザID または e-mail:

パスワード:

IDとパスワードを記憶

パスワード紛失

オンライン状況
9 人のユーザが現在オンラインです。 (8 人のユーザが ウェブログ を参照しています。)

 登録ユーザ: 0
 ゲスト: 9

もっと...

ウェブログ カレンダー
« « 2010 9月 » »
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 1 2

最新ブログ記事

最近のコメント

最近のトラックバック

|
ウェブログ - ひろゆきの記事
|
 ひろゆきの記事配信

2006/08/11 Fri
 BitmapDataでノイズ生成 (2)
カテゴリ: flash : actionscript : 
BitmapDataクラスを用いて、ノイズ(Perlin Noise)を生成してみよう!
BitmapData.perlinNoise() なのだ。

要 Flash Player 8 以上


_root にムービークリップ(インスタンス名: noise_mc) を配置。

_root 第1フレームに

import flash.display.BitmapData;

var noise_bd:BitmapData = new BitmapData(320, 240, true);
noise_mc.attachBitmap(noise_bd, 1);

var baseX:Number = 80;
var baseY:Number = 80;
var numOctaves:Number = 1;
var randomSeed:Number = 1;
var stitch:Boolean = false;
var fractalNoise:Boolean = false;
var red:Boolean = true;
var green:Boolean = true;
var blue:Boolean = true;
var grayScale:Boolean = false;
var xOffset:Number = 0;
var yOffset:Number = 0;

function createPerlinNoise():Void {
    var channelOptions:Number = 1*red + 2*green + 4*blue;
    var offsets:Object = {x: xOffset, y: yOffset};

    noise_bd.perlinNoise(baseX, baseY, numOctaves, randomSeed, stitch, fractalNoise, channelOptions, grayScale, offsets);
}
createPerlinNoise();

と記述。

baseX, baseY, numOctaves, randomSeed, stitch, fractalNoise,
channelOptions, grayScale, offsets の値を変えて、
createPerlinNoise() 関数を実行すれば、
ノイズ(Perlin Noise)を変化させて生成することができます。


参考資料「BitmapData.perlinNoise()メソッド

perlinNoise (BitmapData.perlinNoise メソッド)

public perlinNoise(baseX:Number, baseY:Number, numOctaves:Number, randomSeed:Number, stitch:Boolean, fractalNoise:Boolean, [channelOptions:Number], [grayScale:Boolean], [offsets:Object]) : Void

Perlin ノイズイメージを生成します。

使用できるバージョン
ActionScript 1.0、Flash Player 8
パラメータ
baseX:Number
x 方向で使用する周波数。たとえば、64×128 のイメージに見合うサイズのノイズを生成するには、baseX 値として 64 を指定します。
baseY:Number
y 方向で使用する周波数。たとえば、64×128 のイメージに見合うサイズのノイズを生成するには、baseY 値として 128 を指定します。
numOctaves:Number
このノイズを作成するときに組み合わせるオクターブ (つまり個々のノイズ関数) の数。オクターブ数を多くすると、よりきめ細かいイメージを作成できます。オクターブ数を増やすと、処理時間も長くなります。
randomSeed:Number
ランダムシード (乱数の種) として使用する数値。他のすべてのパラメータを同じままにした場合、ランダムシードの値を変更することでさまざまな疑似乱数を生成できます。Perlin ノイズ関数は、マッピング関数であり真の乱数生成関数ではありません。このため、同じランダムシードから毎回同じ結果が作成されます。
stitch:Boolean
ブール値。true の場合、このメソッドは、イメージのトランジションエッジをスムーズにして、ビットマップ塗りとしてタイリング用のシームレスなテクスチャの作成を試みます。
fractalNoise:Boolean
ブール値。true の場合、このメソッドはフラクタルノイズを生成します。それ以外の場合は、乱流を生成します。乱流があるイメージにはグラデーションに視覚的な不連続性があるので、炎や海の波のようなシャープな視覚効果に適していることがあります。
channelOptions:Number (オプション)
1 つ以上のカラーチャンネルを表す数値。この値を作成するには、4 つのカラーチャンネル値 (1 (赤)、2 (緑)、4 (青)、および 8 (アルファ)) を使用または組み合わせることができます。論理和 (OR) 演算子を使用して、チャンネル値を組み合わせることができます。たとえば、次のコードを使用すると、赤と緑のチャンネルを組み合わせることができます。 1 | 2
grayScale:Boolean (オプション)
ブール値です。true の場合、赤、緑、および青の各カラーチャンネルに同じ値を設定して、グレースケールイメージが作成されます。この値が true に設定されても、アルファチャンネルの値に影響はありません。デフォルト値は false です。
offsets:Object (オプション)
オクターブごとの x オフセットと y オフセットに対応するポイントの配列。オフセット値を操作することで、perlinNoise イメージのレイヤーをスムーズにスクロールできます。オフセット配列内の各ポイントは、特定のオクターブノイズ関数に影響を与えます。



関連記事: Flash Professional 8 (1)
関連記事: 置き換えマップ効果 (2)
関連記事: BitmapDataでノイズ生成 (1)
関連記事: BitmapDataでノイズ生成 (2)
関連記事: 置き換えマップ効果 (3)
関連記事: BitmapDataでノイズ生成 (3)
関連記事: BitmapDataを基礎から学ぶのだ! (1)
関連記事: [AS3.0] 畳み込み効果 (1)
関連記事: [AS3.0] 畳み込み効果 (2)
関連記事: [AS3.0] PerlinNoiseクラスに挑戦!
執筆者: ひろゆき (21:50)
ウェブログ | コメント (0) | トラックバック数 (0) | 閲覧数 (5005)
この記事のトラックバックURL  リンク・引用のないトラックバックは削除することがあります。
http://www.project-nya.jp/modules/weblog/weblog-tb.php/478
投稿された内容の著作権はコメントの投稿者に帰属します。
投稿者 スレッド