Problem 1785. Dilate a 3d object sampled on a regular grid
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
-
281 Solvers
-
Maintain shape of logical-index mask
72 Solvers
-
391 Solvers
-
Find Index of maximum Value and maximum Value of a vector
167 Solvers
-
222 Solvers
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!