MATLAB: Calculate 2 opposing fibonacci spirals from every point of a circle circumfrence

fibonacci spiral

phi = 0.5*(1+sqrt(5)); % golden ratio
r = phi.^(2*theta/pi); % fibonacci spiral
polarplot(-theta,r,theta,r,theta,-r,-theta,-r) % 2 opposing fibonacci spirals
How can I calculate the trajectories of opposing fibonacci spirals starting from every point of a circle's circumfrence

Best Answer

clear all
theta = 0:pi/36:2*pi;
phi = 0.5*(1+sqrt(5));
r = phi.^(2*theta/pi);
r_1=phi.^(2*(-theta)/pi);
testi = exp(1i*theta);
x = r.*cos(theta);
y = r.*sin(theta);
angle=0:pi/36:2*pi;
for i=1:numel(angle)
rot_1{i} = [cos(angle(i)) -sin(angle(i));sin(angle(i)) cos(angle(i))] * [x-1;y+1];
rot_2{i} = [cos(angle(i)) -sin(angle(i));sin(angle(i)) cos(angle(i))] * [1-x;y+1];
end
figure(2)
hold on
for i = 1:numel(rot_1)
plot(rot_1{1,i}(1,:),rot_1{1,i}(2,:),rot_2{1,i}(1,:),rot_2{1,i}(2,:))
end
Related Question