Skip to content

Main content

Voxel Occupancy Axis Projection

Project deduplicated explicit occupied voxel coordinates by dropping one axis, coalescing projected duplicates in first-appearance order; no depth, visibility or rendering model.

Loading tool…

Description

Project deduplicated explicit occupied voxel coordinates by dropping one axis, coalescing projected duplicates in first-appearance order; no depth, visibility or rendering model.

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.

Project deduplicated explicit occupied voxel coordinates by dropping one axis, coalescing projected duplicates in first-appearance order; no depth, visibility or rendering model.

When to use this tool

Use this tool to project deduplicated explicit occupied voxel coordinates by dropping one axis, coalescing projected duplicates in first-appearance order; no depth, visibility or rendering model.

How to use the tool and how it works

  1. Enter coordinates, axis using the field definitions below.
  2. Run the operation. Correct input errors before interpreting an output.
  3. Read result.projection. Use the ordering, boundary rules and absence conditions described below.

Deduplicate occupancy, remove the selected axis from each coordinate, then deduplicate the resulting pairs in first-appearance order.1

Input fieldMeaning and unitsAccepted input
coordinatesList of [x, y, z] occupied integer cell coordinates; duplicates are coalesced for occupancy operations.Dense list of at most 128 numeric rows, each at most 128 finite entries; required row shape is stated above.
axisAxis index: 0 = x, 1 = y, 2 = z.A finite safe integer within the operation’s stated bounds.
Output fieldInterpretation
resultObject containing the named fields below.
result.projectionDistinct projected coordinate pairs in first-appearance order.
json
{
  "input": {
    "coordinates": [
      [
        0,
        0,
        0
      ],
      [
        0,
        0,
        1
      ],
      [
        1,
        0,
        0
      ]
    ],
    "axis": 2
  },
  "output": {
    "result": {
      "projection": [
        [
          0,
          0
        ],
        [
          1,
          0
        ]
      ]
    }
  }
}

Limitations and assumptions

  • Projection loses depth and does not distinguish visible cells from hidden cells.
  • 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

  1. Tool behavior and example: Voxel Occupancy Axis Projection — tool.io

Similar or alternative tools

  • Voxel Axis Order Stride Record

    Compute exact per-axis voxel strides for an explicit fastest-to-slowest axis permutation; distinguish physical axis order from a fixed row-major convention.

  • Voxel Box Fixed Axis Slice

    Report the two-dimensional half-open cross-section bounds and explicit emptiness of one integer fixed-axis voxel-box slice; no cell enumeration or interpolation.