Iso cubes are axis-aligned cuboids, i.e. a cube with faces parallel to the x, y, and z plane. Iso cuboids are the 3 dimensional version of iso rectangles and shares the feature that it can be constructed from bounding boxes (in 3D). An Iso cube is degenerate all its vertices are coplanar.

iso_cube(...)

is_iso_cube(x)

as_iso_cube(x)

Arguments

...

Various input. See the Constructor section.

x

A vector of iso cubes or an object to convert to it

Value

An euclid_iso_cube vector

Constructors

3 dimensional iso cubes

  • Providing a bbox will create iso cubes matching the bbox

  • Providing two points will create iso cubes with the points as diagonal opposite vertices

  • Providing 6 numeric will construct iso cubes with the given extent, with the numerics being interpreted in the following order: minimum x, minimum y, minimum z, maximum x, maximum y, and maximum z

See also

Other Geometries: circle(), direction(), iso_rect(), line(), plane(), point(), ray(), segment(), sphere(), tetrahedron(), triangle(), vec(), weighted_point()

Other Volumes: sphere(), tetrahedron()

Examples

# Construction
p <- point(sample(10, 2), sample(10, 2), sample(10, 2))
iso_cube(p[1], p[2])
#> <3D euclid_iso_cubes [1]>
#> [1] [<x:1, y:4, z:1>, <x:4, y:4, z:1>, <x:4, y:8, z:1>, <x:1, y:8, z:1>, <x:1, y:8, z:9>, <x:1, y:4, z:9>, <x:4, y:4, z:9>, <x:4, y:8, z:9>]

iso_cube(4, 10, 7, 16, -4, 0)
#> <3D euclid_iso_cubes [1]>
#> [1] [<x:4, y:10, z:7>, <x:16, y:10, z:7>, <x:16, y:-4, z:7>, <x:4, y:-4, z:7>, <x:4, y:-4, z:0>, <x:4, y:10, z:0>, <x:16, y:10, z:0>, <x:16, y:-4, z:0>]

s <- sphere(point(5, 9, 2), 13)
iso_cube(bbox(s))
#> <3D euclid_iso_cubes [1]>
#> [1] [<x:1.39, y:5.39, z:-1.61>, <x:8.61, y:5.39, z:-1.61>, <x:8.61, y:12.6, z:-1.61>, <x:1.39, y:12.6, z:-1.61>, <x:1.39, y:12.6, z:5.61>, <x:1.39, y:5.39, z:5.61>, <x:8.61, y:5.39, z:5.61>, <x:8.61, y:12.6, z:5.61>]