Я пытаюсь получить различные углы (тета синего цвета на картинке) вместе с длиной линий (красная точка — это конечная точка от нуля) Смотрите картинку ниже
Обратите внимание, что я пытаюсь получить более одного угла и более одной длины от нуля, я планирую создать функцию, в которой я буду получать угол или длину линии, если я введу заданный угол или заданную длину.
Я пытаюсь воссоздать изображение выше, используя параметрическую форму, я следовал инструкциям с этого веб-сайта http://www.intmath.com/blog/golden-spiral/6512?PageSpeed=noscript Но, похоже, это не работает. Основная цель — получить различные углы и длину линий с нуля.
Код вместе с сюжетом у меня ниже
clear all, clc, clf
%find how many angles to make one full cycleremeber to divide by two if using stereo signal 180 out of phase
incr=20;
angle_wanted=incr;
n = lcm(360, 180 - angle_wanted) / (180 - angle_wanted)
angle_div=[0:incr:incr*n] %angle divsions
angle_div_mod=mod(angle_div,360) %angle divsions mod into 360
angle_div_mod_opp=mod(angle_div+180,360) %oppsite angle divsions mod into 360
%for circles
r= 2.2;
for rho = 0:0.1:2
[x1,y1] = pol2cart( 0:0.01:2*pi , rho);
plot(x1,y1,'b')
axis(1.10*[-r r -r r])
axis equal
hold on;
end
%for orig angles
for ii=1:n
angle=angle_div(ii)
[x1,y1] = pol2cart( angle / 180 * pi , [0 2]);
plot(x1,y1,'r')
hold on;
title_h=title(['Norig= ', int2str(ii)]);
%title_h = title('This is the title');
set(title_h, 'Position', [0.5, 0.02],'VerticalAlignment', 'bottom', 'HorizontalAlignment', 'left')
%%for creating orig angles
idx=angle_div_mod(ii);
text(r*cos(pi*idx/180),r*sin(pi*idx/180),num2str(idx), 'HorizontalAlignment','center', 'color',[1 .5 0])
pause (.1)
end
%for oppsite angles
for ii=1:n
angle_opp=angle_div_mod_opp(ii)
[x1,y1] = pol2cart( angle_opp/ 180 * pi , [0 2]);
plot(x1,y1,'g')
hold on;
title(['Nopp= ', int2str(ii)]);
%for creating oppsite angles
idx=angle_div_mod_opp(ii);
text(r*cos(pi*idx/180),r*sin(pi*idx/180),num2str(idx), 'HorizontalAlignment','center', 'color',[.5 .7 .7])
pause (.1)
end
t = linspace(0,5*pi,1000);
r=e^0.30635*t;
x = r.*cos(t);
y = r.*sin(t);
plot(x,y)