A Simplified Plant Growth Simulation Prototype
来源:互联网 发布:mac系统ntfs插件 编辑:程序博客网 时间:2024/05/18 03:04
<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
(Pictures from ‘Palubicky 09 SIGGRAPH’)
* Shadow Propagation
(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)
(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.
(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>
- A Simplified Plant Growth Simulation Prototype
- Codeforces 185A Plant
- codeforces 185A Plant
- CodeForces 185A - Plant
- CodeForces - 185A Plant
- CodeForces 185A Plant
- Codeforces 185 A Plant
- A. Colorful Stones (Simplified Edition)
- A Traffic Simulation
- A New Growth Industry
- Growth of a Population
- Plant
- Plant
- Plant
- CodeForces Round #118 (185A) - Plant
- 【快速幂】 CodeForces 185A Plant
- CodeForces - 185A Plant 矩阵快速幂
- Codeforces 185A Plant 普通快速幂取模
- UI层与BLL层何时分离
- 社区论坛排行榜
- 如何去除word中的空行
- 如何制作ppt模板
- c++ 字节对齐
- A Simplified Plant Growth Simulation Prototype
- 算法设计——Chapter 1
- Spanish songs
- SerialPortj简单例子--发送AT指令,返回AT OK
- [转]cwRsync平台的搭建: windows下数据同步软件
- Eclipse导出可执行jar包
- buttion和checkbox实现全选、复选
- 【每天读一点英文:生而为赢Born to Win英文经典短文】gnuhpc注释版: The 50-Percent Theory of Life 生活理论半对半
- 转载的calendar文章