Figure dans une figure

N'oubliez pas de consulter les sujets avant de poser votre question, merci.

Figure dans une figure

Messagepar Archibald » 16 Juin 2023 12:19

J'essaie de reproduire la figure de la page 3 de ce sujet de bac avec build3D, mais j'arrive pas à avoir le cube "transparent" pour qu'on y voit la pyramide à l'intérieur :

Code: Tout sélectionner
view(-1.2, 1.9, -0.6, 1.6), Margin(0, 0, 0, 0),
size(10, 1),
//theta:=0.6981, phi:=1.2,
view3D(-1.1, 1.1, -1.1, 1.1, -1.1, 1.1),
//hiddenLines := 1,
Build3D(
bdPyramid([M(0, 1, 0), M(2/3, 1/3, 1/3), M(0, 0, 1)], M(1, 1, 1)),
bdPrism([M(0, 0, 0), M(1, 0, 0), M(1, 1, 0), M(0, 1, 0)], vecK,
[hidden := 1, border := 1, opacity := 0.1]), // hollow := 0, contrast := 0, border:=1]),
),
Display3D(),
LabelDot3D(M(0, 0, 0), "$A$", "S", 1),
LabelDot3D(M(1, 0, 0), "$B$", "S", 1),
LabelDot3D(M(1, 1, 0), "$C$", "S", 1),
LabelDot3D(M(0, 1, 0), "$D$", "S", 1),
LabelDot3D(M(0, 0, 1), "$E$", "E", 1),
LabelDot3D(M(1, 0, 1), "$F$", "O", 1),
LabelDot3D(M(1, 1, 1), "$G$", "N", 1),
LabelDot3D(M(0, 1, 1), "$H$", "E", 1),

Width := Thicklines,
Arrows := 1,
Ligne3D([M(0, 0, 0), M(1.5, 0, 0)]),
LabelDot3D(M(1.5, 0, 0), "$x$", "O", 0),

Ligne3D([M(0, 0, 0), M(0, 1.5, 0)]),
LabelDot3D(M(0, 1.5, 0), "$y$", "E", 0),

Ligne3D([M(0, 0, 0), M(0, 0, 1.5)]),
LabelDot3D(M(0, 0, 1.5), "$z$", "N", 0),

Arrows := 0,
LabelDot3D(M(2/3, 1/3, 1/3), "$M$", "NO", 1),
LineStyle := dotted,
Ligne3D([M(1, 0, 0), M(0, 1, 1)]),


Je dois m'embrouiller avec les options...

Autre question : est-ce qu'il y a moyen, quand on fait tourner la figure avec l'icône phi/theta, de voir les valeurs de phi et theta ?

Merci d'avance :)
Archibald
 
Messages: 38
Inscription: 21 Fév 2010 09:18

Re: Figure dans une figure

Messagepar P.Fradin » 16 Juin 2023 15:38

Salut,

La pyramide n'était pas dans le sens direct il me semble.
Quelque chose comme ça ?

Code: Tout sélectionner
[//command
    view(-1.2, 1.9, -1.6, 1.6), Margin(0, 0, 0, 0),
    size(10, 1),
    //theta:=0.6981, phi:=1.2,
    view3D(-1.1, 1.5, -1.1, 1.5, -1.1, 1.5),
    //hiddenLines := 1,
    Build3D(
    bdPyramid([M(0, 1, 0), M(0, 0, 1),M(2/3, 1/3, 1/3),], M(1, 1, 1),
      [color:=cyan]),
    bdPrism([M(0, 0, 0), M(1, 0, 0), M(1, 1, 0), M(0, 1, 0)], vecK,
    [hidden := 1, border := 1, opacity := 0.3, hollow := 0]),// contrast := 0, border:=1]),
    bdAxes( M(0,0,0))
    ),
    Display3D(),
    LabelDot3D(M(0, 0, 0), "$A$", "S", 1),
    LabelDot3D(M(1, 0, 0), "$B$", "S", 1),
    LabelDot3D(M(1, 1, 0), "$C$", "S", 1),
    LabelDot3D(M(0, 1, 0), "$D$", "S", 1),
    LabelDot3D(M(0, 0, 1), "$E$", "E", 1),
    LabelDot3D(M(1, 0, 1), "$F$", "O", 1),
    LabelDot3D(M(1, 1, 1), "$G$", "N", 1),
    LabelDot3D(M(0, 1, 1), "$H$", "E", 1),

    Width := Thicklines,
    LabelDot3D(M(2/3, 1/3, 1/3), "$M$", "NO", 1),
    LineStyle := dotted,
    Ligne3D([M(1, 0, 0), M(0, 1, 1)]),
    LabelStyle:= right,
    Label(Xmax-0.1+i*(Ymin+0.2), Concat("theta = $",round(theta*180/pi,2),"$")),
    Label(Xmax-0.1+i*(Ymin+0.1), Concat("phi = $",round(phi*180/pi,2),"$")),
]


Capture d’écran_2023-06-16_15-36-56.png
Capture d’écran_2023-06-16_15-36-56.png (25.14 Kio) Consulté 22007 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1903
Inscription: 29 Oct 2008 15:04


Revenir vers Questions - Réponses

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron