How to plot a regular hexagon using MATLAB?
Show older comments
This is what I tried. All I get is a square. I thought the number of x and y gives the figure.
x1=1;y1=-1;x2=-1;y2=1;x3=1;y3=1;x4=-1;y4=-1;x5=1;y5=1;x6=-1;y6=1;
plot(x1,y1,'o',x2,y2,'*',x3,y3,'h',x4,y4,'d',x5,y5,'k',x6,y6,'g')
axis([-2 2 -2 2])
What am I doing wrong? Please help!
Thanks for your time.
2 Comments
Image Analyst
on 5 Aug 2012
Points 3 and 5 are the same, and points 2 and 6 are the same, so they'll plot at exactly the same place.
T
on 14 Sep 2013
Edited: Azzi Abdelmalek
on 15 Sep 2013
This is how I did it:
theta= 0:pi/3:2*pi
r= ones(1,7)
polar(theta,r)
Accepted Answer
More Answers (2)
rahul sharma
on 6 Jan 2017
1 vote
a=4; b=4;c=4; x=[a c*0.5 -b*0.5 -a -c*0.5 b*0.5 a]; y=[0 c*0.866 b*0.866 0 -c*0.866 -b*0.866 0];
plot(x,y); axis([-6 6 -6 6])
Azzi Abdelmalek
on 5 Aug 2012
Edited: Azzi Abdelmalek
on 5 Aug 2012
% use this function
function hexagon(cote,x0,y0)
%cote= side size;,(x0,y0) exagon center coordinates;
x=cote*[-1 -0.5 0.5 1 0.5 -0.5 -1]+x0
y=cote*sqrt(3)*[0 -0.5 -0.5 0 0.5 0.5 0]+y0
plot(x,y,'r','Linewidth',4);grid;
axis([ x0-cote x0+cote y0-cote y0+cote]);
%example
hexagon(10,5,8)
4 Comments
Maimouna Louche
on 7 Aug 2012
Suvendu Konai
on 5 Jul 2013
do i need to include any tools for running this function? its not running by only copy paste !
sravankumar v
on 31 Aug 2018
how to name each vertex of hexagon?
Image Analyst
on 31 Aug 2018
What do you mean by "name"? Like you want to use text() to place a string next to each vertex?
Categories
Find more on Line Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!