Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

Difficulties programming coordinates identification

1 visualización (últimos 30 días)
Alex castilla
Alex castilla el 13 de Abr. de 2018
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
I have two matrices:
1- contains the ‘x’ and ‘y’ coordinates ( 2816x2) for a trajectory walk.
2- the second one (9x3) contains the ‘index’,‘X’ and ’Y’ for the coordinates for nine tiles.
During the trajectory, a person walks on certain tiles. I would like to know how to identify the tile or tiles the person walks on using the index of the tiles (figure 1). Is it possible to obtain a column with 0’s and the tile’s indices?
For instances, if the person walks without passing through/on a tile is noted 0 and if the person walks on a tile the index of the tile 1. My goal is to add a column to the first matrix with the new data (like this 2816x3).

Respuestas (1)

dpb
dpb el 13 de Abr. de 2018
Editada: dpb el 13 de Abr. de 2018
[isHit,whereHit]=ismember(Tile(:,2:3),Traj,'rows');
isHit is T if the tile was touched during the walk; whereHit is the location in the (first) trajectory vector the intersection was. If there can be multiple crossings and need those, will need to do that lookup separately.
ADDENDUM The above assumes trajectory and tiles are discrete coordinates...does the tile cover some number of units of size of dX/dY in the tractory? If so, need neighborhood calc, not just coordinate match.
Let us know more if the above first assumption is erroneous.
  1 comentario
Alex castilla
Alex castilla el 14 de Abr. de 2018
Yes, you are right, I did a neighbourhood calculation to know if the subject walk on the tile(s). I added a width and height. this is the code:
w=30;% target position's width
h=30;% target position's height
reach_target=zeros(size(x));
for i= 1:length(x)
for e=1:length(X)
if (x(i)>(X(e)-w/2) & x(i)<(X(e)+w/2));
if(y(i)>(Y(e)-h/2) & y(i)<(Y(e)+h/2));
reach_target(i)=1;
end
end
end
end

La pregunta está cerrada.

Community Treasure Hunt

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

Start Hunting!

Translated by