P82 · Packing and covering · Classic · Hard

Equal circles in regular polygons · m = 8 · n = 28

Pack n equal circles into the regular m-gon with centre (1,1), circumradius 1, and first vertex (2,1) so as to maximise their common radius.

Instancem = 8 · n = 28
ObjectiveMaximize circle radius

Record comparison

circle radius · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[0.160404294688, 0.16040429469]Eckard SpechtPackomania ↗
Site recordNo player record yet——

Formal definition

  • ContainerThe editor and certificate normalise the container to the exact regular m-gon with centre (1,1), circumradius 1, and first vertex (2,1), while public scores follow the literature convention. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.
  • ConstraintsExactly n congruent pieces lie wholly inside the container with pairwise disjoint interiors. Polygons may rotate independently by arbitrary angles.
  • PrecisionInput decimals are parsed as exact rationals and regular-polygon vertices are defined algebraically, with zero floating-point tolerance in feasibility checks.
  • ObjectiveMaximise the circle radius r (with container circumradius fixed at 1).
Open full editor ↗

Layout shown: starter layout

VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Literature targets and coordinate certificates

Literature targets are converted at their published precision, while nine-decimal coordinate certificates are stored and displayed alongside the source values. Pentagon and hexagon rows n = 41–100 and octagon rows n = 41–48 cite Packomania's value and author without importing its coordinates; they start from an ordinary site grid baseline.

Source
The current arrangement for Equal circles in regular polygons m = 8 · n = 28
LAYOUT & HISTORY

Starter layout

Inspect the layout, solver notes and record history.

Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
ANSWER FORMAT

How to write your answer

the regular m-gon with centre (1,1), circumradius 1, and first vertex (2,1)

Submit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.

Starter answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.708782104",
      "y": "0.294246760"
    },
    {
      "turn": "0",
      "x": "0.413757593",
      "y": "0.420257429"
    },
    {
      "turn": "0",
      "x": "1.007249625",
      "y": "0.176623251"
    },
    {
      "turn": "0",
      "x": "0.366388779",
      "y": "0.737549639"
    },
    {
      "turn": "0",
      "x": "0.959880812",
      "y": "0.493915461"
    },
    {
      "turn": "0",
      "x": "0.664856300",
      "y": "0.619926130"
    },
    {
      "turn": "0",
      "x": "1.258348333",
      "y": "0.376291952"
    },
    {
      "turn": "0",
      "x": "1.577089024",
      "y": "0.412658458"
    },
    {
      "turn": "0",
      "x": "0.175524115",
      "y": "0.995403922"
    },
    {
      "turn": "0",
      "x": "0.494264807",
      "y": "1.031770428"
    },
    {
      "turn": "0",
      "x": "1.087756839",
      "y": "0.788136249"
    },
    {
      "turn": "0",
      "x": "0.792732328",
      "y": "0.914146919"
    },
    {
      "turn": "0",
      "x": "1.386224360",
      "y": "0.670512740"
    },
    {
      "turn": "0",
      "x": "1.704965051",
      "y": "0.706879247"
    },
    {
      "turn": "0",
      "x": "0.295034949",
      "y": "1.293120753"
    },
    {
      "turn": "0",
      "x": "0.613775640",
      "y": "1.329487260"
    },
    {
      "turn": "0",
      "x": "1.207267672",
      "y": "1.085853081"
    },
    {
      "turn": "0",
      "x": "0.912243161",
      "y": "1.211863751"
    },
    {
      "turn": "0",
      "x": "1.505735193",
      "y": "0.968229572"
    },
    {
      "turn": "0",
      "x": "1.824475885",
      "y": "1.004596078"
    },
    {
      "turn": "0",
      "x": "0.422910976",
      "y": "1.587341542"
    },
    {
      "turn": "0",
      "x": "0.741651667",
      "y": "1.623708048"
    },
    {
      "turn": "0",
      "x": "1.335143700",
      "y": "1.380073870"
    },
    {
      "turn": "0",
      "x": "1.040119188",
      "y": "1.506084539"
    },
    {
      "turn": "0",
      "x": "1.633611221",
      "y": "1.262450361"
    },
    {
      "turn": "0",
      "x": "0.992750375",
      "y": "1.823376749"
    },
    {
      "turn": "0",
      "x": "1.586242407",
      "y": "1.579742571"
    },
    {
      "turn": "0",
      "x": "1.291217896",
      "y": "1.705753240"
    }
  ],
  "radius": "0.160404294"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 28,
  "sides": 8
}

Starter answer

{
  "placements": [
    {
      "turn": "0",
      "x": "0.708782104",
      "y": "0.294246760"
    },
    {
      "turn": "0",
      "x": "0.413757593",
      "y": "0.420257429"
    },
    {
      "turn": "0",
      "x": "1.007249625",
      "y": "0.176623251"
    },
    {
      "turn": "0",
      "x": "0.366388779",
      "y": "0.737549639"
    },
    {
      "turn": "0",
      "x": "0.959880812",
      "y": "0.493915461"
    },
    {
      "turn": "0",
      "x": "0.664856300",
      "y": "0.619926130"
    },
    {
      "turn": "0",
      "x": "1.258348333",
      "y": "0.376291952"
    },
    {
      "turn": "0",
      "x": "1.577089024",
      "y": "0.412658458"
    },
    {
      "turn": "0",
      "x": "0.175524115",
      "y": "0.995403922"
    },
    {
      "turn": "0",
      "x": "0.494264807",
      "y": "1.031770428"
    },
    {
      "turn": "0",
      "x": "1.087756839",
      "y": "0.788136249"
    },
    {
      "turn": "0",
      "x": "0.792732328",
      "y": "0.914146919"
    },
    {
      "turn": "0",
      "x": "1.386224360",
      "y": "0.670512740"
    },
    {
      "turn": "0",
      "x": "1.704965051",
      "y": "0.706879247"
    },
    {
      "turn": "0",
      "x": "0.295034949",
      "y": "1.293120753"
    },
    {
      "turn": "0",
      "x": "0.613775640",
      "y": "1.329487260"
    },
    {
      "turn": "0",
      "x": "1.207267672",
      "y": "1.085853081"
    },
    {
      "turn": "0",
      "x": "0.912243161",
      "y": "1.211863751"
    },
    {
      "turn": "0",
      "x": "1.505735193",
      "y": "0.968229572"
    },
    {
      "turn": "0",
      "x": "1.824475885",
      "y": "1.004596078"
    },
    {
      "turn": "0",
      "x": "0.422910976",
      "y": "1.587341542"
    },
    {
      "turn": "0",
      "x": "0.741651667",
      "y": "1.623708048"
    },
    {
      "turn": "0",
      "x": "1.335143700",
      "y": "1.380073870"
    },
    {
      "turn": "0",
      "x": "1.040119188",
      "y": "1.506084539"
    },
    {
      "turn": "0",
      "x": "1.633611221",
      "y": "1.262450361"
    },
    {
      "turn": "0",
      "x": "0.992750375",
      "y": "1.823376749"
    },
    {
      "turn": "0",
      "x": "1.586242407",
      "y": "1.579742571"
    },
    {
      "turn": "0",
      "x": "1.291217896",
      "y": "1.705753240"
    }
  ],
  "radius": "0.160404294"
}

Submit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4. · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.