Is there a toolbox for simple object movements represented by matrices?

Okay, I need to make this question more precisely so here is what I'd like to have:
  • I create an object for example it is a 5x5 square in a matrix represented by ones and the matrix itself is a 10x10 matrix with zeros
  • now the square can do any possible transformation step by step and I always get the new matrix for the transformation done
  • the same thing I would like to have for an simple 3D objects like a cube, sphere etc. projected to a 2D matrix also with all possible tranformations
  • and the reason I would like to do this is because I want to have the perfect optic flow (can get this because I know the tranformation applied to the object) for all the movements applied to the objects (this offers me some possibilities of comparison to implementations of optic flow algorithms)
  • scaling could be the most difficult part for getting the perfect optic flow - if you have a good idea please tell me - because each pixel moves to more or less new points
Is there a toolbox that can atleast give me the desired matrices? (Or even better give me somehow the optic flow velocities (u, v)?)

4 Comments

What does "the square can do any possible transformation step by step" exactly mean? What are "possible transformations"? A sphere projected onto a 2D matrix? You mean a "disk"? What exactly is "etc" in "cube, sphere etc."?
The details "perfect optical flow" reduces the range of users, who understand what you are talking about, to a very small number. But for Matlab the observed objects will be numbers and matrices. So what about explaining the problem in these terms?
transformations i thought are - translation, rotation, scaling and that should cover all possible transformations (step by step was unnecessary bc I can choose the step size myself but it would be useful if I could get the matrices for every movement by the size of one pixel) A sphere projected onto a 2D matrix means I calculate the movement in a 3D environment but like seen through a screen (2D) (no stereo vision) etc. is for example in 2D a circle, a triangle, a hexagon... same for 3D perfect optic flow should be covered by getting for each movement the vector (x; y) of this movement for each pixel.
Does the "scaling" of the ones(5,5) matrix concern the shape only or does this operation involve, that the values are changed also?
Currently your question is too abstract for me to post an answer.
Scaling as I thought of it for my case should only change a ones(5,5) square to a for example ones(7,7) square. Of course I probably have to re-think this for the 3D visualization with matrices. (Or just have to read the documentation if there exists already something that can deliver what I am looking for)

Answers (0)

This question is closed.

Asked:

on 27 Aug 2017

Closed:

on 3 Sep 2017

Community Treasure Hunt

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

Start Hunting!