Clear Filters
Clear Filters

I have a large cube composed of voxels and I want to move a smaller cube also composed of voxels inside the larger one.

5 views (last 30 days)
Hi
I have a large cube composed of voxels and I want to move a smaller cube also composed of voxels inside the larger one.
And then do a translation and a rotation of the smaller cube still inside the larger one at a point different from the origin of the latter.
Thanks for your help

Answers (1)

Himanshu
Himanshu on 8 Jan 2024
Hey Mahan,
I understand that you are trying to translate and rotate a smaller cube inside a larger one at a point different from the origin of the latter.
Please try out the following approach for the same:
  1. Create representations of the larger and smaller cubes in a suitable format. For example, you might represent each cube as a collection of 3D coordinates (voxels) or as mesh structures.
  2. Define the transformation matrix for translation (using makehgtform or directly creating a transformation matrix). Apply this transformation matrix to the coordinates of the smaller cube to move it to the desired position inside the larger cube.
  3. Define the rotation matrix or rotation quaternion representing the desired rotation. Apply this rotation transformation to the coordinates of the smaller cube.
  4. Translate the smaller cube's coordinates so that the rotation point becomes the origin and apply the rotation transformation.
Hope this helps!

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!