Assemblage d'objets 3D

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
XavteX
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 122
Inscription : jeudi 13 janvier 2011, 09:44

Assemblage d'objets 3D

Message par XavteX »

Bonjour,

Je voudrais savoir si plusieurs objets peuvent être assemblés pour être traités ensuite comme un seul nouvel objet sur lequel on pourra appliquer les transformations comme shift ou rotate ?
La figure obtenue avec le code suivant peut-elle être réduite à un seul objet ?
(J'aimerais dessiner l'éponge à l'étape suivante...)

Code : Tout sélectionner

import solids;
currentprojection=orthographic(6,4,2,zoom=0.65);
currentlight=White;
size(6cm,0);


surface s=scale3(0.99)*unitcube;

//Niveau 0
draw(shift(0,0,0)*s,blue);
draw(shift(1,0,0)*s,blue);
draw(shift(2,0,0)*s,blue);

draw(shift(0,1,0)*s,blue);

draw(shift(2,1,0)*s,blue);

draw(shift(0,2,0)*s,blue);
draw(shift(1,2,0)*s,blue);
draw(shift(2,2,0)*s,blue);

//Niveau 1
draw(shift(0,0,1)*s,blue);

draw(shift(2,0,1)*s,blue);





draw(shift(0,2,1)*s,blue);

draw(shift(2,2,1)*s,blue);



//Niveau 2
draw(shift(0,0,2)*s,blue);
draw(shift(1,0,2)*s,blue);
draw(shift(2,0,2)*s,blue);

draw(shift(0,1,2)*s,blue);

draw(shift(2,1,2)*s,blue);

draw(shift(0,2,2)*s,blue);
draw(shift(1,2,2)*s,blue);
draw(shift(2,2,2)*s,blue);


Merci
Dernière modification par guiguiche le lundi 16 avril 2012, 09:00, modifié 1 fois.
Raison : balise [code] modifiée

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Assemblage d'objets 3D

Message par GMaths »

Si c'est cela que tu cherches, j'ai en stock. ;-)
viewtopic.php?p=120238#p120238

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Assemblage d'objets 3D

Message par GMaths »

GMaths a écrit :Si c'est cela que tu cherches, j'ai en stock. ;-)
viewtopic.php?p=120238#p120238
Je réalise que c'est déjà toi qui lançais le sujet à l'époque.

XavteX
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 122
Inscription : jeudi 13 janvier 2011, 09:44

Re: Assemblage d'objets 3D

Message par XavteX »

Je cherche plus simple (étape 1 ou 2) et surtout cette question de savoir si par exemple on peut assembler plusieurs objets (cube + autre) et translater l'ensemble par ex...
XH

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Assemblage d'objets 3D

Message par GMaths »

XavteX a écrit : surtout cette question de savoir si par exemple on peut assembler plusieurs objets (cube + autre) et translater l'ensemble par ex...

Code : Tout sélectionner

import solids;

currentprojection=orthographic(6,4,2,zoom=0.95);
currentlight=White;
size(400);

surface s=scale3(0.99)*unitcube;

transform3 t[]={identity(4),shift(1,0,0),shift(2,0,0),shift(0,1,0),shift(2,1,0),shift(0,2,0),shift(1,2,0),shift(2,2,0),
                shift(0,0,1),shift(2,0,1),shift(0,2,1),shift(2,2,1),
                shift(0,0,2),shift(1,0,2),shift(2,0,2),shift(0,1,2),shift(2,1,2),shift(0,2,2),shift(1,2,2),shift(2,2,2)};

picture pic;
size3(pic,200);
for(int k=0; k<t.length; ++k) draw(pic,t[k]*s,paleblue);

add(pic.fit3(),(0,0,0));
add(pic.fit3(),(4,-4,4));

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Assemblage d'objets 3D

Message par GMaths »

... et puis je vais t'éviter d'ajouter toute une série de add(.....) :

Code : Tout sélectionner

import solids;
currentprojection=orthographic(6,4,2,zoom=0.95); currentlight=White;
size(400);
real a=2;
surface s=scale3(0.99*a)*unitcube;
transform3 tx=shift(a,0,0), ty=shift(0,a,0), tz=shift(0,0,a), tx2=shift(2a,0,0), ty2=shift(0,2a,0), tz2=shift(0,0,2a),
           t[]={identity(4),tx,tx2,ty,tx2*ty,ty2,tx*ty2,tx2*ty2,                 // niveau 0
                tz,tx2*tz,ty2*tz,tx2*ty2*tz,                                          // niveau 1
                tz2,tx*tz2,tx2*tz2,ty*tz2,tx2*ty*tz2,ty2*tz2,tx*ty2*tz2,tx2*ty2*tz2}; // niveau 2
picture pic; size3(pic,100);
for(int k=0; k<t.length; ++k) draw(pic,t[k]*s,paleblue);
for(int k=0; k<t.length; ++k) add((t[k]*scale3(1/3)*pic).fit3());
Image


Mais si c'est un script plus simple à comprendre que celui qui avait été proposé... c'est une solution lourde car que de facettes inutiles !
Dernière modification par GMaths le lundi 16 avril 2012, 09:10, modifié 7 fois.

XavteX
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 122
Inscription : jeudi 13 janvier 2011, 09:44

Re: Assemblage d'objets 3D

Message par XavteX »

MERCI !!! :D :D :D

Arnaud
Modérateur global
Modérateur global
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Re: Assemblage d'objets 3D

Message par Arnaud »

@XavteX : est-ce que tu as désactivé le bbcode dans ton profil ou un truc du genre ? Car les balises code ne passent pas du tout dans tes messages, et pour la lisibilité c'est très gênant.
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)

XavteX
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 122
Inscription : jeudi 13 janvier 2011, 09:44

Re: Assemblage d'objets 3D

Message par XavteX »

Non ils sont activés...

guiguiche
Modérateur global
Modérateur global
Messages : 8090
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Re: Assemblage d'objets 3D

Message par guiguiche »

Arnaud a écrit :@XavteX : est-ce que tu as désactivé le bbcode dans ton profil ou un truc du genre ? Car les balises code ne passent pas du tout dans tes messages, et pour la lisibilité c'est très gênant.
Non, XavteX est joueur :D et écrit les balises à la main (au lieu de cliquer) mais n'utilise pas la bonne syntaxe (antislash au lieu de slash pour fermer la balise, c'est déjà la deuxième troisième fois que je vois cette erreur chez lui).
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Assemblage d'objets 3D

Message par GMaths »

J'ai modifié le dernier code... car j'avais repris la série des "shift" avec "1" et "2" de xavtex... mais cela ne me plaisait pas : dès lors, où on répète ainsi des nombres particuliers, c'est qu'il faut définir une variable que l'on va pouvoir modifier.

---------------------

PS : à quand une fonte de chasse fixe pour la fenêtre de saisie d'un message ? Cela éviterait d'éditer plein de fois les messages pour que les scripts entre code et /code soient ensuite alignés comme on veut.

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Assemblage d'objets 3D

Message par GMaths »

GMaths a écrit :PS : à quand une fonte de chasse fixe pour la fenêtre de saisie d'un message ? Cela éviterait d'éditer plein de fois les messages pour que les scripts entre code et /code soient ensuite alignés comme on veut.
Je dis cela mais je ne l'ai fait que ce matin sur http://asy.gmaths.net/forum/.
Il suffit de reprendre la fonte des bbcodes "code" et de l'affecter aux deux textarea du css.

Image

Il faut penser à vider le cache des navigateurs.

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: Assemblage d'objets 3D

Message par rebouxo »

GMaths a écrit :
PS : à quand une fonte de chasse fixe pour la fenêtre de saisie d'un message ? Cela éviterait d'éditer plein de fois les messages pour que les scripts entre code et /code soient ensuite alignés comme on veut.
Est-ce vraiment le problème de la fonte. Le problème c'est que la tabulation sert à autre chose dans les navigateurs internet. Sans compté que les éditeurs de textes ne sont pas capable de se mettre d'accord sur la valeur d'une tabulation.

En plus les navigateurs te permettent de changer cela (en tous les cas firefox le permet).

Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2036
Inscription : lundi 01 octobre 2007, 10:20

Re: Assemblage d'objets 3D

Message par GMaths »

rebouxo a écrit :Est-ce vraiment le problème de la fonte. Le problème c'est que la tabulation...
Il y a les deux problèmes !
Mais celui de la fonte est facile à régler.

Moi je n'utilise que des espaces : une tabulation est automatiquement transformée en 4 espace avec Notepad++.

... mais quand sur un forum, on voit le décalage suivant :
Image
et, quand en éditant, on obtient cela :
Image
... on n'a pas envie de compter les espaces qu'il faut mettre pour aligner les trois commentaires.

XavteX
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 122
Inscription : jeudi 13 janvier 2011, 09:44

Re: Assemblage d'objets 3D

Message par XavteX »

GMaths m'a expliqué en long en large et en travers l'installation d'Asymptote, l'utilisation de Notepad++, ... etc - j'en passe beaucoup - mais il ne m'a jamais dit que pour les BBCodes il suffisait de cliquer dessus !!!
Qu’importe si le chemin est long, du moment qu’au bout il y a un puits
Merci pour votre aide précieuse ! :wink: