[3D] Chemin partiellement caché derrière un autre

Tout ce qui concerne l'utilisation ou l'installation d'Asymptote.

Modérateur: gdm_asy

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[3D] Chemin partiellement caché derrière un autre

Messagepar cerise » Mardi 30 Octobre 2012, 21:02

Bonjour,

il me semblait avoir déjà vu ce genre de choses mais je n'arrive pas à retrouver.
Sur un dessin en 3d, je souhaiterais que si un chemin passe devant un autre, le chemin de derrière soit partiellement masqué par une petite zone blanche au niveau de l'intersection apparente... Je ne sais pas si je suis claire...

Quelque chose dans ce genre :
Fichiers joints
croisement.jpg
croisement.jpg (1.5 Kio) Vu 1164 fois
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Publicité

Re: 3D : chemin partiellement caché derrière un autre

Messagepar OG » Mardi 30 Octobre 2012, 22:14

Bonsoir

Oui c'est assez clair. Je ne sais pas si en 2D il y a un moyen automatique (sauf tracer une portion en "blanc"), il y a des choses dans l'extension syzygy.asy (arbre, noeud), un exemple de Philippe Ivaldi.
En 3D cela risque d'être très compliqué, tracer des morceaux "blancs" aura des effets de bord lors des changements de point de vue.

O.G.
OG
Modérateur
 
Messages: 2276
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: 3D : chemin partiellement caché derrière un autre

Messagepar cerise » Mercredi 31 Octobre 2012, 10:11

Merci pour ta réponse !

Bon, alors j'ai dû rêver en croyant me souvenir avoir vu des dessins 3D avec ce genre de choses ;)
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Re: 3D : chemin partiellement caché derrière un autre

Messagepar GMaths » Mercredi 31 Octobre 2012, 13:00

cerise a écrit:Bon, alors j'ai dû rêver en croyant me souvenir avoir vu des dessins 3D avec ce genre de choses ;)

Encore une histoire de tresse ? :D
Cela m'a donné l'envie de rajouter un exemple à la discussion du mois dernier.

Pour une version 3D de la chose... effectivement, cela va être compliqué.
Il faut pouvoir tourner la figure ou est-elle statique ?

Peut-on avoir un exemple de code de la figure 3D ?
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: 3D : chemin partiellement caché derrière un autre

Messagepar cerise » Mercredi 31 Octobre 2012, 13:48

GMaths a écrit:Encore une histoire de tresse ? :D

On ne peut rien te cacher ;)
En général, je les fais simplement en 2D, mais là c'était un truc un peu plus compliqué et la 3D s'y prêtait mieux.

En l'occurrence, elle ne doit pas tourner, mais il y a une animation.
Et finalement, j'ai opté pour l'utilisation du package "tube" : comme ça, les brins de la tresse sont légèrement ombrés et on voit bien lequel passe devant l'autre.

Voici ce que cela donne :
twist.pdf
(2.03 Mio) Téléchargé 99 fois


Tu veux le code ?
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Re: 3D : chemin partiellement caché derrière un autre

Messagepar GMaths » Mercredi 31 Octobre 2012, 13:52

cerise a écrit:comme ça, les brins de la tresse sont légèrement ombrés et on voit bien lequel passe devant l'autre.

Et tu ne pouvais pas jouer sur les couleurs des brins ?

cerise a écrit:Tu veux le code ?

Ce n'est plus utile.
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: 3D : chemin partiellement caché derrière un autre

Messagepar cerise » Mercredi 31 Octobre 2012, 14:22

GMaths a écrit:Et tu ne pouvais pas jouer sur les couleurs des brins ?

Certainement... (Ne serait-ce qu'en dessinant les 2 brins de couleur différente...)
Mais bon, comme ça, ça me convient, et puis c'est joli :)
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Re: 3D : chemin partiellement caché derrière un autre

Messagepar GMaths » Mercredi 31 Octobre 2012, 14:58

cerise a écrit:Mais bon, comme ça, ça me convient

Tout est parfait, alors ! :D
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: 3D : chemin partiellement caché derrière un autre

Messagepar GMaths » Mercredi 31 Octobre 2012, 15:46

Si cela ne t'avait pas convenu... un début d'idée aurait été celui là :

a8a252ee562de7525b6a86d0cf822582.png

Code: Tout sélectionner
size(200);
import graph3;
currentprojection=orthographic(0,.2,1);
triple pA=(0,0,0), pB=(1,1,1),
pC=(0,1,0), pD=(1,0,0);
path3 AB=pA--pB, CD=pC--pD;

// Une restriction de [CD]
real epsi=.01,
t[]=intersect(project(AB),project(CD));
path3 rCD[] =subpath(pC--pD,0,t[1]-epsi)^^subpath(pC--pD,t[1]+epsi,1);
draw(AB,red);
draw(rCD,blue);
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: 3D : chemin partiellement caché derrière un autre

Messagepar GMaths » Mercredi 31 Octobre 2012, 16:14

... adaptable à autre chose que deux segments :

c993be4a82d9548aa7762ac268ecfe36.png

Code: Tout sélectionner
size(200);
import graph3;
currentprojection=orthographic(0,.2,1);
path3 p1=(0,0,0)..(.4,.2,.6)..(1,1,1),
p2=(0,1,0)..(.4,.8,.1)..(1,0,0);
real epsi=.01,
t[]=intersect(project(p1),project(p2));
path3 p3[] =subpath(p2,0,t[1]-epsi)^^subpath(p2,t[1]+epsi,size(p2));
draw(p1,red);
draw(p3,blue);
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: 3D : chemin partiellement caché derrière un autre

Messagepar cerise » Mercredi 31 Octobre 2012, 16:53

Merci beaucoup pour cette suggestion !
Histoire d'être sûre d'avoir bien compris, "project", ça projette sur le plan de la caméra ?

En tout cas, même si pour ce dessin je pense rester avec les "tube", je me resservirai certainement de ta proposition à d'autres occasions ! :D
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié

Re: 3D : chemin partiellement caché derrière un autre

Messagepar GMaths » Mercredi 31 Octobre 2012, 17:18

cerise a écrit:Histoire d'être sûre d'avoir bien compris, "project", ça projette sur le plan de la caméra ?

Tu as tout compris. :-)

Et son binôme diabolique est invert :
http://forum.mathematex.net/asymptote-f34/invert-et-project-t12259.html?hilit=project#p118577
http://forum.mathematex.net/asymptote-f34/invert-et-project-t12259.html?hilit=project#p119119 :-)
GMaths
Exa-utilisateur
 
Messages: 2031
Inscription: Lundi 01 Octobre 2007, 09:20
Statut actuel: Actif et salarié | Enseignant

Re: 3D : chemin partiellement caché derrière un autre

Messagepar cerise » Vendredi 02 Novembre 2012, 14:38

Intéressant, merci ! :)
Il fallait être Newton pour apercevoir que la Lune tombe quand tout le monde voit bien qu'elle ne tombe pas.
Paul Valéry
cerise
Méga-utilisateur
 
Messages: 448
Inscription: Mercredi 08 Juin 2005, 17:03
Statut actuel: Actif et salarié


Retourner vers Asymptote

Qui est en ligne

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