honeycomb evolution

版本 1.1.0.0 (6.7 KB) 作者: Maxim Vedenyov
get hexadron tessellation using random search
919.0 次下载
更新时间 2011/1/10

查看许可证

http://simulations.narod.ru/

This is a honeycomb evolution simulation. In bees evolution using trial and error method found optimal tessellation of 2d space. They minimized wax using to build walls, so total length of walls in all honeycomb is to minimize. Also different cells must have about same area.

In the code walls was parameterized using voronoi diagram. The geometry is looped: down edge of picture is up edge of the picture, left edge of picture is up right of the picture. It is like periodic boundary condition. The rectangle displayed actually repeated 3x3=9 times. Then voronoi diagram applied. Only in middle rectangle voronoi diagram part used in total length Ls calculation. To prevent moving points to one stack there not Ls minimized but Ls_ex = Ls + const/min_dist, where min_dist minimal distance between points.

Random search used.. In iteration of random search it search minimum Ls_ex each time. In each iteration the code try random position of points near current positions. Zone of random search is contracted exponentially with iterations.

Run honeycombs.m to start simulation.

Some times hexadrons not so uniform as in gif-animated here.

Animation:
http://www.youtube.com/watch?v=EIrA0fMqmq8

honeycombs_avi.m to make avi file
honeycombs_gif.m to make gif file

auxilary functions:
segment_rectange.m finds length of cross of segment and rectangle
cross_perimeter.m find points of cross of rectengle perimeter and segment

引用格式

Maxim Vedenyov (2024). honeycomb evolution (https://www.mathworks.com/matlabcentral/fileexchange/29990-honeycomb-evolution), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2009a
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0.0

Some errors fixed

1.0.0.0