我需要为一个简单的凸多边形生成一组顶点,以便使用动态规划对该多边形进行最小权重三角剖分,我想取一个半径为 r 的圆,然后取 20 个顶点逆时针移动,然后我将形成一个 20 顶点的凸多边形,但我该怎么做
我如何知道位于半径为 r 的圆上的顶点?
除此之外,还有另一种更简单的方法来生成凸多边形的顶点吗
非常感谢任何帮助
最佳答案
生成 0 到 2*pi 之间的 20 个随机数,并对它们进行排序。
现在使用一些基本的三角函数来转换为 X、Y 坐标。
for (int i = 0; i < 20; i++)
{
x = x0 + r*cos(angle[i]);
y = y0 + r*sin(angle[i]);
// ...
}
关于c++ - 如何生成随机顶点以在 C++ 中形成凸多边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21690008/