Page 1 sur 1

Label en 3D

MessagePosté: Mardi 05 Avril 2016, 16:49
par rebouxo
Bonjour à tous. Je suis maintenant assez autonome avec asymptote, mais là, je ne vois pas comment régler mon problème de label.

Code: Tout sélectionner
import graph ;
  import math ;
  import geometry ;
  import interpolate ;
  import solids ;
  import three ;
 
  unitsize(0.5cm,0.5cm) ;
  currentprojection=orthographic(5,2.5,2.5) ;

  real x = 8 ;
  real h = 30 - x ;

  // Point
  triple pA=(x,0,x) ;
  triple pB=(x,x,x) ;
  triple pC=(0,x,x) ;
  triple pD=(0,0,x) ;
  triple pA1=(x,0,0) ;
  triple pB1=(x,x,0) ;
  triple pC1=(0,x,0) ;
  triple pD1=(0,0,0) ;
  triple pO1=0.5*(pA1+pC1) ;
  triple pO=0.5*(pA+pC) ;
  triple pS = (pO.x,pO.y,h) ;
  // On agrandit le cube unité.
  // On le dessine sans lumière et avec transparence, les traits cachés sont alors
  // plus clair.
  transform3 mul = scale3(x) ;
  draw(mul*unitcube,white+opacity(0.7),linewidth(1.5bp)+rgb("0000AC"),nolight) ;
  // La pyramide
  path3[] faces={
    pA--pB--pC--pD--cycle,
    pS--pA--pB--cycle,
    pS--pB--pC--cycle,
    pS--pC--pD--cycle,
    pS--pD--pA--cycle,
  } ;
  draw(surface(faces),white+opacity(0.7),linewidth(1.5bp)+rgb("0000AC"),nolight);
  draw(pS--pO1^^pA--pO,linewidth(1.5bp)+rgb("0000AC")+dashed) ; 

  label("$ A $",pA,W) ;
  dot(pA,linewidth(2bp)) ;
  label("$ B $",pB,E) ;
  dot(pB,linewidth(2bp)) ;
  label("$ C $",pC,E) ;
  dot(pC,linewidth(2bp)) ;
  label("$ D $",pD,W) ;
  dot(pD,linewidth(2bp)) ;
  label("$ A' $",pA1,W) ;
  dot(pA1,linewidth(2bp)) ;
  label("$ B' $",pB1,E) ;
  dot(pB1,linewidth(2bp)) ;
  label("$ C' $",pC1,E) ;
  dot(pC1,linewidth(2bp)) ;
  label("$ D' $",pD1,W) ;
  dot(pD1,linewidth(2bp)) ;
  label("$ O $",pO,W) ;
  dot(pO,linewidth(2bp)) ;
  label("$ O' $",pO1,W) ;
  dot(pO1,linewidth(2bp)) ;
  label("$ S $",pS,N) ;
  dot(pS,linewidth(2bp)) ;


La figure me plaît bien. Avec l'opacité cela rend bien les arêtes cachées. Problèmes, cela cache aussi les labels. J'ai essayé de les mettre sur une autre picture, mais rien n'y fait. Des idées ?

Olivier

Re: Label en 3D

MessagePosté: Mercredi 06 Avril 2016, 09:56
par rebouxo
Je vais me répondre. En y réfléchissant hier soir, je me suis dis qu'il fallait savoir ce que je voulais. Si c'est de la 3d, ben les labels sont en 3d et donc ceux qui sont derrière la figure sont forcément derrière. Autrement dit la demande est déraisonnable.

Olivier