A Simplified Plant Growth Simulation Prototype

<Please mention the source if you wanna forward this article>

This work is completed as the final project for my GPGPU class.

This simple prototype is the implementation for paper ‘Self-organizing Tree Models for Image Synthesis’ by WKSABR (also refered as Palubicky09SIGG).

The key algorithm is the Apical Control in plant growth (Borchert-Honda Model).

Because of the limited time (about only 3 weeks, with another project paralleled at the same time), my plant growth model is quite simplified, the calculation scale is quite small – my application adopts only a 80*80*80 resolution while 800*800*800 will definitely look much better - and many useful techniques are not involved as texture.

Plant Growth Algorithm

Space Colonization

sc
(Pictures from ‘Palubicky 09 SIGGRAPH’)
 

* Shadow Propagation

sp 
(Pictures from ‘Palubicky 09 SIGGRAPH’)

The initial intention for shadow propagation is to simulate the shadow within the internodes/leaves/flowers so to make a more realistic lighting condition. Plus, we can use this shadow matrix to simulate ray-casting shadow.

* Bud Fate Calculation (Borchert-Honda Model)


            bh
bh1
(Pictures from ‘Palubicky 09 SIGGRAPH’)

* Gravity Effects

After we got the optimized shooting vector by Space Colonization and Light Condition, we can add gravity vector to simulate the gravity effects on internodes/leaves.

* Branch Diameter Calculation

    d = d1^n + d2 ^ n

d1 and d2 are child internodes of d. It is said this equation is invented by Leonardo da Vinci – what a genius!


GPU Acceleration

* Space Colonization & Shadow Propagation

The kernel function is executed based on each voxel – the gathering is much better for GPU.

* Ray-casting Shadow Calculation
 
Rays are independent with each other, and this leads to a perfect GPU application situation. But at last a Bi-Linear smooth is needed.

s1 s2

(Yes the right one is my final image – like a bunch of leek because of the over-simplified BH-model.)


Future Work

1. Shedding implement.

2. Texture Enabled – it will definitely make the final picture look much better.

3. Internode using cones so to smooth the nodes – if I don’t want to simulate a bamboo tree, it will be better to smooth the nodes.

4. A more completed Borchert-Honda Model. The current BH model is over simplified. A more complete BH-model will make my tree much more realistic.

5. A larger resolution, say 1024 * 1024 * 1024. My current resolution is 80*80*80 which makes my model more like a 80’s application. But for a larger resolution, I need to separate the kernel execution into several parts – too long execution time will make Windows Watch Dog crazy. It is a big topic though.

P.S. It is really a great pity that I don’t have enough time to refine this project, unless I would like to take it as my master thesis – a relatively complete model will result in a very pretty and realistic plant image ! (Please refer to the paper)
But I do have my plan for another project(s)… Yeah you will see…

 

<Please mention the source if you wanna forward this article>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值