如何在 P5.js 中创建彼此不重叠的随机不协调形状

How to create random incongruous shapes that don't overlap each others in P5.js

我希望创建这样的形状: https://www.lucegallard.com/?lightbox=dataItem-isiz1h39 但是它们必须随机生成并且永远不会重叠。只使用 beginShape() 和 curveVERtex(x,y) 等太容易了。 加上我们静态的结果,它需要轻松随机地更改。我的问题是 "is there a function to create 'weird' ellipses?" 或 "Could anyone help me with an algorithm to achieve this?"

感谢提前分配!

Stack Overflow 并不是真正为一般 "how do I do this" 类型的问题设计的。这是针对特定 "I tried X, expected Y, but got Z instead" 类型的问题。但我会尽力提供一般意义上的帮助:

你需要 break your problem down into smaller pieces 一次把这些碎片拼在一起。尝试创建一个只生成单个随机形状的程序。然后尝试添加不与第一个形状相交的第二个随机生成的形状。

想一想您将如何向无法看到您在 post 中链接的网站的人描述此程序。尝试尽可能详细地描述它。假设你有一个朋友从未见过你在说什么。你能写下这位朋友可以遵循的一组步骤来画出你在说什么吗?当您写下这些步骤后,您就可以开始考虑用代码实现一个算法了。

一个简单的检查是针对您生成的每个新点,检查它是否在任何以前的形状内。如果是这样,请返回并选择一个不同的新点。这至少会让你开始朝着一个方向前进。

如果您遇到困难,请 post MCVE 以及更具体的技术问题。祝你好运。