필터 지우기
필터 지우기

Find path between two points with X and Y coordinates

조회 수: 3 (최근 30일)
Erkin Karatas
Erkin Karatas 2019년 12월 29일
댓글: darova 2019년 12월 29일
Hi all, I want to draw path between points, but the paths cannor be diagonal. Therefore the paths should have corners. Think it as a rectangle, you want to move from a corner to another corner, but cannot move diagonally. How can I show that on matlab? The coordinates are attached.
Thanks
  댓글 수: 2
darova
darova 2019년 12월 29일
Can you show your attempts? What have you tried?
Erkin Karatas
Erkin Karatas 2019년 12월 29일
clear all
clc
p = xlsread('coordinates');
for k =1:length(p)
for i = 1:length(p)
x = [p(k,1) p(i+1,1) p(i+1,1) p(i+1,1)];
y = [p(k,2) p(1,2) p(1,2) p(i+1,2)];
x1 = [p(k,1) p(k,1) p(k,1) p(i+1,1)];
y1 = [p(k,2) p(i+1,2) p(i+1,2) p(i+1,2)];
plot(x,y,x1,y1)
i = i+1;
hold on
end
k=k+1;
end
when k is larger than 1, the code does not print the thing I want.

댓글을 달려면 로그인하십시오.

채택된 답변

darova
darova 2019년 12월 29일
I reached a succes
p = xlsread('coordinates');
x = p(:,1);
y = p(:,2);
plot(x,y,'.r')
hold on
for i = 1:length(x)-1
plot([x(i) x(i+1)],[y(i) y(i)])
plot([x(i+1) x(i+1)],[y(i) y(i+1)])
pause(0.5)
end
hold off
  댓글 수: 5
Erkin Karatas
Erkin Karatas 2019년 12월 29일
In the end I should have a 50x50 matrix which stores the lengths of each path
clc
clearvars
close all
XY = xlsread('coordinates');
result1=pdist2(XY,XY,'cityblock')
This is how I store my lengths, as I said earlier, if any path crosses any obstacle then the length of that path should be inf or something very large(the value actually does not matter)
darova
darova 2019년 12월 29일
  • While visiting the points in the file 'coordinate' if I the line crosses an obstacle(which is attached as file)
It's too complicated for this forum. You should incorporate your own script
To connect each point with each points use this code:
for i = 1:length(x)-1
for j = i+1:length(x)-1
plot([x(i) x(j)],[y(i) y(i)])
plot([x(j) x(j)],[y(i) y(j)])
pause(0.01)
end
end

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Functions에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by