PDA

Voir la version complète : Symétrie



NDK-3D
15/10/2006, 11h29
Bonjour,

Une question technique : J'ai un objet ( assez important) dont je dois avoir la symetrie et ne garder QUE cette symetrie... ma question est, comment faire disparaitre l'original et ne garder que l'objet symetrique ?

merci pour votre aide.

NDK

shtl
15/10/2006, 11h32
Dans ces cas là tu peux peut-être créer une instance de ton objet SANS symétrie, puis l'inverser selon son axe latérale (X si c'est la direction) donc -X. Voila.

La bidouille pour garder ses axes positifs:
placer l'instance dans un neutre, appliquer l'invertion sur eclui ci, puis retirer l'instance du neutre. Et hop!

lecynophile
15/10/2006, 11h34
Une symetrie d'un objet ce fait autour d'un axe ( y,x,z en fonction de ce que tu veux ).
La rotation de ton objet est faite a 180° autour d'un de ces axes, donc autour d'une valeur qui est 0.
Par conséquen tu peux faire ce que tu veux très simplement en apliquant a ton objet ORIGINAL une rotation de 180 sur l'axe concerné et simplement en changeant le signe de la position sur l'axe concerné également ! Je ne sais pas si j'ai été très clair...

En fin de compte c'est très simple il faut juste y pensser *:lol:


RRRrrrr entre temps shtl m'a devancer ! J'ai dis la mème chose que lui en plus long peut etre moin explicitement mais plus détaillé !* :poucehaut:

tarlack
15/10/2006, 11h44
sauf que si la symetrie ne se fait pas selon un axe du monde (X, Y, Z), ca va pas le faire, à moins de dire dans les propriétés de mesure de considérer les axes de l'objet, et non ceux du monde. mais dans ce cas là, il est plus simple de se mettre en coordonnées "objet" (en dessous des trois champs indiquant la taille de ton objet, tu peux choisir le système de coordonnées), et de mettre un "-" devant la coordonnée correspondant à l'axe que tu voulais symétriser, comme ca meme pas besoin de rotation ;)

EDIT : shtl, pourquoi tu mets une instance ? si j'ai bien lu (ce qui n'est pas forcement le cas :lol: ) il ne veut que la partie symetrisée, pas l'original, non ?

NDK-3D
15/10/2006, 11h49
merci pour vos réponses... j'arrive à comprendre globalement la manip mais lorsque vous parlez "d'inverser" .......... vous inversez comment ?

merci

NDK

tarlack
15/10/2006, 11h51
1 -> -1
ce qu'on veut c'est que ton objet ait la meme taille dans l'axe de symetrie que l'original, mais qu'il soit dans l'autre sens, donc on multiplie par -1 ;)

NDK-3D
15/10/2006, 11h55
Nickel Tarlack !!

Juste un parametre à mettre en -1 et le tour est joué ! pas besoin de symetrie ou d'instance ou je ne sais quoi.... nickel ton aide ! merci

NDK

lecynophile
15/10/2006, 12h37
Lol c'été ma solution sauf que je ne croi pas avoir été assé clair lol ! JE disé simplement de change de signe et des faire faire une rotation a l'objet sinon ce n'est pas " comme " une symetrie non ?

tarlack
15/10/2006, 12h40
ben si c'est comme une symétrie...essaye avec n'importe quel objet tu verras bien :nono: (evite le cube ou la sphere par contre :mrgreen: )

lecynophile
15/10/2006, 12h51
Alors explication en image avec un cube :mrgreen:

Voila ce qui ce pase lorsque l'on chnage juste le signe :


http://www.lecyno.cliranet.com/tmp/sans.jpg


Voila ce qui ce passe avec la symetrie :

http://www.lecyno.cliranet.com/tmp/avec.jpg


Il n'est pas difficil de comprendre qu'il faut effectuer une rotation du nouvel objet dans le premier cas...

Qu'en penses tu ? :?:

tarlack
15/10/2006, 12h56
je sais pas de quoi tu as changé le signe, mais ca devait pas etre le bon truc... je l'ai fait suffisamment de fois pour savoir que ca marche, et pas que dans c4d ;)
t'aurais pas inverser la position plutot que la taille de l'objet ?
et essaye avec un objet n'ayant aucun axe de symetrie s'il te plait (là il y en a une sur le plan X,Z et sur le plan X,Y) sinon avec une sphere je te montre n'importe quoi ;)
essaye avec un triangle tourné de 30° selon l'axe Z et de 60° selon l'axe X, et deja ca sera plus clair

lecynophile
15/10/2006, 13h00
Mais j'ai changé le signe de la position de l'objet sur l'axe X ...
Je crois que je commence a comprendre en faite c'est simplment pour faire tourner l'objet sur lui mème ? Et toi tu change simplment le signe de la rotation ? Est-ce cela ?

tarlack
15/10/2006, 13h09
eeeeeeuhhhhhhh...
depuis le debut on parle la taille de l'objet, pas de sa position...
et donc toi avec ta methode ca veut dire que tu peux symetriser tout objet là comme ca, vu que des translations et rotations tout le monde peut le faire et tout le temps.
donc je te propose l'experience suivante :
prends ta montre (ou tout autre objet atteignable pres de l'ordi, et qui possede des chiffres ou des lettres), choisis une direction definissant la direction de l'axe X, avec un point représentant l'origine de ton systeme. Fais une translation de maniere à ce que ton objet soit de l'autre coté de l'axe (donc position inversée). tourne ton objet comme tu le fais en 3D.

question : les lettres ou les chiffres sont symetrisés ?

merci de ton attention.

lecynophile
15/10/2006, 13h20
Oula pas compris l'experience la ... Enfin vaguement ... En efet autour d'un axe l'objet effectue une rotation , il n'est pas translaté !
Si l'on change simplement le signe de la position on effectue une TRANSLATION Si ce son les signes des rotation c'est une rotation dont le centre est l'origine de l'objet !
Mais j'ai peur qu'on séloigne du sujet a présent ... Il me semblais que NDK-3D voulait effectuer une symetrie ( avec l'outil)* et ne garder que le nouvel objet ?


Une question technique : J'ai un objet ( assez important) dont je dois avoir la symetrie et ne garder QUE cette symetrie... ma question est, comment faire disparaitre l'original et ne garder que l'objet symetrique ?

Pour quelle raison me parles-tu de tailles* :? Je croi qu'il y a grande confusion dans la bataille et je m'en escuse apres de NDK-3D car il me semble que nous sommes sortis de ton sujet* :oops:

RomRom
15/10/2006, 13h53
Ma méthode est peut-être artisanale mais n'est-ce pas la plus simple ? :

Convertir la symétrie en objet et supprimer les points de l'objet d'origine.

Sylla
15/10/2006, 13h55
Bonjour à tous,
NDK-3D, si tu veux faire une symétrie et que tu veux supprimer l'objet de base. Le mieux à faire est de sélectionner au départ tout les points de l'objet. Ensuite tu passes en mode polygones, tu sélectionne tout les polygones. A ce moment là tu fais ta symétrie en évitant de l'utiliser dans la vue en perspective. Là tu reviens en mode points pour supprimer les points que tu avais sélectionnés. bon courage *:wink:

lecynophile
15/10/2006, 14h01
Lol c'est clair, efficace mais Très artisanal ! Par contre on ne peut pa reprocher a cette methode de ne pas marcher ! :odile:

shtl
15/10/2006, 14h16
Depuis la r9 de c4d on peu effectivement faire de la séléction de points multiobjets, mais sur une hiérarchie de 600 objets ça peut quand même devenir le dawa, particulièrement si certains objets ne sont pas totalement symétriques, ont une surface qui s'étends en positif et négatif etc...

Donc oui il exsiste plusieurs méthodes qui se valent pus ou moin fonction de la situation géométrique.

Mais quand mêm, placer un signe "-" sur un objet c'est pas bien compliquer quand même... (même s'il faut aussi dans un tel cas s'organiser pour que les normales des polys ne se retournent pas.

A noter aussi que la symétrie ne prend pas en compte certains objets, comme les lumières par exemple :wink:

Sir Gong
15/10/2006, 14h27
Je ne comprends pas les concours d'incompétence auxquels semblent se livrer certains membres en ce moment.
La réponse a été donnée, pourquoi essayer de trouver une méthode quatre fois plus compliquée ?

On récapitule :
Mettre son objet dans un neutre
Passer l'échelle x du neutre de 1 à -1 > la symétrie se fait
Sortir son objet du neutre > l'objet inversé garde son échelle positive

:roll:

tarlack
15/10/2006, 14h27
Lol c'est clair, efficace mais Très artisanal ! Par contre on ne peut pa reprocher a cette methode de ne pas marcher ! :odile:


ce qu'on peut reprocher à la tienne par contre....
la preuve en image, je n'ai fait qu'appliquer ta methode sur un objet ne possedant aucun axe de symetrie par rotation, et j'ai essayé les 3 axes de rotation pour etre sur de tout couvrir. le plan rouge représente le plan de symetrie

axe x : on voit bien que ca colle pas, les 2 cotés plats ne se font pas face
http://tarlack.free.fr/tmp/axe_x.png

axe y : les points selectionnés (en jaune) ne sont pas à la meme hauteur alors qu'ils le devraient
http://tarlack.free.fr/tmp/axe_y.png

aze z : on voit bien que ca colle pas non plus, les 2 pointes n'etant pas en face.
http://tarlack.free.fr/tmp/axe_z.png

mais bon, cela dit y a NDK-3D qui a dit qu'il avait réglé le probleme y a quelque temps deja...
http://www.frenchcinema4d.com/forum/index.php?topic=17576.msg317648#msg317648

erf, barbe-cué par shtl et Sir Gong :mrgreen: