Translate/Rotate submatrix

I have a 512x512x100 matrix A which contains a 100x100x20 submatrix S. I want to translate (and rotate) S. In few words, the final result must be a 512x512x100 matrix containing S, but in a different position (and if possible, rotated). How can I do that?

4 commentaires

Stephen23
Stephen23 le 12 Avr 2018
Modifié(e) : Stephen23 le 12 Avr 2018
  • Translation: perhaps using indexing, or interpolation. What happens to the elements where the subarray used to be: do they keep their values, or get new values?
  • Rotation: by multiples of 90 degrees, or by any arbitrary angle?
Friend
Friend le 12 Avr 2018
Modifié(e) : Friend le 12 Avr 2018
  • They get new values (zeros)
  • If possible, any arbitrary angle
PS: the only non-zero values contained in A, are inside S.
Stephen23
Stephen23 le 12 Avr 2018
  • Translation: depending on your requirements you could use indexing, or circshift. What happens if the new subarray position lies across/outside the array dimensions?
  • Rotation of a array by an arbitrary angle is not clearly defined:
Friend
Friend le 12 Avr 2018
  • It's true, I solved the translation problem through simple indexing.
  • I had a feeling that rotating by an arbitrary angle wouldn't be possible. I'll try with 90° rotations. thanks

Connectez-vous pour commenter.

Réponses (0)

Catégories

Question posée :

le 12 Avr 2018

Commenté :

le 12 Avr 2018

Community Treasure Hunt

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

Start Hunting!

Translated by