How can I plot different quadrilateral with different range of coordinates per node?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hamed Bolandi
am 10 Jul. 2019
Kommentiert: Hamed Bolandi
am 19 Jul. 2019
I have a square with dimension of 50x50 with four nodes, each node will vary in range of (-10,10) which means each corner of the square has 3 nodes along x axis (Fig below)
I want to connect each node per corner to nodes in other corners in order to make different quadrilateral with different shape. For this special case It would be 3^4=81 different shapes and I need to plot them as subplot (8,8,n), I have written intial part of the code but I dont know how to connect all coressponding nodes to each other to make 64 different quadrilateral. Could you please tell me how to do this? Thanks
clc;
clear;
close all;
x = [-25; 25; 25; -25];
y = [-25; -25; 25; 25];
for i=1:4
for j=-10:10:10
x(i,:)=x(i,:)+j;
Y(:,:)=y;
subplot(2,2,i);
plot(x,y,'.');
xlim([-50 50])
ylim([-50 50])
k = boundary(x,y);
hold on;
plot(x(k),y(k));
end
end
0 Kommentare
Akzeptierte Antwort
darova
am 18 Jul. 2019
Look at my soultion
clc,clear
x = [-1 1 1 -1]*25;
y = [-1 -1 1 1]*25;
plot(x,y,'or'); % plot original nodes
axis([-1 1 -1 1]*40) % axes boundaries
hold on
k = 0;
for i = 1:4
for j = -10:10:10
x1 = x; % create a copy of "x"
x1(i) = x1(i) + j; % modify current node
% k = k + 1;
% subplot(4,3,k)
h = plot([x1 x1(1)],[y y(1)],'.-b');
pause(1)
delete(h);
end
end
hold off
Do you like it?
4 Kommentare
darova
am 19 Jul. 2019
You can use for loop to create c vector
c(1).x=M(1,1);
c(1).y=M(1,2);
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Axis Labels finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!