MATLAB Answers

Drawing polygon from lines

12 views (last 30 days)
Tchilabalo
Tchilabalo on 18 Sep 2020
Commented: VBBV on 18 Sep 2020
I have polygon as shown in Fig1. I also know the coordinates of the vertices. I now want to use those vertices to create a serie of lines that reproduce the same polygon. I have the following code, but can't reproduce the initial figure (see Fig2). I know the "patch" function can be used but it doesn't serve my goal.
clear all
Vertex_X=[30;43;49;45;22;19;30;43;89;28;30;28;0;19;54;45;49;89;54;89;96;66];%X coordinate of vertex
Vertex_Y=[38;40;55;69;66;41;38;40;0;16;38;16;19;41;86;69;55;44;86;44;40;100];%Y coordinate of vertex
for i=1:(length(Vertex_X)-1)
X1(i)=Vertex_X(i);
Y1(i)=Vertex_Y(i);
X2(i)=Vertex_X(i+1);
Y2(i)=Vertex_Y(i+1);
end
A=[X1 Y1];
B=[X2 Y2];
plot(A.',B.','LineWidth', 0.75)
  2 Comments
VBBV
VBBV on 18 Sep 2020
@ Bruno
You are right ! thats why it does not resemble

Sign in to comment.

Answers (1)

VBBV
VBBV on 18 Sep 2020
Edited: VBBV on 18 Sep 2020
Try this
%if true
% code
%end
clear all
Vertex_X=[30;43;49;45;22;19;30;43;89;28;30;28;0;19;54;45;49;89;54;89;96;66];%X coordinate of vertex
Vertex_Y=[38;40;55;69;66;41;38;40;0;16;38;16;19;41;86;69;55;44;86;44;40;100];%Y coordinate of vertex
for i=1:(length(Vertex_X)-1)
X1(i)=Vertex_X(i+1);
Y1(i)=Vertex_Y(i+1);
X2(i)=Vertex_X(i+1);
Y2(i)=Vertex_Y(i+1);
end
A=[X1 X2];
B=[Y1 Y2];
plot(A.',B.','LineWidth', 0.75)
This works as your fig1
  2 Comments
VBBV
VBBV on 18 Sep 2020
See figures attached.
One is without fill option, using plot function
other with fill option using patch
You have to specify the color options according to your choice.
I used rand() to generate colors with colorbar

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by