LSystem SOP

概要

L-systems(Lindenmayer-systems(Aristid Lindenmayer(1925-1989)の名をとって名づけられる)をインプリメントしたLsystem SOP は反復使用によって複雑な形状を定義します。これは数学的な初期文字列を繰り返し評価する言語を使用して、結果はジオメトリーの作成に使用されます。各評価の結果は、ジオメトリの次の繰り返しのベースになります。成長の錯覚を提供します。
連続した規則を定義します。そしてそれは新しい文字列を生成するために評価することによって、L-systemを構築します。新しいストリングの各キャラクタは、虚数のスタイラスまたは”turtle”に作用する1つのコマンドを意味します。このプロセスを繰り返しことでジオメトリーが成長します。

例えば以下のようなものの作成にL-systemsを使用することができます:

  • 時間とともに成長する木、植物、花のような有機物の作成
  • 稲妻と雪片のような、分岐している物のアニメーション

ファイルをディスク、またはウェブから読み込む事ができます。http://URL を使用します。

パラメータ – Geometry ページ
Type / type

出力ジオメトリに2つのオプションを提供します。

  • Skeleton skel
    ワイヤフレームジオメトリを作成します。 このオプションは、稲妻や雪のようにギザギザ折れ曲がった形状のジオメトリに最適です。 SOPクッキング時間を短縮するのにも役立ちます。
  • Tube tube
    チューブジオメトリを作成します。 このオプションは、木や低木などの滑らかな曲線形状のソリッドジオメトリで使用します。 Tubeページのパラメーターは、このタイプが選択されている場合にのみ有効になります。
Generations / generations

ルールを初期文字列に適用する回数を決定します。 この値は、Lシステムの成長を制御します。 ここに時間ベースの関数を配置して、Lシステムの成長をアニメーション化します。

Random Scale / randscale

パーセンテージとしてのランダムスケール。 これにより、変化するジオメトリの長さ、角度、厚さにランダムスケールが適用されます。

Random Seed / randseed

SOPのランダムシード。 この値を使用して、ランダム値の異なるシーケンスを選択できます。

Continuous Angles / contangl

非整数の世代値が使用されている場合、分岐の増分角度を計算します。 Generationsフィールドがアニメーション化されている場合、スムーズに成長するように設定する必要があります。

Continuous Length / contlength

非整数の世代値が使用されている場合、ジオメトリポイントの増分の長さを計算します。 Continuous Anglesパラメータの場合と同様に、世代フィールドがアニメートしている場合は、これを設定して滑らかで連続的な成長を確保する必要があります。 Continuous Widthフィールドは、チューブの厚さに適用されます。

Continuous Width / contwidth

非整数の世代値が使用されている場合、ジオメトリポイントの増分の長さを計算します。 Continuous Anglesパラメータの場合と同様に、世代フィールドがアニメートしている場合は、これを設定して滑らかで連続的な成長を確保する必要があります。 Continuous Widthフィールドは、チューブの厚さに適用されます。

Apply Color / docolor

TOPを使用して、Lシステムの成長に合わせて色を適用します。

Image File / colormap

Defines a TOP to use when the Apply Color button is selected. Also see the ` and # turtle operators.
Apply Colorボタンが選択された場合に使用するTOPを定義します。 ` と # turtle 演算子の項目も参照してください。

UV Increment / inc

Defines the default color U, V index increments when the turtle symbols ` or # are used.
タートルシンボルの ` 或いは # が使用される場合のデフォルトの色U、Vインデックスの増分を定義します。

  • incu
  • incv
Point Width Attribute / pointwidth
パラメータ – Tube ページ

このページのパラメーターは、GeometryページのTypeがTubeに設定されている場合にのみアクティブになります。

Rows / rows

チューブジオメトリが選択されている場合、1番目のオプションはチューブの側面の数を設定し、2番目はステップ長ごとの分割数を設定します。

Columns / cols

チューブジオメトリが選択されている場合、1番目のオプションはチューブの側面の数を設定し、2番目はステップ長ごとの分割数を設定します。

Tension / tension

Tensionは分岐している角の滑らかさを設定します。

Branch Blend / smooth

このオプションを有効にすると、子ブランチを親ブランチに継続的に結合できます。

Thickness / thickinit

この数値は、デフォルトのチューブの厚さを設定します。

Thickness Scale / thickscale

This number is the scale factor used with the ! or ? operator.
この数値は、! または? 演算子と一緒に使用するスケール値です。

Apply Tube Texture Coordinates / dotexture

有効にすると、UVテクスチャ座標がチューブセグメントに適用され、テクスチャがブランチ上でスムーズかつ連続的にラップされます。

Vertical Increment / vertinc

チューブテクスチャが適用されるときのチューブジオメトリ上のテクスチャ座標の間隔を設定します。

パラメータ- Values ページ
Step Size / stepinit

Step Sizeは新しいジオメトリが生成されるときのエッジのデフォルトの長さを設定します。

Step Size Scale / stepscale

Step Size Scaleは ” 或いは _(ダブルクォート或いはアンダースコア)turtle演算子によってジオメトリが変更されるスケールを設定します。

Angle / angleinit

Angleはターン、ロール、ピッチのデフォルトの回転角度を定義します。

Angle Scale / anglescale

Angle Scaleは; 或いは@演算子が使用れた場合、スケーリング係数を入力できます。

Variable b / varb

ルールまたは構文内にあるユーザー定義のb、c、およびd変数を置き換えます。 これらの変数は展開されているため、$ Fや$ Tなどのシステム変数を含めることができます。

Variable c / varc

ルールまたは構文内にあるユーザー定義のb、c、およびd変数を置き換えます。 これらの変数は展開されているため、$ Fや$ Tなどのシステム変数を含めることができます。

Variable d / vard

ルールまたは構文内にあるユーザー定義のb、c、およびd変数を置き換えます。 これらの変数は展開されているため、$ Fや$ Tなどのシステム変数を含めることができます。

Gravity / gravity

このパラメーターは、T(トロピズムベクトル)タートルオペレーターを介してジオメトリに適用される重力の量を決定します。 トロピズムとは、植物が外部刺激に反応して曲がったり曲がったりすることです。 Lシステムは、この挙動をシミュレートするために、トロピズムベクトルを採用しています。 曲がり方は、厚い部分または短い部分が長い部分または薄い部分よりも曲がらないという事実によって特徴付けられます。

パラメータ – Funcs ページ

このページのパラメータを使用すると、単純にコピーするのではなく、リーフジオメトリにスタンプを付けることができます(各コピーは異なる場合があります)。 Example – Stamping L-system Leavesの項目を参照してください。

Pic Image TOP / pictop

これは、pic()関数が使用するTOPを指定します。 以下の#Expressions L-system Specific Expression Functionsの項目を参照してください。

Group Prefix / grpprefix

プロダクションg(n)が検出された場合、後続のすべてのジオメトリは、このラベルが先頭に付き、nのascii値で終わるプリミティブグループに含まれます。 例については、下記の#CreateGroup Creating Groups within L-systemsの項目を参照してください。

Channel Prefix / chanprefix

式chan(n)が検出された場合、このラベルが先頭に付き、nのascii値で終わるローカルチャネルに置き換えられます。

Leaf Param A / stampa

葉で使用するパラメーターを設定します。
例については、下記の#CreateGroup Creating Groups within L-systemsの項目を参照してください。

Leaf Param B / stampb

葉で使用するパラメーターを設定します。
例については、下記の#CreateGroup Creating Groups within L-systemsの項目を参照してください。

Leaf Param C / stampc

葉で使用するパラメーターを設定します。
例については、下記の#CreateGroup Creating Groups within L-systemsの項目を参照してください。

Rules DAT / rules

LSystemのルールを定義するDATのパスを設定します。

  • Context Ignore context_ignore:
    これをRules DATで定義すると、以下のルールでコンテキストの挙動をテストする際にスキップする文字が指定できます。
  • Premise premise:
    置換ルールが適用される文字列を定義します。
  • Rules
    タートルの置換ルールを設定します。