Finding the path between two points
조회 수: 6 (최근 30일)
이전 댓글 표시
Hi all,
I have two x y z coordinates and I need the path between these two points. It does not necessarily need to be the shortest distance path. I am working with a (3x30) position matrix. The first row represents x, the second row is y and the third row is z.
Point 1: (x1,y1,z1)
Point 30: (x30,y30,z30)
Position matrix: [x1 .......... x30
y1 .......... y30
z1 .......... z30]
Point 1 and point 30 are given. I need something simple that will give me the remaining 28 points within the matrix.
Thanks in advance!
댓글 수: 2
James Tursa
2015년 7월 2일
편집: James Tursa
2015년 7월 2일
Any restrictions on the path? E.g., is a diagonal jump (two indexes changing at the same time) OK? Can indexes only change a max of 1 for each point?
채택된 답변
James Tursa
2015년 7월 2일
편집: James Tursa
2015년 7월 2일
E.g., a somewhat "linear" path allowing "diagonal" jumps (more than one index can change at a time):
Point1 = whatever;
Point30 = whatever;
Pmatrix = [round(linspace(Point1(1),Point30(1),30));
round(linspace(Point1(2),Point30(2),30));
round(linspace(Point1(3),Point30(3),30))];
If the points do not need to be integers, then skip the rounding.
댓글 수: 7
James Tursa
2015년 7월 2일
편집: James Tursa
2015년 7월 2일
They are not zero ... they are just displaying as zero because of the display format you are using (probably short) and the wide range of values in the result. Try this:
format long g
Then display the result again.
Or just look at the last row by itself:
Pmatrix(3,:)
추가 답변 (1개)
Image Analyst
2015년 7월 2일
See Steve's 5 part blog series on it: http://blogs.mathworks.com/steve/2011/11/01/exploring-shortest-paths-part-1/
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!