Doctor en Matemáticas
Profesor titular de universidad (Associate professor)
Department of Geometry and Topology, Faculty of Mathematics, UCM (Spain)http://www.mat.ucm.es/imi/People/Gallego_Lupianez_Francisco.htm
- Desde el punto a la cuarta dimensión
Egmont Coleurs
- El Topologicón
Jean-Pierre Petit
% Al final de El Topologicón hay un código en BASIC para dibujar una
ResponderEliminar% proyección de los meridianos de la superficie de Boy. He hecho este
% código en Matlab para dibujar la superficie.
% Abro la figura
figure(1)
clf(1)
axis equal
axis off
az = 120; el = -90;
view(az,el)
hold on
light('Position',[1 -1 0],'Style','infinite');
title('Superficie de Boy. Los meridianos se cortan en el polo Sur.')
% Calculo las coordenadas de los puntos de la superficie de acuerdo con la
% parametrización mostrada en la página 72 de El Topologicón e intentando
% mantener la notación original.
np = 129;
nm = 65;
theta = linspace(0,2*pi,np);
mu = linspace(0,pi,nm);
[THETA,MU]=meshgrid(theta,mu);
ALPHA = pi/8*sin(3*MU);
SA = sin(ALPHA); CA = cos(ALPHA);
D = 10+1.41*sin(6*MU-pi/3);
E = +1.98*sin(3*MU-pi/6);
A = D+E ; B = D-E ;
C2 = sqrt(A.^2+B.^2); C3 = 4*D.*E./C2;
CM = cos(MU); SM = sin(MU);
TC = A.*cos(THETA);
TS = B.*sin(THETA);
X1 = C3 + TC - TS;
Z1 = C2 + TC + TS;
% Y las 3 coordenadas
X = X1.*CM - Z1.*SA.*SM;
Y = X1.*SM + Z1.*SA.*CM;
Z = Z1.*CA;
% Ahora dibujamos la superficie
h = surf(X,Y,Z);
set(h,'FaceAlpha',0.5)
set(h,'EdgeColor','none')
set(h,'FaceColor',[0 .5 .8])
set(h,'FaceLighting','phong')
% Pintamos el polo sur, o polo norte ;) ¡que son la misma cosa!
plot3(0,0,0,'.r','MarkerSize',30)
% Y unos cuantos meridianos
j = [1 17 33 49 ];
plot3(X(j,:)',Y(j,:)',Z(j,:)')
% Al final, hacemos una animación simplemente cambiando el punto de vista.
for j = 1:180
pause(0.1)
view([az+2*j,el+j])
end