function main()
clf; hold on; axis equal; axis off; % prepare the screen
linewidth=3; i=sqrt(-1); N=50; height=0.3; V=[]; M=[]; % initialize variables
white=0.99*[1, 1, 1]; red=[1, 0, 0]; lightblue=[135 206 250]/256;
Z=[0, 1, 0.5+i*sqrt(3)/2.0]; L=length(Z);
[V, M]=corner (N, V, M, Z(L), Z(1), Z(2), height);
for k=2:(L-1)
[V, M]=corner (N, V, M, Z(k-1), Z(k), Z(k+1), height);
end
[V, M]=corner (N, V, M, Z(L-1), Z(L), Z(1), height);
H=fill(real(V), imag(V), lightblue); set(H, 'LineWidth', linewidth/2, 'EdgeColor', lightblue)
for k=1:L
W=M(k, :);
plot(W, 'color', red, 'linewidth', linewidth)
end
% force the window to be a bit bigger than the picture
Winxmin=min(real(V)); Winxmax=max(real(V));
Winymin=min(imag(V)); Winymax=max(imag(V));
bd=0.1;
plot(Winxmin-bd, Winymin-bd, 'color', white);
plot(Winxmax+bd, Winymax+bd, 'color', white);
saveas(gcf, 'Extreme_points_illustration.eps', 'psc2')
% make a rounded corner at b with edges going towards a and c (all complex numbers)
function [V, M]=corner (N, V, M, a, b, c, height)
i=sqrt(-1);
v=-i*height*(b-a)/abs(b-a); w=-i*height*(c-b)/abs(c-b);
theta1=atan2(imag(v), real(v)); theta2=theta1+atan2(imag(w/v), real(w/v));
Theta=linspace(theta1, theta2, N);
C=b+height*exp(i*Theta);
M=[M', C']'; V=[V, C];
Legend: (cur) = this is the current file, (del) = delete this old version, (rev) = revert to this old version.
Click on date to download the file or see the image uploaded on that date.