Description
Encode bounded voxel x,y,z to an exact row-major linear index with x fastest, then y, then z; dimensions are explicit positive cell counts.
A voxel is a cell on a three-dimensional integer lattice. Coordinates use [x, y, z] order; a box uses an inclusive low corner and exclusive high corner, so its dimensions count cells rather than physical distance. Occupancy records can repeat the same cell without creating extra occupied space.
Encode bounded voxel x,y,z to an exact row-major linear index with x fastest, then y, then z; dimensions are explicit positive cell counts.
When to use this tool
Use this tool to encode bounded voxel x,y,z to an exact row-major linear index with x fastest, then y, then z; dimensions are explicit positive cell counts.
How to use the tool and how it works
- Enter coordinate, dimensions using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.index. Use the ordering, boundary rules and absence conditions described below.
Require a bounded coordinate and positive dimensions. Encode ((z × sizeY) + y) × sizeX + x with integer arithmetic, returning the exact index as decimal text.1
| Input field | Meaning and units | Accepted input |
|---|---|---|
| coordinate | A single [x, y, z] integer cell coordinate; a slice instead uses one integer axis coordinate. | Dense list of at most 128 finite numbers; integer/shape constraints above also apply. |
| dimensions | Three positive cell counts [sizeX, sizeY, sizeZ]. | Dense list of at most 128 finite numbers; integer/shape constraints above also apply. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.index | Exact zero-based linear storage index, as decimal text. |
{
"input": {
"coordinate": [
1,
2,
1
],
"dimensions": [
3,
4,
2
]
},
"output": {
"result": {
"index": "19"
}
}
} Limitations and assumptions
- The x axis varies fastest; coordinates outside the supplied box are rejected rather than wrapped.
- Voxel components are integers from −1,000,000,000 through 1,000,000,000; dimensions are three integers from 1 through 1,000,000. Counts or strides returned as decimal text use exact integer arithmetic. No physical voxel size is assumed.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Keep cell coordinates, storage order and physical scale separate. Use coordinate conversion for a different memory layout and a separate meshing or geometric model for rendered surfaces.
References
Similar or alternative tools
- Voxel Row Major Index to XYZ
Invert an exact zero-based voxel x-fastest row-major index with explicit positive dimensions, rejecting out-of-volume values rather than wrapping.
- Voxel Box Tile Index Record
Map a bounded voxel to tile/local coordinates and clipped half-open edge-tile bounds under explicit positive tile dimensions.