给定顶点数量n ≥ 3
和“步长” 1 ≤ m < n/2
(指示两个连接的顶点之间的距离),输出相应规则多边形的图形表示。如果该多边形包含多个闭合回路,则每个回路必须以不同的线条颜色呈现。(如果这听起来令人困惑,那么下面的示例将有望清除这些问题。)
规则
任何合理的问题解决方案都可能会自动满足这些规则-它们只是在此处对输出的参数施加一些约束,以防止出现诸如“此黑色块完全是一个多义字,但您看不到它的原因”之类的答案。我将线宽设置为9000以上。”
- 您可以将多边形图呈现到文件(可以将其写入光盘或标准输出流)中,也可以将其显示在屏幕上。
- 您可以使用矢量或栅格图形。如果对输出进行光栅化,则图像的尺寸必须为400x400像素或更大,并且多边形的半径(从中心到每个顶点的距离)必须在边长的35%和50%之间。
- 多边形的纵横比必须为1(以使其顶点位于适当的圆上)-图像的画布可能为矩形。
- 测线图的线的粗细不得超过半径的5%(当然,粗线的粗细必须为非零)。
- 除了多边形图,您还可以渲染轴或框架,但只能渲染其他东西。
- 您可以选择任何(纯色)背景色。
- 对于由多个闭环组成的组合词,您必须支持至少6种视觉上不同的颜色,所有这些颜色都必须与背景不同。(只要阴影在整个光谱中充分散布,灰度就可以了。)您的代码仍必须可以运行6个以上的循环,但是对于任何其他循环,颜色都不必是可区分的(即,您也可以重用)之前循环中的颜色)。
这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。
例子
以下是所有输出n = 16
(直到列对应,n
行对应m
):
作为更大的示例n
,这里(n, m) = (29, 11)
和(30, 12)
:
那么抗锯齿和东西呢?(因为我们正在处理斜线)
—
Optimizer
@Optimizer我不会规定抗锯齿算法。只要线条清晰可见,就可以对线条进行混叠或抗锯齿。用你最好的判断。
—
Martin Ender