我们如何绘制多边形。当只给出边和半径时。我必须制作一个弹出框,它将半径和边数作为输入,并绘制一个多边形。只需要公式。
问问题
1335 次
1 回答
4
想象一个半径为 r 的圆。它就像一个正多边形,有无数条边。
三角函数告诉我们:
x = r * cos(a);
y = r * sin(a);
我们知道一个圆圈中有 360 度或 2pi 弧度。因此,要绘制它,我们将从角度 = 0 开始,计算该坐标,进入下一个角度并计算该点,然后在两者之间画一条线。
我们只能围绕圆的边缘计算这么多点,最终不会有任何区别。如果圆足够小,即使是 8 条边也会看起来是圆的。
要绘制一个 8 边圆,我们需要在圆周围均匀分布 8 个点。将圆分成 8 个角,每个角为 2 * pi / 8 弧度。
所以:
angle = 0.0;
step = 2 * pi / 8;
for ( n = 0; n < 8; n++ ) {
x = radius * cos(angle);
y = radius * sin(angle);
angle += step;
}
现在你可以画一个八边形,改变它来画一般情况。
于 2012-07-05T08:57:30.743 回答