login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A292060 Minimum number of points of the square lattice falling strictly inside an equilateral triangle of side n. 2
0, 0, 0, 2, 4, 8, 12, 17, 23, 30, 37 (list; graph; refs; listen; history; text; internal format)
OFFSET
0,4
COMMENTS
Due to the symmetry and periodicity of the square lattice it is sufficient to explore possible equilateral triangles with center belonging to the triangular region with vertices (0,0), (1/2, 0), and (1/2, 1/2), and for every center the orientations between 0 and 2*Pi/3 radians must be explored. A simple strategy to obtain this sequence is to explore many triangles with centers and orientations in the previously described regions and count the points falling strictly inside the triangles, then picking the minimum number obtained. In the given Mathematica program the explored triangles are generated by regularly moving its center with constant increment in both main orthogonal directions, and for every center different orientations are generated with constant angular step increment.
Is there any criterion to determine how small should be the pitch and the angular increment in order to catch an equilateral triangle with the smallest possible number of points for a given side length n?
The different regions for the centers producing constant minimum numbers of lattice points inside equilateral triangles of side length n seem to become very complex and irregular as n increases (see density plots in Links).
LINKS
FORMULA
a(n) ~ (1/4)*sqrt(3)*n^2.
MATHEMATICA
(* This gives a polar function of a "k" sides polygon with side length "sidelength" and vertical rightmost side *)
PolarPolygonSide[sidelength_, theta_, k_] := ((sidelength/2)/Tan[Pi/k])/Cos[Mod[theta - Pi/k , 2 Pi/k] - Pi/k];
(* uncomment next to generate and plot different polygons *)
(* Manipulate[PolarPlot[PolarPolygonSide[sidelength, theta + phase, sides], {theta, 0, 2 Pi}, PlotRange -> sidelength, GridLines -> {Range[-sidelength, sidelength] + di, Range[-sidelength, sidelength] + dj}], {sidelength, 1, 10, 1}, {sides, 3, 30, 1}, {phase, 0, 2 Pi/3, 2 Pi/300}, {dj, 0, 1/2, 0.01}, {di, 0, 1/2, 0.01}] *)
(* This function gives 1 if the point of coordinates (x, y) is strictly inside a polygon given by PolarPolygonSide[sidelength, theta, sides] rotated by "phase", and 0 otherwise *)
TruePointInsidePhase[x_, y_, sidelength_, phase_, sides_] :=
Module[{theta},
theta = ArcTan[x, y] + phase;
If[x^2 + y^2 == 0, 1,
If[x^2 + y^2 - (PolarPolygonSide[sidelength, theta, sides]^2) <
0, 1, 0]] // Return];
sides = 3; (* number of sides of the polygon *)
(* The following step increments seem to be small enough for sidelengths up to 10 *)
dstep = 0.01; (* scanning step on x and y *)
phasestep = 2 Pi/3000; (* orientation angular increment step *)
seq = {};
Do[
npoints = {}; k = 0;
Do[Do[Do[
Do[Do[
k =
k + TruePointInsidePhase[i + di, j + dj, sidelength, phase,
sides]
, {i, -sidelength - 1, sidelength + 1, 1}], {j, -sidelength -
1, sidelength + 1, 1}];
AppendTo[npoints, k];
k = 0;
, {dj, 0, 1/2, dstep}], {di, 0, 1/2, dstep}], {phase, 0, 2 Pi/3,
phasestep}] // Quiet;
temp = npoints // Min;
AppendTo[seq, temp];
, {sidelength, 0, 10, 1}]
seq
CROSSREFS
Sequence in context: A368507 A273109 A046843 * A152125 A338097 A305694
KEYWORD
nonn,hard,more
AUTHOR
Andres Cicuttin, Sep 08 2017
STATUS
approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified April 23 18:16 EDT 2024. Contains 371916 sequences. (Running on oeis4.)