将矩形图片分割成多边形以模拟玻璃破碎

6

我正在处理一些C#代码,想要将一个二维矩形分割成更小的二维多边形。我希望效果看起来像这个矩形是由玻璃制成的,并且被随机撞击了一下。我想知道是否有人知道一个好的算法来帮助我完成这个任务。我尝试使用随机点来模拟这个效果的FortuneVoronoi代码,但是很难在合理的CPU时间内将完成的VoronoiGraph转换为一组不相交的多边形。


3
有趣的是,显然没有人确切知道玻璃断裂的机理。 - Eric Lippert
很棒的关于玻璃断裂理解的链接,感谢分享!虽然它不必完全准确,但是模拟效果应该足够逼真。 :) - Jeff Lundstrom
1个回答

4

既然您提到了Voronoi图,我建议使用以撞击点为中心的径向密度函数构建Centroidal Voronoi图,并添加一些抖动以增加真实感。请参阅此页面和此论文


很好的建议。我会看看是否能以相对高效的方式实现它。一旦完成,我会公开发布所有这些工作,目前只是一个简单的 C# 屏幕保护程序进行测试。这只是一个我开始的有趣项目。 - Jeff Lundstrom
1
@Jeff,你可以试试这个库,但它是C++的,不是C#。http://people.sc.fsu.edu/~jburkardt/cpp_src/cvt/cvt.html - lhf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接