[//command
view(-10.25,6.5,-7.25,5),
Marges(0,0,0,0), size(8), viewDir(30,60),
V:= [4-2*i,-5],
NewMac("f", "[4*cos(t)-cos(4*t)+i*(4*sin(t)-sin(4*t)),2]", t),
C:=curve2Cone(f(t),0,2*pi,V,1,B),
P2:=[M(0,0,3)+V/2,vecJ+6*vecK],
Delta := [M(2,-5,-4), V],
cone2 := ClipFacet(C,P2,cone1),
// B récupère la liste des points 3d des bords haut et bas du cylindre
C2:= Intersection(P2,C,L),
I := interDP([Delta,V],P2),
H1 := L[63,2], H2 := V+H1- proj3d(V,P2),
FillStyle:=full, FillOpacity:=0.5, Width:=2,
DrawFacet(cone1, [color:=white]),
draw("line", Proj3D([H1,H2]), [Width:=6, Arrows:=2, legend:="$h$", labeldir:="E", labelsep:=0.1]),
draw("line", Proj3D([H2,V]), [Width:=6, LineStyle:=userdash]),
angleD(Proj3D(H2), Proj3D(H1), Proj3D(2*H1- proj3d(V,P2))),
DrawPlan(P2,vecI,12,12),
draw("line", Proj3D(L), [close:=1, FillStyle:=fdiag, FillColor:=black, Width:=8]),
DrawFacet(cone2, [color:=white, FillStyle:=full, FillOpacity:=0.5, Width:=2]),
FillStyle := none,
A:=(B[101,2]+B[103,2])/2, // 2ième point 3d du bord (le kième point est B[2k-1,2])
LabelSize:=footnotesize,
LabelDot(Proj3D(A),"$\mathscr{C}$","N",0,0.15),
LabelDot(Proj3D(V),"$S$","O",0,0.15),
]
[//command
Marges(0,0,0,0),size(7.5), viewDir(30,60),
S := pqGoneReg3D([Origin,vecK],M(4,0,0),[7,3]),
DrawFlatFacet(S,[color:=gray,backculling:=1]),
]
[
view(-4,4,-4,4), Marges(0,0,0,0), size(8),
FillStyle:=full,FillColor:=white,
//theta:=10,phi:=20, // attention ce sont des radians !
viewDir(-148,84), // là ce sont des degrés
P:=Octaedre(Origin,2.5), // P est une liste de facettes
DrawPoly(P,4,0.5),
S := Sommets(P), // récuperation des sommets
LabelSize:=footnotesize,
LabelDot(Proj3D(S[1,2]),"$B$","E",1,0.15),
LabelDot(Proj3D(S[3,2]),"$C$","E",1,0.15),
LabelDot(Proj3D(S[11,2]),"$D$","O",1,0.15),
LabelDot(Proj3D(S[7,2]),"$E$","O",1,0.15),
LabelDot(Proj3D(S[9,2]),"$A$","N",1,0.15),
LabelDot(Proj3D(S[5,2]),"$F$","S",1,0.15),
]
[//command
view(-2.25,3.5,-1.6,2.35),
Marges(0,0,0,0), size(6), NbPoints:=40,
LabelSize:=footnotesize,
S:=[1+4*i,4], S1:=[1+4*i,0],
C :=curve2Cone(2*[cos(t)+i*sin(t),0],-pi,pi,S,0),
draw("line", Proj3D([S1,Origin]),[LineStyle:=userdash,Width:=4]), //sous le cône
Width:=8, HideStyle:=userdash, DrawAretes(Bord(C)), //bord du cône
FillOpacity:=0.8, Width:=6,
DrawSmoothFacet(C,[color :=white,backculling :=1]), //le cône
Width:=4,
draw("line", Proj3D([S1,S]),
[LineStyle:=userdash,Arrows:=2,
legend:="$h$",labeldir:="E",labelsep:=0.1]),
angleD(Proj3D(S),Proj3D(S1),Proj3D(Origin)),
LabelDot(Proj3D(S),"$S$","NO",0,0.1),
LabelDot(Proj3D(S1),"$H$","E",0,0.1),
]
[//command
view(-2.25,3.5,-1.6,2.35),
Marges(0,0,0,0), size(6), NbPoints:=40,
LabelSize:=footnotesize,
S:=[1+4*i,4], S1:=[1+4*i,0],
D :=curve2Cone(2*[cos(t)+i*sin(t),0],-pi,pi,S,0),
P := [M(0,0,2), -vecK], // plan de coupe z=2
C := ClipFacet(D,P), // partie basse
C':= ClipFacet(D,[M(0,0,2),vecK]), // partie haute
draw("line", Proj3D([S1,Origin]),[LineStyle:=userdash,Width:=4]), //sous le cône
Width:=8, B := CpCopy(Proj3D(Merge3d(Bord(C))),1,1),
draw("line", B, [Width:=12]), // bord inférieur
FillOpacity:=0.8, Width:=6,
DrawSmoothFacet(C,[color :=white,backculling :=0]), //le tronc de cône
B := CpCopy(Merge3d(Bord(C)),2,1),
draw("line", Proj3D(B), [Width:=8]), //bord supérieur
Width:=2, LineStyle:=dotted,
Ligne3D(for z in B by 4 do z[1,2], S od,0), // un point sur 2 du bord supérieur est relié à S
draw("line", Proj3D([S1,S]),
[LineStyle:=userdash,Arrows:=2,
legend:="$h$",labeldir:="E",labelsep:=0.1]),
angleD(Proj3D(S),Proj3D(S1),Proj3D(Origin)),
LabelDot(Proj3D(S),"$S$","NO",0,0.1),
LabelDot(Proj3D(S1),"$H$","E",0,0.1),
]
[//command
view(-0.8,1.8,-1.4,1.7), Marges(0,0,0,0), size(5.5),
cube:=Parallelep(Origin,2*vecI,2*vecJ,2*vecK),
plan:=[M(0,1,2),-vecI+vecJ-vecK],
S:=Section(plan,cube), FillStyle:=full,
FillColor:=white,HideWidth:=6,HideStyle:=dashed,
DrawPoly(S,2),
T:=Sommets(S),
LabelDot(Proj3D(T[7,2]),"$D$","S",0,0.15),
LabelDot(Proj3D(T[9,2]),"$E$","O",0,0.15),
LabelDot(Proj3D(T[11,2]),"$B$","SE",0,0.1),
LabelDot(Proj3D(T[15,2]),"$A$","N",0,0.1),
LabelDot(Proj3D(T[17,2]),"$F$","O",0,0.15),
LabelDot(Proj3D(T[19,2]),"$C$","E",0,0.15),
]
[//command
view(-1.1,1.8,-1.4,1.8), Marges(0,0,0,0), size(5.5),
cube:=Parallelep(Origin,2*vecI,2*vecJ,2*vecK),
V := M(-1,1,-1),
plan:=[M(0,1,2),V],
S:=Section(plan,cube), S':=Section([M(0,1,2),-V],cube),
FillStyle:=full,
FillColor:=white,HideWidth:=6,HideStyle:=dashed,
DrawPoly(S,2),
T:=Sommets(S),
LabelDot(Proj3D(T[7,2]),"$D$","S",0,0.15),
LabelDot(Proj3D(T[9,2]),"$E$","O",0,0.15),
LabelDot(Proj3D(T[11,2]),"$B$","SE",0,0.1),
LabelDot(Proj3D(T[15,2]),"$A$","N",0,0.1),
LabelDot(Proj3D(T[17,2]),"$F$","O",0,0.15),
LabelDot(Proj3D(T[19,2]),"$C$","E",0,0.15),
LineStyle:=dotted, FillStyle:=none,
Ligne3D(Merge3d(Aretes(S')),0)
]
[//command
view(-2.35,3.6,-1.55,2.55),
Marges(0,0,0,0), size(5.6), NbPoints:=40,
LabelSize:=footnotesize,
S:=[1+4*i,4.5], S1:=[1+4*i,0],
S2:=interDP([Origin,S],[[0,1.5],vecK]),S3:=[1+4*i,1.5],
C:=curve2Cone(2.25*[cos(t)+i*sin(t),0],-pi,pi,S,0),
C':= ClipFacet(C,[M(0,0,1.5),vecK]), // partie haute
draw("line", Proj3D([S1,Origin]),[LineStyle:=userdash,Width:=6]), //sous le cône
draw("line", Proj3D([S2,S3]),[LineStyle:=userdash,Width:=6]), //sous le cône
draw("line", Proj3D([S,Origin]),[LineStyle:=dashed,Width:=6]), //sous le cône
Width:=8, HideStyle:=userdash, DrawAretes(Bord(C)), //bord de section
DrawAretes(Bord(C')),
FillOpacity:=0.8, Width:=6,
DrawSmoothFacet(C,[color :=white,backculling :=1]), //le cône
Width:=6,
draw("line", Proj3D([S1,S]),[LineStyle:=userdash]),
angleD(Proj3D(S),Proj3D(S1),Proj3D(Origin),0.2),
angleD(Proj3D(S),Proj3D(S3),Proj3D(S2),0.2),
LabelDot(Proj3D(S),"$S$","E",0,0.15),
LabelDot(Proj3D(S1),"$H$","E",0,0.1),
LabelDot(Proj3D(S3),"$H'$","E",0,0.1),
LabelDot(Proj3D(Origin),"$O$","O",0,0.15),
LabelDot(Proj3D(S2),"$O'$","O",0,0.15),
]
[//command
view(-2.35,3.6,-1.55,2.55),
Marges(0,0,0,0), size(5.6), NbPoints:=40,
LabelSize:=footnotesize,
S:=[1+4*i,4.5], S1:=[1+4*i,0],
S2:=interDP([Origin,S],[[0,1.5],vecK]),S3:=[1+4*i,1.5],
C:=curve2Cone(2.25*[cos(t)+i*sin(t),0],-pi,pi,S,0),
C':= ClipFacet(C,[M(0,0,1.5),vecK]), // partie haute
draw("line", Proj3D([S1,Origin]),[LineStyle:=userdash,Width:=6]), //sous le cône
draw("line", Proj3D([S2,S3]),[LineStyle:=userdash,Width:=6]), //sous le cône
draw("line", Proj3D([S,Origin]),[LineStyle:=dashed,Width:=6]), //sous le cône
FillOpacity:=0.6, Width:=6,
DrawSmoothFacet(C,[color :=white,backculling :=1]), //le cône
FillOpacity := 1,
Width:=8, HideStyle:=userdash, DrawAretes(Bord(C)), //bord de section
DrawAretes(Bord(C')),
Width:=6,
draw("line", Proj3D([S1,S]),[LineStyle:=userdash]),
angleD(Proj3D(S),Proj3D(S1),Proj3D(Origin),0.2),
angleD(Proj3D(S),Proj3D(S3),Proj3D(S2),0.2),
LabelDot(Proj3D(S),"$S$","E",0,0.15),
LabelDot(Proj3D(S1),"$H$","E",0,0.1),
LabelDot(Proj3D(S3),"$H'$","E",0,0.1),
LabelDot(Proj3D(Origin),"$O$","O",0,0.15),
LabelDot(Proj3D(S2),"$O'$","O",0,0.15),
]
[//command
view(-8.9,5.6,-4.7,4.6),
Marges(0,0,0,0), size(7.5), viewDir(30,60),
V:= [4-1.5*i,-4.5],
C:=Sphere(1-i,3,30,30),
P2:=[M(0,0,3)+V/2,vecJ+6*vecK],
Delta := [M(2,-5,-4), V],
sphere2 := ClipFacet(C,P2,sphere1),
C2:= Intersection(P2,C,L),
I := interDP([Delta,V],P2),
FillStyle:=full, FillOpacity:=0.5, Width:=2,
DrawSmoothFacet(sphere1, [color:=white,backculling :=0]),
DrawPlan(P2,vecI,12,9.5),
draw("line", Proj3D(L),
[close:=1, FillColor:=white,Width:=10]),
DrawSmoothFacet(sphere2,
[color:=white, FillStyle:=none, Width:=2,backculling :=0]),
]
Revenir vers Questions - Réponses
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 10 invités