How to plot an hexagon or square spiral shape ?

10 views (last 30 days)
Hello I am trying to plot an spiral shape similar to one of the following figures(There is no difference, I need one of them, plooting in simple(solid) line is enough for me, I don't need markers on them) but I have no idea how to do it in matlab. Thanks in advance.

Accepted Answer

darova
darova on 14 Jun 2020
try ths
t = 0:pi/2:100;
r = t.^2/100;
[x,y] = pol2cart(t,r);
plot(x,y)
pi/2 pi/4
  1 Comment
DGM
DGM on 14 Jan 2025
Edited: DGM on 14 Jan 2025
A bit of elaboration:
% parameters
nt = 15; % number of turns
ns = 6; % number of polygon sides
r0 = 1; % initial (maximum) radius
rp = 2; % controls the rate with which r decreases
th0 = 90; % initial angle
theta = (nt*2*pi:-2*pi/ns:0) + (pi*th0/180);
rho = r0*(theta/max(theta)).^rp;
[x,y] = pol2cart(theta,rho);
plot(x,y,'.-')
axis equal square

Sign in to comment.

More Answers (1)

jonatan
jonatan on 8 Jul 2017
It is best to be solved in polar coordinates. For a simple square, you can show the relationship:
theta = 0:0.01:2*pi;
rho = min(abs(sec(t)), abs(csc(t)));
So if you want to create a spiral, you will need a small adjustment:
N = 10; %Number of spirals
theta = 0:0.01:2*pi*N;
rho = min(abs(sec(t)), abs(csc(t))) * theta;
You now can plot it using polarplot or convert it to Cartesian coordinates and using the regular plot function.

Categories

Find more on Polar Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!