【问题标题】:Splitting a rectangular image to polygons to simulate Breaking glass将矩形图像拆分为多边形以模拟破碎玻璃
【发布时间】:2011-08-20 05:17:24
【问题描述】:

我正在编写一些 C# 代码,我想在其中获取一个 2D 矩形并将其拆分为更小的 2D 多边形。我希望效果看起来像矩形是由玻璃制成的,并且在随机位置用锤子敲击它。我想知道是否有人知道一个好的算法来帮助我解决这个问题。我已经尝试使用随机点来模拟这种效果的 FortuneVoronoi 代码,但是很难在合理的 CPU 时间内将完成的 VoronoiGraph 转换为一组不相交的多边形。

【问题讨论】:

  • 有趣的是,显然没有人确切地知道一开始是什么机制导致玻璃破裂。 physorg.com/news7864.html
  • 了解玻璃断裂的酷链接,谢谢!它不必是精确的,只是一个可信的模拟。 :)

标签: c# algorithm image graphics polygons


【解决方案1】:

既然您提到了 Voronoi 图,我会选择使用径向密度函数构建的 Centroidal Voronoi 图,该函数具体化在撞击点上,加上一些抖动以增加一点真实感。请参阅此page 和此paper

【讨论】:

  • 很好的建议。我会看看我是否可以以一种相当有效的方式实现这一点。一旦完成,我将公开发布所有这些工作,它目前以简单的 C# 屏幕保护程序的形式进行测试。只是我开始的一个有趣的项目而已。
  • @Jeff,试试这个库,但它是 C++。不是 C#。 people.sc.fsu.edu/~jburkardt/cpp_src/cvt/cvt.html
猜你喜欢
  • 1970-01-01
  • 2011-05-21
  • 2016-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多