How to mirror a plot in x and y axis.

168 views (last 30 days)
I want to mirror a plot in x and y axis so i forms a symmetrical shape made of four of the same randomly generated polygon.
prompt = {'Enter Number of vertices:',}
numberOfVertices = str2num(cell2mat(inputdlg(prompt, 'enter a number', 5)))
%numberOfVertices = 7; % Fixed at 7 for this demo.
coordinates = rand(numberOfVertices, 2);
coordinates(1,:) = [0, 0]; % Force first coord to 0,0
coordinates(end+1,:) = [0, 0]; % Force last coord to 0,0
plot(coordinates(:,1), coordinates(:,2));
grid on;
randomColor = rand(1,3);
patch(coordinates(:,1), coordinates(:,2), randomColor); % Can use fill() also.
set(gca, 'xdir', 'reverse');
grid on;

Accepted Answer

Yao Li
Yao Li on 8 Apr 2013
Edited: Yao Li on 8 Apr 2013
*mirror both in x axis and y axis
hold on
plot(-coordinates(:,1), -coordinates(:,2));
mirror only in x axis
hold on
plot(coordinates(:,1), -coordinates(:,2));
mirror only in y axis
hold on
plot(-coordinates(:,1), coordinates(:,2));
*
  5 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!