Faces tranparentes

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

Faces tranparentes

Messagepar Fabrice » 17 Déc 2013 00:47

RE,
Je ne sais pas si le titre est explicite.
En fait, dans le code ci-après, je souhaiterais que les faces de la pyramide soit transparentes, comme lorsqu'on utilise la commande Dpyramide().

Code: Tout sélectionner
[
     view(-3,4,-3.5,4.5), Marges(0,0,0,0), size(10,1),
     a:=4,
     S1:=Origin,S2:=M(a,0,0),S3:=M(a,a,0),S4:=M(0,a,0),S5:=M(0,0,a),
     S6:=bary3d([S5,-1,S2,-1]),S7:=bary3d([S5,-1,S4,-1]),
     hiddenLines:=1,Width:=10,
     Build3D(
     FillColor:=none,
     bdPyramid([S1,S2,S3,S4],S5,[color:=white, border:=1]),
     bdDroite([S6,S7-S6], [scale:=1.5]),
     ),
     Display3D(),
     DotStyle:=times, DotScale:=1.5,
     LabelDot3D(S2,"A","S"), LabelDot3D(S3,"B","S"), LabelDot3D(S4,"C","E"),
     LabelDot3D(S5,"S","N"),LabelDot3D(S1,"D","O"),LabelDot3D(S6,"I","NO",1),
     LabelDot3D(S7,"J","NE",1),
    ]   

Merci.
Fabrice
 
Messages: 139
Inscription: 14 Août 2009 12:22

Re: Faces tranparentes

Messagepar P.Fradin » 21 Déc 2013 12:50

Salut Fabrice,

Je découvre un peu tardivement ton post... J'espère qu'il n'est pas trop tard.
Il suffit d'ajouter l'option opacity:= dans le dessin des facettes:
Code: Tout sélectionner
[
         view(-3,4,-3.5,4.5), Marges(0,0,0,0), size(10,1),
         a:=4,
         S1:=Origin,S2:=M(a,0,0),S3:=M(a,a,0),S4:=M(0,a,0),S5:=M(0,0,a),
         S6:=bary3d([S5,-1,S2,-1]),S7:=bary3d([S5,-1,S4,-1]),
         Build3D(
          bdPyramid([S1,S2,S3,S4],S5,[color:=white,opacity:=0.5, border:=1]),
          bdDroite([S6,S7-S6]),
         ),
         Display3D(),
         DotStyle:=times, DotScale:=1.5,
         LabelDot3D(S2,"A","S"), LabelDot3D(S3,"B","S"), LabelDot3D(S4,"C","E"),
         LabelDot3D(S5,"S","N"),LabelDot3D(S1,"D","O"),LabelDot3D(S6,"I","NO",1),
         LabelDot3D(S7,"J","NE",1),
        ]

pyramideFab.png
pyramideFab.png (8.63 Kio) Consulté 10665 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Faces tranparentes

Messagepar Fabrice » 21 Déc 2013 13:25

Salut Patrick,
P.Fradin a écrit:Je découvre un peu tardivement ton post... J'espère qu'il n'est pas trop tard.

Pas de soucis. Comme tu peux le voir, je me remets sérieusement à TeXgraph.
En fait, le problème est toujours ces "fichues" règles de perspective où il faut mettre des pointillés pour ce qu'on ne voit pas.
Dans ce que tu proposes, les pointillés ne figurent pas. Or, pour les élèves, il faut les mettre. Voilà pourquoi je suis passé par une scène 3D, à moins qu'il n'y ait une autre solution.
Merci.
Fabrice
 
Messages: 139
Inscription: 14 Août 2009 12:22

Re: Faces tranparentes

Messagepar P.Fradin » 21 Déc 2013 14:58

Fabrice a écrit:Dans ce que tu proposes, les pointillés ne figurent pas. Or, pour les élèves, il faut les mettre. Voilà pourquoi je suis passé par une scène 3D, à moins qu'il n'y ait une autre solution.
Merci.


Je dirais qu'il faut choisir !
1) Soit en transparence, et alors on voit les arêtes cachées par transparence comme sur ce que j'ai proposé.
2) Soit en faces pleines, et alors on voit les arêtes cachées en pointillés ou tirets, comme ceci:
Code: Tout sélectionner
[
             view(-3,4,-3.5,4.5), Marges(0,0,0,0), size(10,1),
             a:=4,
             S1:=Origin,S2:=M(a,0,0),S3:=M(a,a,0),S4:=M(0,a,0),S5:=M(0,0,a),
             S6:=bary3d([S5,-1,S2,-1]),S7:=bary3d([S5,-1,S4,-1]),
             hiddenLines:=1,
             Build3D(
              bdPyramid([S1,S2,S3,S4],S5,[color:=white,hidden:=1,border:=1]),
              bdDroite([S6,S7-S6]),

             ),
             Display3D(),
             DotStyle:=times, DotScale:=1.5,
             LabelDot3D(S2,"A","S"), LabelDot3D(S3,"B","S"), LabelDot3D(S4,"C","E"),
             LabelDot3D(S5,"S","N"),LabelDot3D(S1,"D","O"),LabelDot3D(S6,"I","NO",1),
             LabelDot3D(S7,"J","NE",1),
            ]

pyramideFab2.png
pyramideFab2.png (9.01 Kio) Consulté 10663 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Faces tranparentes

Messagepar Fabrice » 22 Déc 2013 11:10

Bonjour Patrick,
Merci et à plus tard car j'ai d'autres figures à créer.
Fabrice
 
Messages: 139
Inscription: 14 Août 2009 12:22

Re: Faces tranparentes

Messagepar Fabrice » 04 Jan 2014 01:11

Bonsoir Patrick,
Dans le code ci-dessous, les arêtes cachées, par transparence, du cube sont en pointillés si je mets l'option border à 1. Or, je pensais qu'elles seraient en traits pleins comme pour la pyramide (premier code que tu as proposé).
J'ai donc mis l'option border à 0, ce qui a effet de ne plus dessiner du tout les arêtes !

Code: Tout sélectionner
[view3D(-6,6,-6,6,-6,6), view(-2,4.5,-2.5,4.5), Marges(0,0,0,0),size(10),
        A:=4*vecI, B:=4*vecI+4*vecJ, C:=4*vecJ, D:=Origin,
        E:=4*vecI+4*vecK, F:=4*vecI+4*vecJ+4*vecK, G:=4*vecK+4*vecJ, H:= 4*vecK,
        P:=bary3d([H,-1,F,-1]),Q:=bary3d([F,-1,C,-1]),
        N:=bary3d([P,-1,Q,-1]),
        pave:=Parallelep(D,A,C,H),
        Build3D(
        bdFacet( pave, [color:=white,opacity:=0.5,border:=0]),
        bdPyramid([P,N,Q,F],A,[color:=yellow,border:=1]),
        bdLine( [F,H], [scale:=1.5,color:=black,close:=1]),
        bdLine( [E,G], [scale:=1.5,color:=black,close:=1]),
        bdLine( [F,C], [scale:=1.5,color:=black,close:=1]),
        bdLine( [B,G], [scale:=1.5,color:=black,close:=1]),
        ),
        Display3D(),
        angleD3D(P,N,A,0.35),
        DotStyle:=times,DotScale:=1.5,
        LabelDot3D(A,"A","O"),LabelDot3D(C,"C","E"),
        LabelDot3D(B,"B","S"),LabelDot3D(D,"D","NE"),
        LabelDot3D(H,"H","N"),LabelDot3D(G,"G","N"),
        LabelDot3D(F,"F","N"),LabelDot3D(E,"E","NO"),
        LabelDot3D(P,"P","N"),LabelDot3D(Q,"Q","NE"),
        LabelDot3D(N,"M","S")
        ]

Merci.
Fabrice
 
Messages: 139
Inscription: 14 Août 2009 12:22

Re: Faces tranparentes

Messagepar P.Fradin » 04 Jan 2014 19:10

Bonsoir,
C'est peut être la variable hiddenLines qui est mal positionnée (elle doit à 0 pour ne pas avoir les traits en pointillés).
Ceci dit il y a un problème de construction dans la pyramide, elle est à base triangulaire en réalité puisque N est le milieu de [P;Q], le point N ne sert donc à rien. De plus il lkui manquait une facette (il faut mettre l'option hollow à 0).
Un autre problème, le point D est affiché par dessus alors qu'il est derrière ! On peut l'afficher en arrière-plan mais il faut alors que la pyramide soit transparente elle aussi.
Code: Tout sélectionner
[view3D(-6,6,-6,6,-6,6), view(-2.5,4,-3.5,4), Marges(0,0,0,0),size(9),
            A:=4*vecI, B:=4*vecI+4*vecJ, C:=4*vecJ, D:=Origin,
            E:=4*vecI+4*vecK, F:=4*vecI+4*vecJ+4*vecK, G:=4*vecK+4*vecJ,
            H:= 4*vecK,
            P:=(H+F)/2, Q:=(F+C)/2, N:=(P+Q)/2,
            pave:=Parallelep(D,A,C,H),
            hiddenLines:=0,
            Build3D(
            bdFacet( pave, [color:=white,opacity:=0.5,border:=1]),
            bdPyramid([P,Q,F],A,[color:=yellow,hollow:=0,border:=1]),
            bdLine( [F,H,jump,E,G,jump,F,C,jump,B,G]),
            ),
            Display3D(),
            //angleD3(P,N,A,0.35),
            DotStyle:=times,DotScale:=1.5,
            LabelDot3D(A,"A","O",1),LabelDot3D(C,"C","E",1),
            LabelDot3D(B,"B","S",1),LabelDot3D(D,"D","NE",1),
            LabelDot3D(H,"H","N",1),LabelDot3D(G,"G","N",1),
            LabelDot3D(F,"F","E",1),LabelDot3D(E,"E","NO",1),
            LabelDot3D(P,"P","NE",1),LabelDot3D(Q,"Q","E",1),
            //LabelDot3D(N,"M","S")
            ]

cubePyram.png
cubePyram.png (22.95 Kio) Consulté 10632 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Faces tranparentes

Messagepar Fabrice » 05 Jan 2014 01:10

Bonsoir Patrick,
Tout d'abord, je te souhaite une très bonne année 2014, il se faisait tard quand j'ai posté.
Ceci explique probablement les erreurs du code :

P.Fradin a écrit:hiddenLines:=0

En fait, cette option était bien positionnée à 0, mais à la compilation, elle n'était pas prise en compte !
(Je digresse un peu, mais l'export en povray ne fonctionne pas chez moi.)
Je l'ai donc enlevée du code.

P.Fradin a écrit:elle est à base triangulaire en réalité puisque N est le milieu de [P;Q], le point N ne sert donc à rien

Comme je le disais plus haut, il se faisait tard ...

P.Fradin a écrit:On peut l'afficher en arrière-plan mais il faut alors que la pyramide soit transparente elle aussi.

On "joue" avec l'opacité ?

Quid de l'angle droit ?
À éviter en 3D ?
Merci.
Fabrice
 
Messages: 139
Inscription: 14 Août 2009 12:22

Re: Faces tranparentes

Messagepar P.Fradin » 05 Jan 2014 11:56

Salut,

L'export povray fonctionne (en tout cas chez moi), mais bien sûr cela change le code ! Ceci dit, l'image obtenue n'est pas mieux que l'export classique...
Pour l'angle droit et le point D:
Code: Tout sélectionner
[view3D(-6,6,-6,6,-6,6), view(-2.5,4,-3.5,4), Marges(0,0,0,0),size(9),
                A:=4*vecI, B:=4*vecI+4*vecJ, C:=4*vecJ, D:=Origin,
                E:=4*vecI+4*vecK, F:=4*vecI+4*vecJ+4*vecK, G:=4*vecK+4*vecJ,
                H:= 4*vecK,
                P:=(H+F)/2, Q:=(F+C)/2, N:=(P+Q)/2,
                pave:=Parallelep(D,A,C,H),
                hiddenLines:=0,
                DotStyle:=times,DotScale:=1.5,
                LabelDot3D(D,"D","NO",1),
                Build3D(
                bdFacet( pave, [color:=white,opacity:=0.5,border:=1]),
                bdPyramid([P,Q,F],A,[color:=yellow,opacity:=0.3, hollow:=0,border:=1]),
                bdLine( [F,H,jump,E,G,jump,F,C,jump,B,G]),
                bdAngleD(P,N,A,0.25, [color:=red]),
                bdLine([A,N],[linestyle:=userdash])
                ),
                Display3D(),
                LabelDot3D(A,"A","O",1),LabelDot3D(C,"C","E",1),
                LabelDot3D(B,"B","S",1),
                LabelDot3D(H,"H","N",1),LabelDot3D(G,"G","N",1),
                LabelDot3D(F,"F","E",1),LabelDot3D(E,"E","NO",1),
                LabelDot3D(P,"P","NE",1),LabelDot3D(Q,"Q","E",1),
                //LabelDot3D(N,"M","S")
                ]

cubePyram2.png
cubePyram2.png (24.18 Kio) Consulté 10628 fois
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04


Revenir vers Questions - Réponses

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 12 invités

cron