e = 'ENCINAL ULTIMATE'; w = 'www.vangregory.com/ultimate/'; cN = exp((1:400)*pi*2j/399); % 400 point unit circle % Parametric curve disc design ------------------------------------------ a = .485; b = 6.5; t0 = pi*(.34: .027 : 1.23); r0 = .6 ./ (t0.^.8); p0 = r0.*exp(t0.*1j); % text spiral t1 = pi*(a : .001 : b ); r1 = 1 ./ t1; p1 = r1.*exp(t1.*1j); % red spiral t2 = pi*(a+2: .001 : b+3 ); r2 = 40 ./ (t2.^2); p2 = r2.*exp(t2.*1j); % blue spiral cntr = complex(-.1,.15); circ = .55*cN; plt(circ+cntr,p1,p2,'position',[10 45 1309 1087],'linewidth',4,... 'TraceC',[.9 .9 .9; 1 0 0; 0 0 1],'xlim',[-.8 .56],'ylim',[-.45 .75]); text(.0382,-.1735,'r = 1/\theta','color',[1 0 0],'fontsize',20,'rotation',38); text(.1028,-.264,'r = 40/\theta^2','color',[0 0 1],'fontsize',20,'rotation',43); for k=1:length(e) m=2*k; v = p0(m+1) - p0(m-1); text(real(p0(m)),imag(p0(m)),e(k),'color',[.7 0 .7],... 'rotation',angle(v)*180/pi,'fontsize',800*abs(v),... 'fontname','Lucida Handwriting'); end; for k=1:length(w) p = .93*circ(130+3*k) + cntr; text(real(p),imag(p),w(k),'color',[.5 .5 .5],'fontsize',24,... 'rotation',90+angle(p-cntr)*180/pi,'fontname','Andale Mono'); end; % 12 circles disc design ------------------------------------------ % note: This design is one solution to the problem below: % % ***************************************************** % ** ** % ** The 12 circle problem: ** % ** Draw 12 circles in a plane so that every ** % ** circle is tangent to exactly 5 others. ** % ** ** % ***************************************************** % v = 1:4; r = (12+5*v)./(12-v); % radii of vertical set of 4 c = [v-1 complex(4,7-r) 9-v]; % center location of all 12 circles r = [v r v]; % radii of all 12 circles tc = [.75 .75 0; 1 0 0; .7 0 .7; 0 0 1]; % colors for each group of 4 circles cntr = complex(4,1.5); circ = 6.5*cN; plt(circ+cntr, transpose(cN)*r + repmat(c,400,1),... 'TraceC',[.9 .9 .9; tc; tc; tc],... 'LineWidth',4,'Position',[15 15 1188 1115],... 'Xlim',[-3.5 11.5],'Ylim',[-6 9],... 'AxisPos',[1 1 1 1 1.2],'LabelY','','LabelX',''); set(findobj('marker','+'),'vis','off'); for k=1:length(e) p = .93*circ(mod(6*k-29,400)) + cntr; text(real(p),imag(p),e(k),'color',[0 0 0],'fontsize',34,... 'rotation',90+angle(p-cntr)*180/pi,'fontname','Lucida Handwriting'); end; for k=1:length(w) p = .93*circ(130+3*k) + cntr; text(real(p),imag(p),w(k),'color',[.5 .5 .5],'fontsize',24,... 'rotation',90+angle(p-cntr)*180/pi,'fontname','Andale Mono'); end;