3d objects can be described by a set of points on a regular grid in Euclidean space. Given the n x 3 matrix m defining some number of objects on a grid with resolution res, return a matrix p that defines these objects after dilation by a single point on the grid in every direction.
Assume an "edge" connectivity scheme for dilation (i.e. each point in the grid has 18 neighbors, one for each surface of a cube and one for each edge of the cube). Any given point should appear in the output matrix once.
m = [0 0 0]; res = 1; >> p = dilate3d(m,res)
p =
-1 -1 0
-1 0 -1
-1 0 0
-1 0 1
-1 1 0
0 -1 -1
0 -1 0
0 -1 1
0 0 -1
0 0 0
0 0 1
0 1 -1
0 1 0
0 1 1
1 -1 0
1 0 -1
1 0 0
1 0 1
1 1 0
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers8
Suggested Problems
-
2369 Solvers
-
Count from 0 to N^M in base N.
240 Solvers
-
given 3 sides, find area of this triangle
820 Solvers
-
Project Euler: Problem 5, Smallest multiple
1651 Solvers
-
Create a matrix with difference of each row of input matrix
76 Solvers
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!