Page 1 sur 1

Cercle d'intersection entre 2 sphères

Posté : mar. 22 janv. 2013, 09:20
par XavteX
Bonjour,

Tout est dans le sujet : Je cherche le moyen le + simple pour représenter le cercle d'intersection de 2 sphères.
Et dans un deuxième temps comment faire apparaître toute la surface du cercle d'intersection.

Merci
Xavier

Re: Cercle d'intersection entre 2 sphères

Posté : mar. 22 janv. 2013, 19:52
par GM
Remarque préalable : le message précédent a été déplacé dans le bon forum : celui des demandes d'aide.

-------


Peux-tu préciser ce que tu aimerais voir ? Les sphères complètes ?

Je pose la question... car si la réponse est oui... j'imagine que tu songes à des transparences pour voir l'intersection... et alors je crains des problèmes d'artefact que l'on rencontre régulièrement avec des sphères transparentes.

Re: Cercle d'intersection entre 2 sphères

Posté : mar. 22 janv. 2013, 20:31
par GM
J'y vais d'une proposition
Image

Code : Tout sélectionner

settings.render=4;
settings.prc=false;
size(200);
import solids;
currentprojection=orthographic((20,20,20),up=Z);
currentlight=Viewport;

real x1=0, x2=2, xi=1, // avec x1<xi<x2
     yi=.5;

triple centre1=(x1,0,0), centre2=(x2,0,0),
       pti=(xi,yi,0),     // un point de l'intersection
       centrei=(xi,0,0);  // centre du cercle intersection
real r=abs(pti-centrei);
     
path3 generatrice1=Arc(c=centre1,v1=pti,v2=(x1-1,0,0));
path3 generatrice2=Arc(c=centre2,v1=pti,v2=(x2+1,0,0));
revolution SpherePartielle1=revolution(generatrice1,axis=X);
revolution SpherePartielle2=revolution(generatrice2,axis=X);

draw(generatrice1,1bp+blue);
draw(surface(SpherePartielle1),red+opacity(.5));
draw(generatrice2,1bp+blue);
draw(surface(SpherePartielle2),green+opacity(.5));

draw(Circle(centrei,r,normal=X),1bp+blue);

limits((-2,0,0),(4,1.8,1.8));
xaxis3("$x$",Arrow3);
yaxis3("$y$",Arrow3);
zaxis3("$z$",Arrow3);

Re: Cercle d'intersection entre 2 sphères

Posté : mar. 22 janv. 2013, 21:45
par XavteX
Bonsoir,

Merci :D ce dessin est déjà fort bien. Oui je pensais à des sphères transparentes. Tu crées des sphères partielles engendrées par rotation autour de (Ox) d'arcs de cercle ...
On ne peut pas faire plus simple en créant 2 sphères avec une fonction qui permettrait d'obtenir l'intersection sans avoir besoin d'en définir les caractéristiques comme on peut définir l'intersection d'une droite et d'un plan avec "intersectionpoints" du module "three" ?

Merci
Xavier