在一个大矩形区域内紧凑排列很多小矩形

这个算法很常用,在游戏开发中,我们把小的纹理块,紧凑排列到一个大的纹理中。

我找了很久,曾经尝试使用各种关键词找这个算法,比如texture pack, rearrange rectangles etc.都没能找到我想要的。

这次在XNA的研究和学习中找到了一个Nuclex的库,这个库中的Nuclex.Game.Demo (x86)这个例子,就有三个经典的排列算法(C#)版本。

原来这个算法不是叫做“在一个大矩形区域内紧凑排列很多小矩形”,应该去搜索“rectangle packing”, "rectangle packer", "二维装箱算法"。你就能找到很多类似的算法了。

http://www.douban.com/note/34766741/

 

http://enichan.darksiren.net/wordpress/?p=49

http://kossovsky.net/index.php/2009/07/cshar-rectangle-packing/

https://devel.nuclex.org/framework/browser/game/Nuclex.Game/trunk/Source/Packing

https://devel.nuclex.org/framework/browser/graphics/fonts/Nuclex.Fonts.Content.TrueTypeImporter/trunk/Source/SpriteFonts


posted on 2010-05-24 14:07  不是程序  阅读(1203)  评论(0)    收藏  举报

导航