生成树生长环的密度图

时间:2015-02-06 15:04:18

标签: graphics 3d 2d visualization image-rendering

我只是想知道是否有人知道在树木中生成年轮合成图像的任何文件或资源。我想2d标量字段或其他一些数据表示,然后可以用来渲染像图像一样的增长环:)

谢谢!

1 个答案:

答案 0 :(得分:1)

从未完成或听说过这个......
如果您需要模拟,那么请搜索生物学/植物学家网站。
如果你需要在视觉上接近结果,那么我会:

  1. 制作覆盖切割的多边形(圆形/椭圆形状)

    从圆开始,当所有工作尝试添加一些随机失真或使用椭圆时

  2. 使用密度

    创建一维纹理

    它将用于通过三角形扇形填充多边形。因此,首先找到要生成的树类型的图像,例如:

    tree cut

    分析颜色和强度作为直径的函数,因此提取馅饼(或薄矩形)

    rectangle for analysis

    并绘制R,G,B值的图形以查看环的形状

    RGB intensity plot

    然后创建近似的函数(或使用分段插值)并创建自己的纹理作为树龄的函数。你可以用这种方式插入环的颜色和密度。

    我的例子显示,对于这棵树,颜色是相同的,所以只有它的强度变化。在这种情况下,您不需要近似所有3个函数。由于另一个纹理层(在开始时忽略它),凸起有点嘈杂。您可以使用:


    intensity=A*|cos(pi*t)|作为开始
    A是亮度
    t是年龄/周期的年龄(以及1D纹理中的x坐标(缩放))

    因此,对于每个R,G,B,请将基色A乘以t,并使用此颜色填充纹理像素。您可以在响铃期(pi*t)中添加一些随机性,并且可以更紧密地匹配比例。这是线性增长,...因此您可以使用指数代替或插值来匹配受年龄影响的每个长度的凸起(距离形式t=0)...

  3. 现在只渲染多边形

    中点是纹理中的t=0坐标,多边形的每个顶点都是纹理中的t=full_age坐标。因此,使用这些纹理坐标渲染三角扇。如果你需要更紧密的匹配(环的周长不是相同的厚度),那么你可以将它转换为 2D 纹理

  4. <强> [注释]

    您也可以逐步执行此操作,因此每次迭代只需一次响铃。下一个环形多边形是由scale>1放大或缩放的最后一个,并添加一些随机性,但这需要由QUAD STRIP呈现。您可以为单个环提供静态纹理,因此仅插入密度和整体亮度:

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

    这样:

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