10.9 Macros de construction d’objets 3D

10.9.1 AretesNum

10.9.2 Chanfrein

  1. \begin{texgraph}[name=Chanfrein, file]
  2. Graph image = [
  3.  view(-3.5,4.5,-3,3), Marges(0,0,0,0), size(7.5),
  4.  P:=Parallelep(Origin, 3*vecI,3*vecJ,3*vecK),
  5.  P1:=Chanfrein(P,0.25,0), P2:=Chanfrein(P,0.25,1),
  6.  DrawFacet( shift3d(P1,-2*vecJ), [color:=steelblue],
  7.        shift3d(P2, 2*vecJ), [color:=steelblue]),
  8.  Label(-2-1.5*i, "non epointe", 1.8-2.6*i, "epointe")
  9. ];
  10. \end{texgraph}

 PIC

Chanfrein

10.9.3 Cone

10.9.4 curve2Cone

  1. \begin{texgraph}[name=curve2Cone, file]
  2. Graph image = [
  3. Marges(0,0,0,0), size(7.5), NbPoints:=100,
  4. C:=curve2Cone( [cos(2*t)*exp(i*t)*5,-3],
  5.         -pi,pi,[0,0],-1),
  6. FillOpacity:=0.7,
  7. DrawFlatFacet(C,[color:=darkseagreen])
  8. ];
  9. \end{texgraph}

 PIC

curve2Cone

10.9.5 curve2Cylinder

  1. \begin{texgraph}[name=curve2Cylinder, file]
  2. Graph image = [
  3. Marges(0,0,0,0), size(7.5),
  4. C:=curve2Cylinder([4*cos(t)+2*i*sin(t),-3],
  5.          -pi,pi,[i,6]),
  6. DrawFlatFacet(C,[color:=violet])
  7. ];
  8. \end{texgraph}

 PIC

Exemple avec curve2Cylinder

10.9.6 curveTube

  1. \begin{texgraph}[name=curveTube, file]
  2. Graph image = [
  3. Marges(0,0,0,0), size(7.5),
  4. S:=curveTube([i*t,2.5*sin(t)],0.75,-pi,pi,50,12),
  5. DrawFlatFacet(S,[color:=darkseagreen])
  6. ];
  7. \end{texgraph}

 PIC

curveTube

10.9.7 Cvx3d

10.9.8 Cylindre

10.9.9 FacesNum

10.9.10 getdroite

10.9.11 getplan

10.9.12 getplanEqn

10.9.13 grille3d

  1. \begin{texgraph}[name=grille3d, file]
  2. Graph image = [
  3. view(-8,8,-8,8), Marges(0,0,0,0), size(7.5),
  4. ModelView(central), DistCam(30),
  5. Color:=darkgray,
  6. Ligne3D([grille3d(x,-5,1+2*i), grille3d(y,-5,1+2*i),
  7.      grille3d(z,-5)],0),
  8. Color:=black,
  9. S:=curveTube([3*exp(i*t), t/3], 0.5,
  10.        -3*pi, 3*pi, 100, 12),
  11. Color:=black, Width:=1,
  12. DrawFlatFacet(S,
  13.      [color:=steelblue, contrast:=0.5])
  14. ];
  15. \end{texgraph}

 PIC

grille3d

10.9.14 HollowFacet

  1. \begin{texgraph}[name=HollowFacetbis, file]
  2. Graph image = [
  3. view(-5,5,-2.5,2.5), Marges(0,0,0,0), size(7.5),
  4. F:=for z in carre(3-3*i,3+3*i,1) do z,0 od,
  5. theta:=-pi/2,phi:=0, ep:=2,SaveWin(),
  6. view(-5,0,-2.5,2.5),ChangeWinTo([-5-5*i,5+5*i]),
  7. DrawFacet(HollowFacet(F,ep), [color:=lightblue]),
  8. Arrows:=2,Ligne3D([-3+3.25*i,0,(-3+ep/2)+3.25*i,0],0),
  9. Arrows:=0,Label(-3+ep/4+4*i,"ep/2"),
  10. RestoreWin(),SaveWin(),
  11. view(0,5,-2.5,2.5), ChangeWinTo([-5-5*i,5+5*i]),
  12. DrawFacet(HollowFacet(F,ep+i), [color:=lightblue]),
  13. Arrows:=2, Ligne3D([3+3.25*i,0,(3-ep)+3.25*i,0],0),
  14. Arrows:=0,Label(3-ep/2+4*i,"ep"),
  15. RestoreWin(),
  16. Label(-2.5-2*i,"mode=0"), Label(2.5-2*i,"mode=1")
  17. ];
  18. \end{texgraph}

 PIC

Valeurs de mode (HollowFacet)

  1. \begin{texgraph}[name=HollowFacet, file]
  2. Graph image = [
  3. ModelView(central), Marges(0,0,0,0), size(7.5),
  4. background(full,darkblue),
  5. P:=Parallelep(M(-2.5,-2.5,-2.5), 5*vecI,
  6.        5*vecJ, 5*vecK), nb:=15,
  7. Y:=[1,1,0], R:=[1,0,0],
  8. Build3D(
  9.   for k from 1 to nb do
  10.    P:=HollowFacet(P, 0.25+i, aux),
  11.    C:=((nb-k+1)*R+(k-1)*Y)/nb,
  12.    bdFacet(P, [color:=RgbL(C)]),
  13.    P:=aux, sep3D
  14.   od),
  15. Display3D()
  16. ];
  17. \end{texgraph}

 PIC

HollowFacet : exemple

10.9.15 Intersection

10.9.16 line2Cone

10.9.17 line2Cylinder

10.9.18 lineTube

  1. \begin{texgraph}[name=lineTube, file]
  2. Graph image = [
  3. Marges(0,0,0,0), size(7.5),
  4. L:=for z in polyreg(0, 3.5, 6)
  5.   do [z,0] od,
  6. S:=lineTube(L, 1, 12, 1),
  7. DrawFlatFacet(S,[color:=steelblue,
  8.          backculling:=1])
  9. ];
  10. \end{texgraph}

 PIC

lineTube

10.9.19 Parallelep

10.9.20 pqGoneReg3D

10.9.21 Prisme

10.9.22 Pyramide

10.9.23 rotCurve

  1. \begin{texgraph}[name=rotCurve, file]
  2. Graph image = [
  3. Marges(0,0.15,0,0), size(7.5),
  4. C:=rotCurve(
  5.  2*[1.5*i+cos(3*t)*cos(t)*i,-cos(3*t)*sin(t)],
  6.  [0,0,0,1], -pi/2, pi/2, 0, pi, 50),
  7. DrawFlatFacet(C,[color:=coral]),
  8. tMin:=-pi/2,tMax:=pi/2, Color:=blue,
  9. Width:=8,
  10. Courbe3D(M(0,3+2*cos(3*t)*cos(t),
  11.      2*cos(3*t)*sin(t)))
  12. ];
  13. \end{texgraph}

 PIC

rotCurve

10.9.24 rotLine

  1. \begin{texgraph}[name=rotLine, file]
  2. Graph image = [
  3. view(-2,3.5,-3,3.5),Marges(0,0,0,0),
  4. size(7.5), viewDir(55,60),
  5. L:=[M(0,3,0), M(-0.5,2.5,0),
  6.   M(-1,3,0), M(-1,2,0), M(0,2,0)],
  7. P:=rotLine(L,[Origin, vecI],1,0,2*pi,35),
  8. DrawFacet(P,[color:=coral])
  9. ];
  10. \end{texgraph}

 PIC

rotLine

10.9.25 Section

  1. \begin{texgraph}[name=Section, file]
  2. Graph image = [
  3. view(-2,3,-2.5,3), Marges(0,0,0,0), size(7.5),
  4. cube:=Parallelep(Origin,3*vecI,3*vecJ,3*vecK),
  5. plan:=[M(3,0,0),-vecI-vecK/2],
  6. S:=Section(plan, cube), FillStyle:=full,
  7. FillColor:=firebrick, HideWidth:=8,
  8. DrawPoly(S,4)
  9. ];
  10. \end{texgraph}

 PIC

Section

10.9.26 Sphere

10.9.27 Tetra

10.9.28 trianguler