[edit] Summary
Abaque de Wulff avec un pas de 2 °, pour la lecture de figure de pôles
Wulff net with a step of 2°, used to read pole figures
Voir aussi/see also : image:abaque wulff.png
Auteur/author : Christophe Dang Ngoc Chan (cdang)
Réalisé avec/made with : Scilab
clear;clf;
pas=0.005;
// Cercle horizontal de base
y=[0:pas:1]';
NY=size(y); ny=NY(1,1);
for i=1:ny
x(i)=sqrt(1-y(i)^2);
end
// Cercles méridiens et parallèles
for j=1:44
r1=cos(j*%pi/90); // décalage de 2°
r2=sin(j*%pi/90);
for i=1:ny
// Cercles méridiens
Xm(i,j)=x(i)*r1; // coordonnées des points du cercle incliné
Ym(i,j)=y(i);
Zm(i,j)=x(i)*r2;
// Cercles parallèles
Xp(i,j)=y(i)*r2; // coordonnées des points du cercle parallèle
Yp(i,j)=r1;
Zp(i,j)=x(i)*r2;
end
end
// Projection stéréographique
// Pôle Sud S(0,0,-1), pôle P(X1,Y,Z)
// Droite : S + m*SP = (m*X1)i + (m*Y)j + (-1+m*(Z+1))k
for j=1:44
for i=1:ny
// Cercles méridiens
mm = 1/(1+Zm(i,j)); // z=0
Xm1(i,j)=mm*Xm(i,j);
Ym1(i,j)=mm*Ym(i,j);
// Cercles parallèles
mp = 1/(1+Zp(i,j)); // z=0
Xp1(i,j)=mp*Xp(i,j);
Yp1(i,j)=mp*Yp(i,j);
end
end
// Tracé
// Méridiens : simplifié près des extrémités (10°)
k=int((1-cos(%pi/18))/pas);
l=int((1-cos(%pi/90))/pas);
if l=0 then l=1; end
// Graduations par 2°
for j=[[1:4],[6:9],[11:14],[16:19],[21:24],[26:29],[31:34],[16:39],[41:44]]
plot2d(Xm1(1:ny-k,j),Ym1(1:ny-k,j),style=2)
plot2d(-Xm1(1:ny-k,j),Ym1(1:ny-k,j),style=2)
plot2d(Xm1(1:ny-k,j),-Ym1(1:ny-k,j),style=2)
plot2d(-Xm1(1:ny-k,j),-Ym1(1:ny-k,j),style=2)
plot2d(Xp1(:,j),Yp1(:,j),style=2)
plot2d(-Xp1(:,j),Yp1(:,j),style=2)
plot2d(Xp1(:,j),-Yp1(:,j),style=2)
plot2d(-Xp1(:,j),-Yp1(:,j),style=2)
end
// Graduations principales
for j=5:5:44
xpoly(Xm1(1:ny-k,j),Ym1(1:ny-k,j))
a=get('hdl');a.thickness=2;
xpoly(-Xm1(1:ny-k,j),Ym1(1:ny-k,j))
a=get('hdl');a.thickness=2;
xpoly(Xm1(1:ny-k,j),-Ym1(1:ny-k,j))
a=get('hdl');a.thickness=2;
xpoly(-Xm1(1:ny-k,j),-Ym1(1:ny-k,j))
a=get('hdl');a.thickness=2;
plot2d(Xm1(ny-k:ny-l,j),Ym1(ny-k:ny-l,j))
plot2d(-Xm1(ny-k:ny-l,j),Ym1(ny-k:ny-l,j))
plot2d(Xm1(ny-k:ny-l,j),-Ym1(ny-k:ny-l,j))
plot2d(-Xm1(ny-k:ny-l,j),-Ym1(ny-k:ny-l,j))
xpoly(Xp1(:,j),Yp1(:,j))
a=get('hdl');a.thickness=2;
xpoly(-Xp1(:,j),Yp1(:,j))
a=get('hdl');a.thickness=2;
xpoly(Xp1(:,j),-Yp1(:,j))
a=get('hdl');a.thickness=2;
xpoly(-Xp1(:,j),-Yp1(:,j))
a=get('hdl');a.thickness=2;
end
// axes et cercle autour
plot2d(x,y)
plot2d(-x,y)
plot2d(x,-y)
plot2d(-x,-y)
xpoly([0,0],[-1,1])
a=get('hdl');a.thickness=2;
xpoly([-1,1],[0,0])
a=get('hdl');a.thickness=2;
axe=get('current_axes');
axe.axes_visible=['off','off'];
axe.isoview='on';
axe.box='off';
[edit] Licensing
I, the copyright holder of this work, have published or hereby publish it under the following license:
|
Cliquer sur une date et une heure pour voir le fichier tel qu’il était à ce moment-là
Aucune page ne contient cette image.