Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Comment repositionner un objet 3D | |
| | Auteur | Message |
---|
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Comment repositionner un objet 3D Sam 2 Juin 2018 - 18:01 | |
| Bonjour à tous ! Est-il possible de repositionner un objet 3D dans sa position initiale lors de sa création, après l'avoir tourné dans tous les sens avec la commande 3D_ROTATE N,X,Y,Z ? Petit source de test : - Code:
-
DIM x,y,z HEIGHT 0,400 WIDTH 0,400 SCENE3D 1 FULL_SPACE 1 AXES_SHOW CAM_POSITION 0,0,2
3D_TEAPOT 1 CAPTION 0 , "Situation de départ" PAUSE 2000
CAPTION 0 , "3D_ROTATE 1,57,0,90" 3D_ROTATE 1,57,0,90 PAUSE 1500
CAPTION 0 , "3D_ROTATE 1,0,0,0" 3D_ROTATE 1,0,0,0 PAUSE 1500 CAPTION 0, "Terminé : l'objet n'a pas retrouvé sa position" END Merci de votre aide ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Comment repositionner un objet 3D Sam 2 Juin 2018 - 19:24 | |
| Le plus simple serait de le détruire par 3D_DELETE puis de le récréer ! Mais pourquoi faire simple quand on peut faire compliqué ? - Code:
-
DIM x,y,z HEIGHT 0,400 WIDTH 0,400 SCENE3D 1 FULL_SPACE 1 AXES_SHOW CAM_POSITION 0,0,2
3D_TEAPOT 1 CAPTION 0 , "Situation de départ" PAUSE 2000
CAPTION 0 , "3D_ROTATE 1,57,0,90" 3D_ROTATE 1,57,0,90 PAUSE 1500
CAPTION 0 , "3D_ROTATE 1,0,0,0" ' 3D_ROTATE 1,0,0,0 3d_delete 1 : 3D_TEAPOT 1 PAUSE 1500 ' CAPTION 0, "Terminé : l'objet n'a pas retrouvé sa position" caption 0,"Terminé : l'objet a retrouvé sa position" END
| |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Comment repositionner un objet 3D Sam 2 Juin 2018 - 19:47 | |
| Merci Papydall pour ta réponse mais ce n'est pas aussi simple... Il est vrai que je ne suis pas entré dans les détails. Pardon.
C'est pour l'exemple et les tests que j'ai pris un objet tout fait dans Panoramic : 3D_TEAPOT
Dans mes recherches, c'est un objet créé que je manipule avec la souris et c'est avec la souris que je souhaite retrouver la position de départ. Dans le déroulement du programme, je ne veux pas supprimer l'objet et le recréer. L'objet doit revenir progressivement (donc par calcul) et à l'aide de la souris, à sa position de départ. | |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Comment repositionner un objet 3D Sam 2 Juin 2018 - 20:13 | |
| Je n'ai pas testé à fond, mais ça semble marcher: - Code:
-
DIM x,y,z HEIGHT 0,400 WIDTH 0,400 SCENE3D 1 FULL_SPACE 1 AXES_SHOW CAM_POSITION 0,0,2
3D_TEAPOT 1 CAPTION 0 , "Situation de départ" PAUSE 2000
CAPTION 0 , "3D_ROTATE 1,57,0,90" 3D_ROTATE 1,57,0,90 PAUSE 1500
CAPTION 0 , "3D_ROTATE 1,0,0,0" ' 3D_ROTATE 1,0,0,0 reset3D(1) PAUSE 1500 CAPTION 0, "Terminé : l'objet n'a pas retrouvé sa position" END sub reset3D(n) 3d_sphere 100,0.00001 3d_position 100,o3d_x_position(n),o3d_y_position(n),o3d_z_position(n) 3d_point_object n,100 3d_delete 100 end_sub | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Comment repositionner un objet 3D Dim 3 Juin 2018 - 9:19 | |
| Salut Silverman
Merci de ta réponse. Oui, ta solution fonctionne. Malheureusement, elle ne correspond pas à mon souhait de "retour à zéro" progressif à l'aide de la souris.
Autrement, j'ai fait aussi des petits essais en décomposant les mouvements en x,y et z, en empilant les valeurs d'angle dans un tableau. En les dépilant dans le même ordre (LIFO), j'arrive à retrouver la position initiale de l'objet. Mais ce n'est toujours pas à ma convenance.
Je continue mes petits bricolages...
Merci à tous pour vos idées.
| |
| | | silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Re: Comment repositionner un objet 3D Dim 3 Juin 2018 - 10:20 | |
| Tu veux manipuler ton objet à la souris, comme la camera des jeux de type FPS qu'on manipule à la souris? Je ne comprend pas "progressif", qu'est que ça signifie? Parceque s'il y a manipulation à la souris, on va à la vitesse que l'on veux, donc je ne vois pas le côté progressif... Tu peux nous en dire plus? | |
| | | Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: Comment repositionner un objet 3D Dim 3 Juin 2018 - 12:43 | |
| Progressif : je ne souhaite pas que l'objet 3D revienne "brutalement" d'une position quelconque à 0,0,0. Je mets, ci-dessous, le petit source de test qui me permet d'expérimenter l'action. Par commodité j'utilise la 3D_TEAPOT de Panoramic et je ne traite pas pour l'instant la coordonnée Z qui reste à 0. Donc, uniquement 2 axes, x et y. L'orientation de la Teapot est asservie à la position de la souris dans le SCENE3D (objet 1). A la création, la Teapot est orientée 0,0. (Axes x et y). Mon souhait est de retrouver progressivement l'orientation initiale quand la souris revient au centre du SCENE3D. Effectivement, il est possible de remettre "brutalement" l'objet orienté comme lors de sa création par la détection du passage de la souris en coordonnées relatives 0,0 : - soit en détruisant l'objet et en le recréant, ce qu'a proposé notre ami Papydall ; - soit en utilisant l'astuce que tu m'a proposée hier. - Code:
-
LABEL Move DIM x,y,z HEIGHT 0,359 + HEIGHT(0)-HEIGHT_CLIENT(0) WIDTH 0,359 + WIDTH(0)-WIDTH_CLIENT(0) LEFT 0,(screen_x-WIDTH(0))/2 TOP 0,(screen_y-HEIGHT(0))/2 SCENE3D 1 FULL_SPACE 1 AXES_SHOW CAM_POSITION 0,0,2 3D_TEAPOT 1 ON_MOUSE_MOVE 1,Move END ' ------------------------------------------------------------------------------ Move: x = WRAP_VALUE(MOUSE_X_POSITION(1))-180 y = WRAP_VALUE(MOUSE_Y_POSITION(1))-180 CAPTION 0,STR$(x)+" , "+STR$(y) 3D_X_ROTATE 1,x 3D_Y_ROTATE 1,y RETURN | |
| | | Contenu sponsorisé
| Sujet: Re: Comment repositionner un objet 3D | |
| |
| | | | Comment repositionner un objet 3D | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |