Tracer plusieurs solides simples en pointillés

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

Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 27 Jan 2010 16:59

Bonjour,
je voudrais savoir si TeXgraph est capable de tracer des polyèdres convexes "simples" comme un cube , une pyramide, ... tous dans une même scène tout en ayant les arêtes cachées en pointillés.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer plusieurs solides simples en pointillés

Messagepar P.Fradin » 27 Jan 2010 17:58

Oui,

Code: Tout sélectionner
[
view(-2.5,4,-3,3.5), Marges(0,0,0,0), size(9),
P1:=Pyramide([Origin, M(3,0,0), M(2,3,0), M(0,3,0)], 3.5*vecK),
P2:= Parallelep( M(-1,-1,1), 2*vecI,2*vecJ,2*vecK),
Build3D(
        bdFacet( P1, [color:=steelblue]),
        bdFacet( P2, [color:=crimson]),
        bdCylinder(M(0,0,-2), 3*M(0,1,1),1, [color:=forestgreen, border:=1, bordercolor:=black]),
        bdLine( Aretes([P1,P2]), [color:=black])
        ),
Display3D(),
Width:=8, LineStyle:=dotted,
Ligne3D([P1,P2],0),
Dcylindre(M(0,0,-2), 3*M(0,1,1),1)
]


solides.png
solides.png (24.11 Kio) Consulté 7618 fois


PS: il est à noter que les pointillés sont dessinés par dessus la scène et non dans la scène.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1745
Inscription: 29 Oct 2008 15:04

Re: Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 27 Jan 2010 18:03

Je n'ai pas encore lu le chapitre XI. J'en suis encore au chapitre X...

Merci.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 28 Jan 2010 13:44

Peut-on faire apparaître les segments d'intersection entre les solides tout en respectant les pointillés ?
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer plusieurs solides simples en pointillés

Messagepar Alphonse Capriani » 28 Jan 2010 16:02

Salut projetmbc, et salut Patrick!!

C'est un sujet que je voulais aborder il y a quelques temps, et puis ca m'est sorti de l'esprit. Je pense qu'il serait bien (mais je sais pas si c'est faisable) que les segment "cachés" d'une scène3D puissent être dessinées en pointillés comme on peut déja le faire avec la macro DrawPoly et la variable HideStyle par exemple.

J'ai récemment du faire des construction dans l'espace et bien sur j'ai utilisé Build3D. Pour les arêtes cachées, j'ai du jouer avec l'opacité des faces : ainsi, les arêtes cachées était de couleur plus claire que les arêtes visibles. Bon : ca fait l'affaire, mais je pense que ca pourrait être pas mal d'afficher les arêtes cachées en pointillées sans avoir à "bidouiller" le code comme tu as pu le faire dans ton exemple précédent!

(Néanmoins, ton code reste plutôt simple compte tenu du résultat. Ce qui me pose problème, c'est que c'est pas très intuitif tout ca...)
Ya Ba Da Ba Dooo!!!
Avatar de l’utilisateur
Alphonse Capriani
 
Messages: 576
Inscription: 18 Juil 2009 19:10
Localisation: East Harlem - NY

Re: Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 28 Jan 2010 17:23

Alphonse Capriani a écrit:Salut projetmbc, et salut Patrick!!

Hello guy !

Alphonse Capriani a écrit:Je pense qu'il serait bien (mais je sais pas si c'est faisable) que les segment "cachés" d'une scène3D puissent être dessinées en pointillés comme on peut déja le faire avec la macro DrawPoly et la variable HideStyle par exemple.

+1. Intégrer l'astuce proposée devrait suffisante. Non ?
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer plusieurs solides simples en pointillés

Messagepar P.Fradin » 28 Jan 2010 22:09

projetmbc a écrit:Peut-on faire apparaître les segments d'intersection entre les solides tout en respectant les pointillés ?


Salut projetmbc,

La réponse est oui, mais c'est un peu technique, l'idée est la suivante: clipper un des deux solides par l'autre et dessiner le "bord" du résultat. Ce qui donne:

Code: Tout sélectionner
[
view(-2.5,4,-3,3.5), Marges(0,0,0,0), size(9),
P1:= Parallelep( M(-1,-1,1), 2*vecI,2*vecJ,2*vecK),
P2:=Pyramide([Origin, M(3,0,0), M(2,3,0), M(0,3,0)], 3.5*vecK),
C:=Cylindre( M(0,0,-2), 3*M(0,1,1),1),

Build3D(
        bdFacet( P1, [color:=crimson]),
        bdFacet( P2, [color:=steelblue]),
        bdCylinder(M(0,0,-2), 3*M(0,1,1),1, [color:=forestgreen, border:=1, bordercolor:=black]),
        bdLine( Aretes([P1,P2]), [color:=black])
        ),
Display3D(),
Width:=8, HideWidth:=8, LineStyle:=dotted,
Ligne3D([P1,P2],1),
Dcylindre(M(0,0,-2), 3*M(0,1,1),1),
{segments d'intersection}
DrawAretes( Bord( Clip3D(P2,P1)) ),
DrawAretes( Bord( Clip3D(P2,C)) )
]


solide.png
solide.png (29.19 Kio) Consulté 7509 fois


PS: je dessine encore les arêtes par dessus la scène. Il est envisageable de mettre cette possibilité dans la commande Build3D (qui consisterait donc à dessiner quelque chose par dessus la scène) pour automatiser ceci en ajoutant une option; mais cela demande des modifications en interne dans TeXgraph. Ce sera donc pour la prochaine version. Cela fonctionnera au niveau des exports classiques ainsi que povray (à condition d'ajouter les lignes pointillées dans le modèle povray), par contre cela ne fonctionnera pas avec les exports javaview et geomview car en faisaint tourner la scène les lignes pointillées ne seront plus "en face" des arêtes.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1745
Inscription: 29 Oct 2008 15:04

Re: Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 28 Jan 2010 22:14

En l'état c'est super. Parfait pour les cours en collège et au Lycée.

Un grand merci.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 28 Jan 2010 22:34

Monsieur Pénible est de retour... Désolé par avance

Si je reprends ton code comme ci-dessous, il y a des pointillés résiduels.
Peut-on les faire disparaitre ?
Code: Tout sélectionner
[
view(-2.5,4,-3,3.5), Marges(0,0,0,0), size(9),
P1:= Parallelep( M(-1,-1,1), 2*vecI,2*vecJ,2*vecK),
P2:=Pyramide([Origin, M(3,0,0), M(2,3,0), M(0,3,0)], 3.5*vecK),
C:=Cylindre( M(0,0,-2), 3*M(0,1,1),1),

Build3D(
        bdFacet( P1, [color:=crimson]),
        bdFacet( P2, [color:=steelblue]),
        bdCylinder(M(0,0,-2), 3*M(0,1,1),1, [color:=forestgreen, border:=1, bordercolor:=black]),
        bdLine( Aretes([P1,P2]), [color:=black])
        ),
Display3D(),
{segments d'intersection}
DrawAretes( Bord( Clip3D(P2,P1)) ),
DrawAretes( Bord( Clip3D(P2,C)) )
]
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer plusieurs solides simples en pointillés

Messagepar P.Fradin » 28 Jan 2010 22:42

projetmbc a écrit:Si je reprends ton code comme ci-dessous, il y a des pointillés résiduels.
Peut-on les faire disparaitre ?


Les pointillés "résiduels" viennent de ces deux intructions:

Code: Tout sélectionner
{segments d'intersection}
DrawAretes( Bord( Clip3D(P2,P1)) ),
DrawAretes( Bord( Clip3D(P2,C)) ) 


Ce sont les segments d'intersections que tu avais justement demandés! Certains sont pleins d'autres pointillés.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1745
Inscription: 29 Oct 2008 15:04

Re: Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 29 Jan 2010 11:07

Au temps pour moi, il suffit de faire ceci :
Code: Tout sélectionner
[
    view(-2.5,4,-3,3.5), Marges(0,0,0,0), size(9),
    P1:= Parallelep( M(-1,-1,1), 2*vecI,2*vecJ,2*vecK),
    P2:=Pyramide([Origin, M(3,0,0), M(2,3,0), M(0,3,0)], 3.5*vecK),
    C:=Cylindre( M(0,0,-2), 3*M(0,1,1),1),

    Build3D(
            bdFacet( P1, [color:=crimson]),
            bdFacet( P2, [color:=steelblue]),
            bdCylinder(M(0,0,-2), 3*M(0,1,1),1, [color:=forestgreen, border:=1, bordercolor:=black]),
            bdLine( Aretes([P1,P2]), [color:=black]),
       {segments d'intersection}
            bdLine( Aretes(Clip3D(P2,P1)), [color:=black]),
            bdLine( Aretes(Clip3D(P2,C)), [color:=black]),
            ),
    Display3D()
]

J'avais pas vu le bon clip...

Du coup on a tout ce qu'il faut pour la géométrie au Collège et au Lycée.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer plusieurs solides simples en pointillés

Messagepar P.Fradin » 29 Jan 2010 17:08

projetmbc a écrit:Du coup on a tout ce qu'il faut pour la géométrie au Collège et au Lycée.


Attention à ne pas trop s'emballer non plus! Avec le calcul en flottant et les approximations de la machine je ne serais pas surpris quand même qu'il y ait des cas limites ou le rendu ne soit pas exactement ce que l'on attend.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1745
Inscription: 29 Oct 2008 15:04

Re: Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 29 Jan 2010 20:27

P.Fradin a écrit:
projetmbc a écrit:Du coup on a tout ce qu'il faut pour la géométrie au Collège et au Lycée.

Attention à ne pas trop s'emballer non plus! Avec le calcul en flottant et les approximations de la machine je ne serais pas surpris quand même qu'il y ait des cas limites ou le rendu ne soit pas exactement ce que l'on attend.

Justement au collège et au Lycée les points sont bien visibles sur les figures donc ces cas limites, je doute de les rencontrer. Jusqu'à présent, je faisais les dessins en 3D et cela avait le don de m'agacer, maintenant je vais pouvoir bosser en 3D.
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01

Re: Tracer plusieurs solides simples en pointillés

Messagepar P.Fradin » 29 Jan 2010 20:33

projetmbc a écrit: Jusqu'à présent, je faisais les dessins en 3D et cela avait le don de m'agacer, maintenant je vais pouvoir bosser en 3D.


Si à l'usage tu constates des problèmes, n'hésite pas à la signaler. Il faut savoir aussi qu'avec un grand nombre de facettes, le temps de calcul peut exploser, ce n'est pas rare :mrgreen:
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1745
Inscription: 29 Oct 2008 15:04

Re: Tracer plusieurs solides simples en pointillés

Messagepar projetmbc » 29 Jan 2010 20:42

P.Fradin a écrit:Il faut savoir aussi qu'avec un grand nombre de facettes, le temps de calcul peut exploser, ce n'est pas rare :mrgreen:

Pas de souci/ La plupart des élèves ont du mal à visualiser ce qu'il se passe avec un cube... On ne va vraiment pas loin, un cube, un plan, une section et pour les plus fous, une pyramide ou un cône perdu dans le dessin.

Par contre, il y avait des figures que je ne faisais pas pour mes cours, faute d'outils efficaces à disposition. Là je vais faire l'effort petit à petit. Je pense par exemple à des dessins expliquant la perspective cavalière.

P.Fradin a écrit:Si à l'usage tu constates des problèmes, n'hésite pas à la signaler.

Je n'ose pas trop m'exprimer quand il y a un souci mais je ferais un effort... ;)
projetmbc
 
Messages: 398
Inscription: 26 Déc 2009 18:01


Revenir vers Questions - Réponses

Qui est en ligne ?

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

cron