input geometriesyr16;

vardef FX(expr t,v)=cosd(c*t)*cosd(c*v)
enddef;

vardef FY(expr t,v)=cosd(c*t)*sind(c*v)
enddef;

vardef FZ(expr t,v)=sind(c*t)
enddef;

figureespace(-10u,-10u,10u,10u);
Initialisation(5,22,20,750);
path equa,pole;
color O,A,B,N;
O=(0,0,0);
A=(1,0,0);
B=(0,1,0);
N=(0,0,1);
equa=cercles(O,B,O,B,-A);
%fillcolor:=ciel;
%transparence equa;
pole=cercles(O,B,O,B,N);
color S[];
S1=(cosd(75)*cosd(40),sind(75)*cosd(40),sind(40));
S2=(cosd(15)*cosd(10),sind(15)*cosd(10),sind(10));
S3=(cosd(45)*cosd(65),sind(45)*cosd(65),sind(65));
drawoptions(withcolor gris);
InitialiseParametre(-pi,pi,pi/30,-pi,pi,pi/30);
FamilleDesCourbesEnU;
FamilleDesCourbesEnV;
drawoptions();
drawarrow segment(-B,B) dashed dashpattern(on12bp off6bp on3bp off6bp);
drawarrow segment(-A,A) dashed dashpattern(on12bp off6bp on3bp off6bp);
drawarrow segment(-N,N) dashed dashpattern(on12bp off6bp on3bp off6bp);
marque_p:="plein";
pointe(S1,S2,S3);
trace segment(O,S1);
trace chemin(O,(redpart(S1),greenpart(S1),0),S1) dashed evenly;
trace segment((redpart(S1),greenpart(S1),0),(redpart(S1),0,0)) dashed withdots;
trace segment((redpart(S1),greenpart(S1),0),(0,greenpart(S1),0)) dashed withdots;
trace segment(O,S2);
trace chemin(O,(redpart(S2),greenpart(S2),0),S2) dashed evenly;
trace segment((redpart(S2),greenpart(S2),0),(redpart(S2),0,0)) dashed withdots;
trace segment((redpart(S2),greenpart(S2),0),(0,greenpart(S2),0)) dashed withdots;
trace segment(O,S3);
trace chemin(O,(redpart(S3),greenpart(S3),0),S3) dashed evenly;
trace segment((redpart(S3),greenpart(S3),0),(redpart(S3),0,0)) dashed withdots;
trace segment((redpart(S3),greenpart(S3),0),(0,greenpart(S3),0)) dashed withdots;
trace (cercles(O,S2,O,S2,Normal(O,Normal(O,S2,S1),S2)) cutafter segment(S1,S1))
withpen pencircle scaled 2bp dashed evenly withcolor jaune;
trace (cercles(O,S3,O,S3,Normal(O,Normal(O,S1,S3),S3)) cutbefore demidroite(99/100[S3,S1],S1))
withpen pencircle scaled 2bp dashed evenly withcolor rouge;
trace (cercles(O,S3,O,S3,Normal(O,Normal(O,S3,S2),S3)) cutafter demidroite(99/100[S1,S2],S2))
withpen pencircle scaled 2bp dashed evenly withcolor bleu;
finespace;
%figure2
figureespace(-10u,-10u,10u,10u);
Initialisation(5,22,20,750);
path equa,pole;
color O,A,B,N;
O=(0,0,0);
A=(1,0,0);
B=(0,1,0);
N=(0,0,1);
equa=cercles(O,B,O,B,-A);
fillcolor:=ciel;
transparence equa;
pole=cercles(O,B,O,B,N);
color S[];
S1=(cosd(75)*cosd(40),sind(75)*cosd(40),sind(40));
S2=(cosd(15)*cosd(10),sind(15)*cosd(10),sind(10));
S3=(cosd(45)*cosd(65),sind(45)*cosd(65),sind(65));
drawoptions(withcolor gris);
InitialiseParametre(-pi,pi,pi/30,-pi,pi,pi/30);
FamilleDesCourbesEnU;
FamilleDesCourbesEnV;
drawoptions();
drawarrow segment(-B,B) dashed dashpattern(on12bp off6bp on3bp off6bp);
drawarrow segment(-A,A) dashed dashpattern(on12bp off6bp on3bp off6bp);
drawarrow segment(-N,N) dashed dashpattern(on12bp off6bp on3bp off6bp);
marque_p:="plein";
pointe(S1,S2,S3);
trace segment(O,S1);
trace chemin(O,(redpart(S1),greenpart(S1),0),S1) dashed evenly;
trace segment((redpart(S1),greenpart(S1),0),(redpart(S1),0,0)) dashed withdots;
trace segment((redpart(S1),greenpart(S1),0),(0,greenpart(S1),0)) dashed withdots;
trace segment(O,S2);
trace chemin(O,(redpart(S2),greenpart(S2),0),S2) dashed evenly;
trace segment((redpart(S2),greenpart(S2),0),(redpart(S2),0,0)) dashed withdots;
trace segment((redpart(S2),greenpart(S2),0),(0,greenpart(S2),0)) dashed withdots;
trace segment(O,S3);
trace chemin(O,(redpart(S3),greenpart(S3),0),S3) dashed evenly;
trace segment((redpart(S3),greenpart(S3),0),(redpart(S3),0,0)) dashed withdots;
trace segment((redpart(S3),greenpart(S3),0),(0,greenpart(S3),0)) dashed withdots;
trace (cercles(O,S2,O,S2,Normal(O,Normal(O,S2,S1),S2)) cutafter segment(S1,S1))
withpen pencircle scaled 2bp dashed evenly withcolor jaune;
trace (cercles(O,S3,O,S3,Normal(O,Normal(O,S1,S3),S3)) cutbefore demidroite(99/100[S3,S1],S1))
withpen pencircle scaled 2bp dashed evenly withcolor rouge;
trace (cercles(O,S3,O,S3,Normal(O,Normal(O,S3,S2),S3)) cutafter demidroite(99/100[S1,S2],S2))
withpen pencircle scaled 2bp dashed evenly withcolor bleu;
finespace;
%figure3
figureespace(-10u,-10u,10u,10u);
Initialisation(5,22,20,750);
path equa,pole;
color O,A,B,N;
O=(0,0,0);
A=(1,0,0);
B=(0,1,0);
N=(0,0,1);
equa=cercles(O,B,O,B,-A);
fillcolor:=ciel;
transparence equa;
pole=cercles(O,B,O,B,N);
color S[];
S1=(cosd(75)*cosd(40),sind(75)*cosd(40),sind(40));
S2=(cosd(15)*cosd(10),sind(15)*cosd(10),sind(10));
S3=(cosd(-45)*cosd(65),sind(-45)*cosd(65),sind(65));
drawoptions(withcolor gris);
InitialiseParametre(-pi,pi,pi/30,-pi,pi,pi/30);
FamilleDesCourbesEnU;
FamilleDesCourbesEnV;
drawoptions();
drawarrow segment(-B,B) dashed dashpattern(on12bp off6bp on3bp off6bp);
drawarrow segment(-A,A) dashed dashpattern(on12bp off6bp on3bp off6bp);
drawarrow segment(-N,N) dashed dashpattern(on12bp off6bp on3bp off6bp);
marque_p:="plein";
pointe(S1,S2,S3);
trace segment(O,S1);
trace chemin(O,(redpart(S1),greenpart(S1),0),S1) dashed evenly;
trace segment((redpart(S1),greenpart(S1),0),(redpart(S1),0,0)) dashed withdots;
trace segment((redpart(S1),greenpart(S1),0),(0,greenpart(S1),0)) dashed withdots;
trace segment(O,S2);
trace chemin(O,(redpart(S2),greenpart(S2),0),S2) dashed evenly;
trace segment((redpart(S2),greenpart(S2),0),(redpart(S2),0,0)) dashed withdots;
trace segment((redpart(S2),greenpart(S2),0),(0,greenpart(S2),0)) dashed withdots;
trace segment(O,S3);
trace chemin(O,(redpart(S3),greenpart(S3),0),S3) dashed evenly;
trace segment((redpart(S3),greenpart(S3),0),(redpart(S3),0,0)) dashed withdots;
trace segment((redpart(S3),greenpart(S3),0),(0,greenpart(S3),0)) dashed withdots;
trace (cercles(O,S2,O,S2,Normal(O,Normal(O,S2,S1),S2)) cutafter segment(S1,S1))
withpen pencircle scaled 2bp dashed evenly withcolor jaune;
trace (cercles(O,S3,O,S3,Normal(O,Normal(O,S1,S3),S3)) cutbefore demidroite(99/100[S3,S1],S1))
withpen pencircle scaled 2bp dashed evenly withcolor rouge;
trace (cercles(O,S3,O,S3,Normal(O,Normal(O,S3,S2),S3)) cutafter demidroite(99/100[S1,S2],S2))
withpen pencircle scaled 2bp dashed evenly withcolor bleu;
finespace;
%figure4
figureespace(-10u,-10u,10u,10u);
Initialisation(5,22,20,750);
path equa,pole;
color O,A,B,N;
O=(0,0,0);
A=(1,0,0);
B=(0,1,0);
N=(0,0,1);
equa=cercles(O,B,O,B,-A);
fillcolor:=ciel;
transparence equa;
pole=cercles(O,B,O,B,N);
color S[];
S1=(cosd(75)*cosd(40),sind(75)*cosd(40),sind(40));
S2=(cosd(15)*cosd(10),sind(15)*cosd(10),sind(10));
S3=(cosd(-45)*cosd(65),sind(-45)*cosd(65),sind(65));
drawoptions(withcolor gris);
InitialiseParametre(-pi/2,-pi/10,pi/20,-pi,pi,pi/20);
FamilleDesCourbesEnU;
FamilleDesCourbesEnV;
InitialiseParametre(0,pi/2,pi/20,pi/2,3*pi/2,pi/20);
FamilleDesCourbesEnU;
FamilleDesCourbesEnV;
drawoptions();
drawarrow segment(-B,B) dashed dashpattern(on12bp off6bp on3bp off6bp);
drawarrow segment(-A,A) dashed dashpattern(on12bp off6bp on3bp off6bp);
drawarrow segment(-N,N) dashed dashpattern(on12bp off6bp on3bp off6bp);
marque_p:="plein";
pointe(S1,S2,S3);
trace segment(O,S1);
trace chemin(O,(redpart(S1),greenpart(S1),0),S1) dashed evenly;
trace segment((redpart(S1),greenpart(S1),0),(redpart(S1),0,0)) dashed withdots;
trace segment((redpart(S1),greenpart(S1),0),(0,greenpart(S1),0)) dashed withdots;
trace segment(O,S2);
trace chemin(O,(redpart(S2),greenpart(S2),0),S2) dashed evenly;
trace segment((redpart(S2),greenpart(S2),0),(redpart(S2),0,0)) dashed withdots;
trace segment((redpart(S2),greenpart(S2),0),(0,greenpart(S2),0)) dashed withdots;
trace segment(O,S3);
trace chemin(O,(redpart(S3),greenpart(S3),0),S3) dashed evenly;
trace segment((redpart(S3),greenpart(S3),0),(redpart(S3),0,0)) dashed withdots;
trace segment((redpart(S3),greenpart(S3),0),(0,greenpart(S3),0)) dashed withdots;
trace (cercles(O,S2,O,S2,Normal(O,Normal(O,S2,S1),S2)) cutafter segment(S1,S1))
withpen pencircle scaled 2bp dashed evenly withcolor jaune;
trace (cercles(O,S3,O,S3,Normal(O,Normal(O,S1,S3),S3)) cutbefore demidroite(99/100[S3,S1],S1))
withpen pencircle scaled 2bp dashed evenly withcolor rouge;
trace (cercles(O,S3,O,S3,Normal(O,Normal(O,S3,S2),S3)) cutafter demidroite(99/100[S1,S2],S2))
withpen pencircle scaled 2bp dashed evenly withcolor bleu;
finespace;
end