我是游戏/图形开发的新手,并且正在玩2D粒子。我想像液体/水一样将斑点彼此靠近地绘制为斑点。我不想绘制重叠的大圆圈,因为斑点不会很平滑(太大)。我不是很了解物理学,但是我想我想要的是看起来与表面张力相似的东西。
我无法在stackexchange或Google上找到任何内容(也许我不知道正确的关键字?)。到目前为止,我已经找到了两种可能的解决方案,但是我无法找到有关算法的任何具体信息。
其中之一是计算我认为是斑点的粒子的凹壳。我可以通过创建一个等效类(基于“彼此靠近”的关系)来计算blob。奇怪的是,我无法找到任何算法来解释如何计算凹面船体。许多文章(以及stackexchange中的文章)都链接到执行此操作的库或商业产品(我需要库才能在C#中工作),但从来没有任何算法。同样,此解决方案可能会遇到一个圆形的粒子问题,该粒子无法检测到中间的空白区域。
在研究凹壳时,我偶然发现了一种叫做alpha形状的东西。这似乎正是我想要做的,但是就像凹壳一样,我还没有找到任何解释它们实际工作原理的资料。我找到了一些演示材料,但还不够继续。就像我以外的每个人都知道的一个大秘密:-/
计算凹壳或alpha形状后,我想使其成为贝塞尔曲线以使其平滑且美观。
尽管我确实发现自己的方法过于复杂,但是也许我正在尝试以错误的方式解决此问题?如果您可以对我的问题提出其他解决方案,或者解释我所缺少的内容,我将非常高兴和感激:-)
谢谢。