({{, (RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray])[{{(Subscript[x, min]),(Subscript[y, min]),…},{(Subscript[x, max]),(Subscript[y, max]),…}}] 
generates an array of {x,y,…} coordinates with integer steps in each dimension.}, {, (RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray])[{min,max},d]
uses step d in each dimension.}, {, (RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray])[{min,max},{dx,dy,…}]
uses steps dx, dy, … in successive dimensions.}, {, (RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray])[{min,max},Into[n]]
divides into n equal steps in each dimension.}, {, (RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray])[{min,max},steps,offsets]
specifies offsets to use for each coordinate point.}, {, (RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray])[{min,max},steps,offsets,k]
expands the array by k elements in every direction. }})

OpenersNotesSection(Spacer1)Details

(RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray]) gives an array of coordinates for points in a regular lattice.

In the default case, the sequence of values chosen in each direction is obtained by starting from the minimum value and repeatedly adding the step corresponding to that direction until the maximum value is reached.

When no offsets are specified, the coordinates correspond directly to the sequences of values.

Offsets can be given in terms of absolute distances, or by using (RefLink[Scaled, paclet:ref/Scaled]). (RefLink[Scaled, paclet:ref/Scaled])[1/2] puts the coordinate points at the center of every "cell".

Values in (RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray]) can be (RefLink[Quantity, paclet:ref/Quantity]) objects.

OpenersPrimaryExamplesSection(Spacer1)Examples  (13)

OpenersExampleSection0(Spacer1)Basic Examples  (3)

A lattice of two-dimensional points:

CoordinateBoundingBoxArray[{{3,-1},{8,2}}]

Graphics[Point[Flatten[%,1]],Frame->True]

An array of 3D points with given discretization steps:

CoordinateBoundingBoxArray[{{3,-1,0},{6,2,Pi}},{0.7,1.5,Pi/2.}]

Graphics3D[Point[Flatten[%,2]]]

Return center points of the cells of the grid:

bounds={{3,8},{-1,2}};

CoordinateBoundingBoxArray[Transpose[bounds],1,Center]

Graphics[Point[Flatten[%,1]],Frame->True,GridLines->Range@@@bounds,PlotRange->bounds]

OpenersExampleSection1(Spacer1)Scope  (6)

Provide corner positions for the coordinate array, with default discretization, offsets, and padding:

CoordinateBoundingBoxArray[{{3,-1,0},{8,2,2}}]

Specify a common discretization step for all dimensions:

CoordinateBoundingBoxArray[{{3,-2},{9,2}},2]

Specify respective cell sizes for different dimensions:

CoordinateBoundingBoxArray[{{3,-2},{9,2}},{2,0.5}]

Give arguments as (RefLink[Quantity, paclet:ref/Quantity]) objects:

CoordinateBoundingBoxArray[{{Quantity[3,"Meters"],Quantity[-2,"Seconds"]},{Quantity[9,"Meters"],Quantity[2,"Seconds"]}},{Quantity[4.,"Feet"],Quantity[0.5,"Seconds"]}]

Normal[%]

Return center points of the cells of the grid:

corners={{6,-2},{16,4}};

CoordinateBoundingBoxArray[corners,2,Center]

Graphics[Point[Flatten[%,1]],Frame->True,GridLines->{Range[6,16,2],Range[-2,4,2]},PlotRange->Transpose[corners]]

Numeric offset is interpreted as absolute:

CoordinateBoundingBoxArray[corners,2,{0.5,1.8}]

Graphics[Point[Flatten[%,1]],Frame->True,GridLines->{Range[6,16,2],Range[-2,4,2]},PlotRange->Transpose[corners]]

Specify any relative offset using (RefLink[Scaled, paclet:ref/Scaled]):

CoordinateBoundingBoxArray[corners,2,{Scaled[0.25],Scaled[0.9]}]

Return additional layers of points or remove some of them:

corners={{3,-1},{8,2}};

CoordinateBoundingBoxArray[corners,1,Center,{{-1,3},{2,1}}]

Graphics[Point[Flatten[%,1]],Frame->True,GridLines->Range@@@Transpose[corners],PlotRange->{{-1, 12},{-5,6}}]

Specify number of subdivisions:

CoordinateBoundingBoxArray[{{3,-1},{8,2}},{Into[3],Into[2]}]

Most[Dimensions[%]]-1

OpenersExampleSection3(Spacer1)Properties & Relations  (4)

(RefLink[CoordinateBoundingBox, paclet:ref/CoordinateBoundingBox]) returns the corner positions for 0 offsets:

CoordinateBoundingBoxArray[{{3,-1},{8,2}}]

CoordinateBoundingBox[%]

With other offsets the result will be different:

CoordinateBoundingBoxArray[{{3,-1},{8,2}},1,Center]

CoordinateBoundingBox[%]

(RefLink[CoordinateBoundsArray, paclet:ref/CoordinateBoundsArray]) uses a list of ranges instead of corner positions:

CoordinateBoundsArray[{{3,8},{-1,2},{2,4}}]

%===CoordinateBoundingBoxArray[{{3,-1,2},{8,2,4}}]

(RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray]) returns an array of lists of coordinates, even in only one dimension:

CoordinateBoundingBoxArray[{{0},{10}},2]

(RefLink[Range, paclet:ref/Range]) returns a list of those individual coordinates:

Range[0,10,2]

(RefLink[CoordinateBoundingBoxArray, paclet:ref/CoordinateBoundingBoxArray]) specifies number of subdivisions using Into:

CoordinateBoundingBoxArray[{{0},{10}},Into[5]]

(RefLink[Subdivide, paclet:ref/Subdivide]) returns a list of those individual coordinates:

Subdivide[0,10,5]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[CoordinateBoundsArray, paclet:ref/CoordinateBoundsArray])  ▪  (RefLink[CoordinateBoundingBox, paclet:ref/CoordinateBoundingBox])  ▪  (RefLink[ArrayMesh, paclet:ref/ArrayMesh])  ▪  (RefLink[LatticeData, paclet:ref/LatticeData])  ▪  (RefLink[Range, paclet:ref/Range])  ▪  (RefLink[Table, paclet:ref/Table])  ▪  (RefLink[Array, paclet:ref/Array])  ▪  (RefLink[Outer, paclet:ref/Outer])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[Constructing Lists, paclet:guide/ConstructingLists])}, {▪(RefLinkPlain[Regular & Coordinate Arrays, paclet:guide/RegularAndCoordinateArrays])}})}})