0

木の年輪の合成画像の生成に関する論文やリソースを誰かが知っているかどうか疑問に思っていました. 私は、画像のような年輪をレンダリングするために使用できる2dスカラーフィールドまたはその他のデータ表現を考えています:)

ありがとう!

4

1 に答える 1

1

これについて行ったことも聞いたこともありません...
シミュレーションが必要な場合は、代わりに生物学/植物学者のサイトを検索してください。
視覚的に近い結果が必要な場合は、次のようにします。

  1. カットをカバーするポリゴンを作成します(円形/楕円形のような形状)

    円から始めて、すべてが機能したら、ランダムな歪みを追加するか、楕円を使用してみてください

  2. 密度で 1D テクスチャを作成します

    三角形ファンを介してポリゴンを塗りつぶすために使用されます。まず、生成したいツリー タイプのイメージを見つけます。たとえば、次のようになります。

    木の切り株

    色と強度を直径の関数として分析して、パイのような部分 (または薄い長方形) を抽出します。

    分析用の長方形

    値のグラフをプロットしてR,G,B、リングの形状を確認します

    RGB 強度プロット

    次に、それを近似する関数を作成し(または区分補間を使用)、樹齢の関数として独自のテクスチャを作成します。この方法で、リングの色と密度を補間できます。

    私の例は、この木の色が同じであるため、その強度のみが変化することを示しています。この場合、3 つの関数すべてを近似する必要はありません。別のテクスチャ レイヤーが原因で、バンプが少しうるさいです (最初は無視してください)。以下を使用できます。


    intensity=A*|cos(pi*t)|開始として、
    A明るさ
    tは年/サイクルの年齢です(また、1Dテクスチャのx座標(スケーリング))

    したがって、ベースカラーにそれぞれをR,G,B掛けて、テクスチャピクセルをこの色で塗りつぶします。鳴動周期にランダム性を加えることができ、音階をより厳密に一致させることもできます。これは線形成長なので、代わりに指数関数を使用するか、補間して年齢の影響を受ける長さごとの隆起を一致させることができます (距離形式)...At(pi*t)t=0

  3. ポリゴンをレンダリングするだけです

    中間点はテクスチャ内の座標です。t=0ポリゴンの各頂点はテクスチャ内のt=full_age座標です。したがって、これらのテクスチャ座標を使用して三角ファンをレンダリングします。さらに厳密に一致させる必要がある場合 (リングが周囲に沿って同じ厚さではない)、これを2Dテクスチャに変換できます。

[ノート]

これを段階的に行うこともできるので、反復ごとに 1 つのリングだけを行います。次のリング ポリゴンは、最後に によって拡大またはスケーリングされscale>1、ランダム性を追加しますが、これは によってレンダリングされる必要がありますQUAD STRIP。単一のリングに静的テクスチャを使用できるため、密度と全体的な明るさだけを補間します。

radius(i)=radius(i-1)+ring_width=radius(i-1)*scale

それで:

scale=(radius(i-1)+ring_width)/radius(i-1)
于 2015-03-31T10:26:18.430 に答える