DK a écrit :En fait j'ai tracé la sinusoïde sur la sphère mais ce que je voudrais c'est bien sûr la tracer comme étant l'intersection de cette surface conique ondulé avec la sphère. Donc bien sur si R=r, la sinusoide se trouve sur la surface et du coup plus la peine de tracer le cône ondulé.
Donc votre idée de faire apparaître les segments générateurs du cône est bonne, et il faut ensuite tracer leur intersection avec la sphère pour faire apparaître la fameuse sinusoïde.
Mais non... pour ce cas particulier, ceci doit être suffisant :
Code : Tout sélectionner
import math;
import graph3;
size(10cm);
currentprojection=orthographic(5,5,3);
real a=0.75, r=3/2;
limits(-a*(r,r,r),a*(r,r,r));
real phi=(43+43/60);
real R=1;
real K=-cot(phi*pi/180);
real k=2, n=6/k ;
real x(real t) {return R*cos(t)/sqrt(1+(K*cos(n*t))^2) ;}
real y(real t) {return R*sin(t)/sqrt(1+(K*cos(n*t))^2) ;}
real z(real t) {return R*K*cos(n*t)/sqrt(1+(K*cos(n*t))^2) ;}
path3 ps=graph(x,y,z,0,2*k*pi,operator ..)--cycle; // profil pour créer la surface hectémoréale.
surface hectemoreale=surface(ps);
draw(hectemoreale, lightblue);
real rs=.7;
surface Objet=scale3(rs)*unitsphere;
draw(Objet,lightgreen);
R=rs;
path3 psi=graph(x,y,z,0,2*k*pi, operator ..)..cycle; // intersection = profil avec R = rs
draw(psi,4bp+red);