Diagonal between two random positions in matrix

20 visualizaciones (últimos 30 días)
Sebastian Daneli
Sebastian Daneli el 11 de Nov. de 2024 a las 19:37
Respondida: Walter Roberson el 11 de Nov. de 2024 a las 20:03
Hi
I have a Matrix, and two random positions in it. Now I want all the positions of the matrix that is on the line that passes through the two positions. I.e. I have the positions (x1,x2) and (y1,y2) of a Matrix, and I want the positions of the all the elements that is on the line that passes through this position in the matrix.
Thanks in advance.
  1 comentario
Torsten
Torsten el 11 de Nov. de 2024 a las 19:40
What do you expect as output if the matrix is 3x3 and the positions are (1,1) and (2,3) ?

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson el 11 de Nov. de 2024 a las 20:03
Use
[x2, y2, P] = impixel(xref,yref,YourMatrix,xi,yi)
impixel will first determine whether the x distance of the difference is larger than the y distance of the difference. Whichever is larger will be treated as the distance to be incremented over, with linear interpolation happening over the other distance.
You can do the same thing using interp2(), provided that you are smart about the distance you increment over.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by