FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Projet d'un Rubik's cube en 3D Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Projet d'un Rubik's cube en 3D Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Projet d'un Rubik's cube en 3D Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Projet d'un Rubik's cube en 3D Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Projet d'un Rubik's cube en 3D Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Projet d'un Rubik's cube en 3D Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Projet d'un Rubik's cube en 3D Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Projet d'un Rubik's cube en 3D Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Projet d'un Rubik's cube en 3D Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Projet d'un Rubik's cube en 3D Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Projet d'un Rubik's cube en 3D Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Projet d'un Rubik's cube en 3D Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Projet d'un Rubik's cube en 3D Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Projet d'un Rubik's cube en 3D Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Projet d'un Rubik's cube en 3D Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

 

 Projet d'un Rubik's cube en 3D

Aller en bas 
+7
mindstorm
Jack
Jean Claude
silverman
Marc
jjn4
Minibug
11 participants
Aller à la page : 1, 2, 3, 4, 5, 6, 7, 8, 9  Suivant
AuteurMessage
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyLun 5 Sep 2022 - 13:06

Bonjour à tous !

Suite à la discussion sur les images en fondues enchainées et autres transitions, Jjn4 et Marc ont éveillés ma curiosité sur les fonctions 3D de Panoramic !
Du coup j'ai dans l'idée de recréer le Rubik's cube en 3D. Mais n'étant pas du tout connaisseur dans ce domaine, je risque d'avoir besoin d'aide... Laughing

J'ai encore pas mal d'activité en extérieur donc je risque de ne pas avancer très vite pour le moment.
Mais bon le principal c'est de se lancer !!

Je vous dit donc à bientôt pour la suite...  geek


Dernière édition par Minibug le Mar 6 Sep 2022 - 20:06, édité 1 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
jjn4

jjn4


Nombre de messages : 2747
Date d'inscription : 13/09/2009

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyLun 5 Sep 2022 - 14:14

Bon courage !!!
geek
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMar 6 Sep 2022 - 16:05

Bon ben j'avoue être au point mort !!

Dès le début je suis incapable de mettre plusieurs tuiles cote à cote...
Je m'y prends surement mal ou bien je n'ai pas compris le principe ! scratch geek

j'ai vu qu'il existait un objet 3D_CUBE.
Mais là le problème c'est comment les faire bouger tous ensemble façon 1 colonne verticale ou une couche horizontale du cube ?
Là encore est ce que je m'y prends correctement ?!!!

Enfin bref. Le début en 3D est plutôt difficile... Je continu mes tests et mes essais et je vous tiens au courant !
A bientôt pour la suite...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMar 6 Sep 2022 - 16:15

Salut Minibug !

Voici un exemple de positionnement de tuiles issues d'un 3D_PLANE :

https://panoramic.1fr1.net/t5843-objet-3d_plane-realisation-d-un-de-en-3d


Bonne continuation !

Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMar 6 Sep 2022 - 20:03

Bonjour Marc,

Merci pour ce lien ! Wink

Effectivement j'ai repris ton code qui me permet d'y voir un peu plus clair...
Pour le moment j'ai fait plusieurs essais et tests. Je commence a poser quelques bases.

C'est vrai que je n'ai jamais (ou très peu) utilisé toutes les commandes 3D.
Du coup c'est une vrai initiation pour moi...

Encore merci pour ce coup de pouce... Laughing


Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMar 6 Sep 2022 - 21:52

@Minibug

Dans le code-source ci-dessous, j’ai assemblé 27 3D_CUBEs.

Je ne sais pas si l’on pourra en faire quelque chose…

J’y ai ajouté une petite sub qui opère un déplacement de la caméra pour observer si le cube est bien formé.

Code:
dim n%

width 0,700
height 0,700

' création de la scène 3D
scene3d 1
full_space 1
color 1,80,80,80

creer_face_arriere()
creer_face_milieu()
creer_face_avant()

controle_fabrication_cube()
end

sub controle_fabrication_cube()
   for n% = -100 to 50
      cam_x_position n%/10
      cam_y_position n%*.2
      pause 50
   next n%
end_sub


sub creer_face_arriere()
   ' les 9 cubes de la face_arrière
   for n% = 1 to 9
       3d_cube n%,1
   next n%

   ' positionement des cubes 1 à 9

   ' cube n° 1
    3d_y_position 1,1.1
    3d_x_position 1,-1.1
    3d_z_position 1,-1.1

    ' cube n° 2
    3d_y_position 2,1.1
    3d_z_position 2,-1.1

    ' cube n° 3
    3d_y_position 3,1.1
    3d_x_position 3,1.1
    3d_z_position 3,-1.1

    ' cube n° 4
    3d_x_position 4,-1.1
    3d_z_position 4,-1.1

    ' cube n° 5
    3d_z_position 5,-1.1

    ' cube n° 6
    3d_x_position 6,1.1
    3d_z_position 6,-1.1

    ' cube n° 7
    3d_y_position 7,-1.1
    3d_x_position 7,-1.1
    3d_z_position 7,-1.1

    ' cube n° 8
    3d_y_position 8,-1.1
    3d_z_position 8,-1.1

    ' cube n° 9
    3d_y_position 9,-1.1
    3d_x_position 9,1.1
    3d_z_position 9,-1.1

end_sub


sub creer_face_milieu()
   ' les 9 cubes de la tranche verticale du milieu
   for n% = 10 to 18
       3d_cube n%,1
   next n%

   ' positionement des cubes 10 à 18

   ' cube n° 10
    3d_y_position 10,1.1
    3d_x_position 10,-1.1

    ' cube n° 11
    3d_y_position 11,1.1

    ' cube n° 12
    3d_y_position 12,1.1
    3d_x_position 12,1.1

    ' cube n° 13
    3d_x_position 13,-1.1

    ' cube n° 14

    ' cube n° 15
    3d_x_position 15,1.1

    ' cube n° 16
    3d_y_position 16,-1.1
    3d_x_position 16,-1.1

    ' cube n° 17
    3d_y_position 17,-1.1

    ' cube n° 18
    3d_y_position 18,-1.1
    3d_x_position 18,1.1
end_sub

sub creer_face_avant()
   ' les 9 cubes de la face_avant
   for n% = 19 to 27
       3d_cube n%,1
   next n%

   ' positionement des cubes 19 à 27

   ' cube n° 19
    3d_y_position 19,1.1
    3d_x_position 19,-1.1
    3d_z_position 19,1.1

    ' cube n° 20
    3d_y_position 20,1.1
    3d_z_position 20,1.1

    ' cube n° 21
    3d_y_position 21,1.1
    3d_x_position 21,1.1
    3d_z_position 21,1.1

    ' cube n° 22
    3d_x_position 22,-1.1
    3d_z_position 22,1.1

    ' cube n° 23
    3d_z_position 23,1.1

    ' cube n° 24
    3d_x_position 24,1.1
    3d_z_position 24,1.1

    ' cube n° 25
    3d_y_position 25,-1.1
    3d_x_position 25,-1.1
    3d_z_position 25,1.1

    ' cube n° 26
    3d_y_position 26,-1.1
    3d_z_position 26,1.1

    ' cube n° 27
    3d_y_position 27,-1.1
    3d_x_position 27,1.1
    3d_z_position 27,1.1

end_sub


EDIT : Ce fil de discussion n'est pas dans la bonne rubrique. Il devrait être dans "Vos projets".
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMar 6 Sep 2022 - 22:31

Ah oui merci Marc. Pas mal effectivement ! Wink

Par contre j'ai utilisé la 3D_COLOR mais elle s'applique sur les 6 cotés du cube. Ce qui ne convient pas !
Peut être avec le 3D_LOAD_TEXTURE et une image des 6 cotés avec des couleurs correspondantes.
Mais là je ne sais pas non plus comment fonctionne une image en texture sur un cube ???
quelles sont les dimensions a utiliser ?? Comment dessiner la texture dans une image ???
Les questions se bousculent. Laughing

Sinon j'ai travaillé sur les tuiles et ça semble être réalisable sans trop de difficulté.
Le soucis ça risque d'être le mouvement des colonnes ou des rangées du cube.

Je crois que je me suis lancé un GROS défi. Pas sûr que je puisse le relever ! drunken scratch geek

Concernant la rubrique. Ben pour le moment c'est plus un essai ou un test de faisabilité.
Donc pour l'instant il a plutôt sa place dans les sources. Je verrai si le projet se concrétise j'ouvrirai un nouveau fil.

Encore merci pour ton aide Marc. sunny
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMer 7 Sep 2022 - 13:17

Bon et bien me revoilà !

je mets donc le début du code avec beaucoup de choses copiées du programme de dés de Marc ! Laughing

J'ai utilisé les tuiles pour avoir une meilleur identification de chaque élément de chaque faces du cube.
en y insérant une texture pour déterminer le bord de chaque tuile.

Je vais maintenant m'atteler au déplacement de la caméra afin de voir toutes les faces du cube !

Marc et les autres, si vous avez des conseils a me donner, n'hésitez pas...
Toute aide sera la bienvenue ! sunny

PS : voir maj plus bas sur le dernier post.


Dernière édition par Minibug le Jeu 8 Sep 2022 - 18:52, édité 4 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMer 7 Sep 2022 - 16:49

Je viens de remettre le code à jour.

Pas de nouveauté dans le fonctionnement. Par contre j'ai pas mal modifier le code.

- La création des tuiles est simplifiée sous forme de DATA.
- La position de chaque tuile est maintenant enregistrée dans des variables afin de connaitre sa position en x, y et z.

Je vais maintenant voir comment faire tourner le cube sur lui-même...
voilà pour le moment.

PS : Faire tourner le cube parait plus compliqué que prévu !!!
Je m'attendais à le faire tourner sur son axe en X ou en Y mais à priori ça ne marche pas comme ça...

Je vais attendre l'avis des spécialistes car là je sèche ! Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMer 7 Sep 2022 - 17:51

Bonjour à tous !

Minibug a écrit:
Je vais maintenant m'atteler au déplacement de la caméra afin de voir toutes les faces du cube !

La caméra a un déplacement rectiligne. Elle peut se déplacer devant l’objet 3d, de gauche à droite ou de haut en bas, mais elle ne peut pas tourner autour du Rubik’s cube pour observer la face arrière.

Pour observer la face arrière, c’est l’ensemble du Rubik’s cube qu’il faut faire tourner sur l’axe x ou y avec les commandes 3d_…_rotate.


Pour faire tourner une face, ce sont 21 pièces qui doivent tourner ensemble. La pièce centrale n’est pas compliquée à faire tourner. Pour les vingt autres pièces, c’est beaucoup plus complexe. Chaque pièce a ses propres axes de rotation.

Face avant :
Voici un exemple de rotation de la pièce 5 avec le calcul des positions des pièces 4 et 7.

Code:

' ------------------------------------------------------------------------------
'        Test de la 3D pour la création d'un RUBIK S CUBE
'        Par Minibug et avec l'aide de Marc - Septembre 2022

'        Code réalisé à partir du programme de Marc :
'        https://panoramic.1fr1.net/t5843-objet-3d_plane-realisation-d-un-de-en-3d
' ------------------------------------------------------------------------------
degrees

declaration()
creation_graphique()

CAM_MOVE -50
' ON_MOUSE_MOVE 100,Move
rotationFaceAvant()
END

' ------------------------------------------------------------------------------

SUB declaration()

  LABEL Move , Quit

  DATA 0,250,250 , 0,250,0 , 0,0,250 , 250,250,0 , 250,0,0 , 250,0,250
  
  DIM f% , i% , n% , r% , v% , b%

END_SUB

' ------------------------------------------------------------------------------

sub rotationFaceAvant()
  dim_local r%

  ' Face devant

  for r% = 0 to 360
      3d_z_rotate 5,r%  :' (10,15)

      3d_z_rotate 4,r%
      3d_x_position 4,10*(cos(-90+R%))+10  :' (10,5)
      3d_y_position 4,10*(sin(-90+R%))+15  :' (10,5)

      3d_z_rotate 7,r%
      3d_x_position 7,sqr(200)*(cos(-45+R%))+10  :' (20,5)
      3d_y_position 7,sqr(200)*(sin(-45+R%))+15  :' (20,5)

      pause 20
   next r%
end_sub

' ------------------------------------------------------------------------------

SUB creation_graphique()

  HEIGHT 0,800 : WIDTH 0,800 : ON_CLOSE 0, Quit

  PICTURE 1  : HEIGHT 1,50 : WIDTH 1,50
  IMAGE 2

  SCENE3D 100 : HEIGHT 100,800 : WIDTH 100,800 : COLOR 100,50,50,50
  
  2D_TARGET_IS 1 : 2D_FILL_ON
 
  ' Création des tuiles
  FOR f%=1 TO 6
 
      READ r% : READ v% : READ b%
    
      FOR i% = 1 TO 9
    
        n%=n%+1
      
        3D_PLANE n%
        3D_V_TILE n%,1
        3D_U_TILE n%,1
      
        2D_FILL_COLOR r%,v%,b%
        2D_RECTANGLE 2,2,48,48
        2D_IMAGE_COPY 2,0,0,50,50
        3D_IMAGE_TEXTURE n%,2
      
      NEXT i%
  NEXT f%

  ' Face devant
  3D_Z_POSITION 1,5 : 3D_Y_POSITION 1,5
  3D_Z_POSITION 2,5 : 3D_Y_POSITION 2,15
  3D_Z_POSITION 3,5 : 3D_Y_POSITION 3,25
  3D_Z_POSITION 4,5 : 3D_X_POSITION 4,10 : 3D_Y_POSITION 4,5
  3D_Z_POSITION 5,5 : 3D_X_POSITION 5,10 : 3D_Y_POSITION 5,15
  3D_Z_POSITION 6,5 : 3D_X_POSITION 6,10 : 3D_Y_POSITION 6,25
  3D_Z_POSITION 7,5 : 3D_X_POSITION 7,20 : 3D_Y_POSITION 7,5
  3D_Z_POSITION 8,5 : 3D_X_POSITION 8,20 : 3D_Y_POSITION 8,15
  3D_Z_POSITION 9,5 : 3D_X_POSITION 9,20 : 3D_Y_POSITION 9,25

  ' Face derriere        
  3D_Z_POSITION 10,-25 : 3D_Y_POSITION 10,5
  3D_Z_POSITION 11,-25 : 3D_Y_POSITION 11,15
  3D_Z_POSITION 12,-25 : 3D_Y_POSITION 12,25
  3D_Z_POSITION 13,-25 : 3D_X_POSITION 13,10 : 3D_Y_POSITION 13,5
  3D_Z_POSITION 14,-25 : 3D_X_POSITION 14,10 : 3D_Y_POSITION 14,15
  3D_Z_POSITION 15,-25 : 3D_X_POSITION 15,10 : 3D_Y_POSITION 15,25
  3D_Z_POSITION 16,-25 : 3D_X_POSITION 16,20 : 3D_Y_POSITION 16,5
  3D_Z_POSITION 17,-25 : 3D_X_POSITION 17,20 : 3D_Y_POSITION 17,15
  3D_Z_POSITION 18,-25 : 3D_X_POSITION 18,20 : 3D_Y_POSITION 18,25

  ' Face gauche
  3D_ROTATE 19,270,0,0 : 3D_Z_POSITION 19,0 : 3D_X_POSITION 19,0
  3D_ROTATE 20,270,0,0 : 3D_Z_POSITION 20,0 : 3D_X_POSITION 20,10
  3D_ROTATE 21,270,0,0 : 3D_Z_POSITION 21,0 : 3D_X_POSITION 21,20
  3D_ROTATE 22,270,0,0 : 3D_Z_POSITION 22,-10 : 3D_X_POSITION 22,0
  3D_ROTATE 23,270,0,0 : 3D_Z_POSITION 23,-10 : 3D_X_POSITION 23,10
  3D_ROTATE 24,270,0,0 : 3D_Z_POSITION 24,-10 : 3D_X_POSITION 24,20
  3D_ROTATE 25,270,0,0 : 3D_Z_POSITION 25,-20 : 3D_X_POSITION 25,0
  3D_ROTATE 26,270,0,0 : 3D_Z_POSITION 26,-20 : 3D_X_POSITION 26,10
  3D_ROTATE 27,270,0,0 : 3D_Z_POSITION 27,-20 : 3D_X_POSITION 27,20
  
  ' Face droite
  3D_ROTATE 28,90,0,0 : 3D_Z_POSITION 28,0 : 3D_Y_POSITION 28,30 : 3D_X_POSITION 28,0
  3D_ROTATE 29,90,0,0 : 3D_Z_POSITION 29,0 : 3D_Y_POSITION 29,30 : 3D_X_POSITION 29,10
  3D_ROTATE 30,90,0,0 : 3D_Z_POSITION 30,0 : 3D_Y_POSITION 30,30 : 3D_X_POSITION 30,20
  3D_ROTATE 31,90,0,0 : 3D_Z_POSITION 31,-10 : 3D_Y_POSITION 31,30 : 3D_X_POSITION 31,0
  3D_ROTATE 32,90,0,0 : 3D_Z_POSITION 32,-10 : 3D_Y_POSITION 32,30 : 3D_X_POSITION 32,10
  3D_ROTATE 33,90,0,0 : 3D_Z_POSITION 33,-10 : 3D_Y_POSITION 33,30 : 3D_X_POSITION 33,20
  3D_ROTATE 34,90,0,0 : 3D_Z_POSITION 34,-20 : 3D_Y_POSITION 34,30 : 3D_X_POSITION 34,0
  3D_ROTATE 35,90,0,0 : 3D_Z_POSITION 35,-20 : 3D_Y_POSITION 35,30 : 3D_X_POSITION 35,10
  3D_ROTATE 36,90,0,0 : 3D_Z_POSITION 36,-20 : 3D_Y_POSITION 36,30 : 3D_X_POSITION 36,20
  
  ' Face dessus
  3D_ROTATE 37,0,90,0 : 3D_Z_POSITION 37,0 : 3D_Y_POSITION 37,5 : 3D_X_POSITION 37,25
  3D_ROTATE 38,0,90,0 : 3D_Z_POSITION 38,0 : 3D_Y_POSITION 38,15 : 3D_X_POSITION 38,25
  3D_ROTATE 39,0,90,0 : 3D_Z_POSITION 39,0 : 3D_Y_POSITION 39,25 : 3D_X_POSITION 39,25
  3D_ROTATE 40,0,90,0 : 3D_Z_POSITION 40,-10 : 3D_Y_POSITION 40,5 : 3D_X_POSITION 40,25
  3D_ROTATE 41,0,90,0 : 3D_Z_POSITION 41,-10 : 3D_Y_POSITION 41,15 : 3D_X_POSITION 41,25
  3D_ROTATE 42,0,90,0 : 3D_Z_POSITION 42,-10 : 3D_Y_POSITION 42,25 : 3D_X_POSITION 42,25
  3D_ROTATE 43,0,90,0 : 3D_Z_POSITION 43,-20 : 3D_Y_POSITION 43,5 : 3D_X_POSITION 43,25
  3D_ROTATE 44,0,90,0 : 3D_Z_POSITION 44,-20 : 3D_Y_POSITION 44,15 : 3D_X_POSITION 44,25
  3D_ROTATE 45,0,90,0 : 3D_Z_POSITION 45,-20 : 3D_Y_POSITION 45,25 : 3D_X_POSITION 45,25  
  
  ' Face dessous
  3D_ROTATE 46,0,-90,0 : 3D_Z_POSITION 46,0 : 3D_Y_POSITION 46,5 : 3D_X_POSITION 46,-5
  3D_ROTATE 47,0,-90,0 : 3D_Z_POSITION 47,0 : 3D_Y_POSITION 47,15 : 3D_X_POSITION 47,-5
  3D_ROTATE 48,0,-90,0 : 3D_Z_POSITION 48,0 : 3D_Y_POSITION 48,25 : 3D_X_POSITION 48,-5
  3D_ROTATE 49,0,-90,0 : 3D_Z_POSITION 49,-10 : 3D_Y_POSITION 49,5 : 3D_X_POSITION 49,-5
  3D_ROTATE 50,0,-90,0 : 3D_Z_POSITION 50,-10 : 3D_Y_POSITION 50,15 : 3D_X_POSITION 50,-5
  3D_ROTATE 51,0,-90,0 : 3D_Z_POSITION 51,-10 : 3D_Y_POSITION 51,25 : 3D_X_POSITION 51,-5
  3D_ROTATE 52,0,-90,0 : 3D_Z_POSITION 52,-20 : 3D_Y_POSITION 52,5 : 3D_X_POSITION 52,-5
  3D_ROTATE 53,0,-90,0 : 3D_Z_POSITION 53,-20 : 3D_Y_POSITION 53,15 : 3D_X_POSITION 53,-5
  3D_ROTATE 54,0,-90,0 : 3D_Z_POSITION 54,-20 : 3D_Y_POSITION 54,25 : 3D_X_POSITION 54,-5    

END_SUB

' ------------------------------------------------------------------------------

Move:

    CAM_X_POSITION 50-(MOUSE_X_POSITION(100)/5)
    CAM_Y_POSITION (MOUSE_Y_POSITION(100)/5)-50
  
RETURN

' ------------------------------------------------------------------------------

Quit:

    TERMINATE
  
RETURN

' ------------------------------------------------------------------------------
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMer 7 Sep 2022 - 18:24

...Suite...

Voici la même chose avec les pièces 1 à 9 qui tournent simultanément.

Reste à faire suivre les autres parties qui sont solidaires dans un vrai Rubik's cube.

Code:

' ------------------------------------------------------------------------------
'        Test de la 3D pour la création d'un RUBIK S CUBE
'        Par Minibug et avec l'aide de Marc - Septembre 2022

'        Code réalisé à partir du programme de Marc :
'        https://panoramic.1fr1.net/t5843-objet-3d_plane-realisation-d-un-de-en-3d
' ------------------------------------------------------------------------------
degrees

declaration()
creation_graphique()

CAM_MOVE -50
' ON_MOUSE_MOVE 100,Move
rotationFaceAvant()
END

' ------------------------------------------------------------------------------

SUB declaration()

  LABEL Move , Quit

  DATA 0,250,250 , 0,250,0 , 0,0,250 , 250,250,0 , 250,0,0 , 250,0,250
 
  DIM f% , i% , n% , r% , v% , b%

END_SUB

' ------------------------------------------------------------------------------

sub rotationFaceAvant()
  dim_local r%

  ' Face avant

  for r% = 0 to 360
      3d_z_rotate 1,r%
      3d_x_position 1,sqr(200)*(cos(-135+R%))+10
      3d_y_position 1,sqr(200)*(sin(-135+R%))+15

      3d_z_rotate 2,r%
      3d_x_position 2,10*(cos(180+R%))+10
      3d_y_position 2,10*(sin(180+R%))+15

      3d_z_rotate 3,r%
      3d_x_position 3,sqr(200)*(cos(135+R%))+10
      3d_y_position 3,sqr(200)*(sin(135+R%))+15

      3d_z_rotate 4,r%
      3d_x_position 4,10*(cos(-90+R%))+10  :' (10,5)
      3d_y_position 4,10*(sin(-90+R%))+15  :' (10,5)

      3d_z_rotate 5,r%  :' (10,15)

      3d_z_rotate 6,r%
      3d_x_position 6,10*(cos(90+R%))+10
      3d_y_position 6,10*(sin(90+R%))+15

      3d_z_rotate 7,r%
      3d_x_position 7,sqr(200)*(cos(-45+R%))+10  :' (20,5)
      3d_y_position 7,sqr(200)*(sin(-45+R%))+15  :' (20,5)

      3d_z_rotate 8,r%
      3d_x_position 8,10*(cos(R%))+10
      3d_y_position 8,10*(sin(R%))+15

      3d_z_rotate 9,r%
      3d_x_position 9,sqr(200)*(cos(45+R%))+10
      3d_y_position 9,sqr(200)*(sin(45+R%))+15

      pause 20
  next r%
end_sub

' ------------------------------------------------------------------------------

SUB creation_graphique()

  HEIGHT 0,800 : WIDTH 0,800 : ON_CLOSE 0, Quit

  PICTURE 1  : HEIGHT 1,50 : WIDTH 1,50
  IMAGE 2

  SCENE3D 100 : HEIGHT 100,800 : WIDTH 100,800 : COLOR 100,50,50,50
 
  2D_TARGET_IS 1 : 2D_FILL_ON
 
  ' Création des tuiles
  FOR f%=1 TO 6
 
      READ r% : READ v% : READ b%
   
      FOR i% = 1 TO 9
   
        n%=n%+1
     
        3D_PLANE n%
        3D_V_TILE n%,1
        3D_U_TILE n%,1
     
        2D_FILL_COLOR r%,v%,b%
        2D_RECTANGLE 2,2,48,48
        2D_IMAGE_COPY 2,0,0,50,50
        3D_IMAGE_TEXTURE n%,2
     
      NEXT i%
  NEXT f%

  ' Face devant
  3D_Z_POSITION 1,5 : 3D_Y_POSITION 1,5
  3D_Z_POSITION 2,5 : 3D_Y_POSITION 2,15
  3D_Z_POSITION 3,5 : 3D_Y_POSITION 3,25
  3D_Z_POSITION 4,5 : 3D_X_POSITION 4,10 : 3D_Y_POSITION 4,5
  3D_Z_POSITION 5,5 : 3D_X_POSITION 5,10 : 3D_Y_POSITION 5,15
  3D_Z_POSITION 6,5 : 3D_X_POSITION 6,10 : 3D_Y_POSITION 6,25
  3D_Z_POSITION 7,5 : 3D_X_POSITION 7,20 : 3D_Y_POSITION 7,5
  3D_Z_POSITION 8,5 : 3D_X_POSITION 8,20 : 3D_Y_POSITION 8,15
  3D_Z_POSITION 9,5 : 3D_X_POSITION 9,20 : 3D_Y_POSITION 9,25

  ' Face derriere       
  3D_Z_POSITION 10,-25 : 3D_Y_POSITION 10,5
  3D_Z_POSITION 11,-25 : 3D_Y_POSITION 11,15
  3D_Z_POSITION 12,-25 : 3D_Y_POSITION 12,25
  3D_Z_POSITION 13,-25 : 3D_X_POSITION 13,10 : 3D_Y_POSITION 13,5
  3D_Z_POSITION 14,-25 : 3D_X_POSITION 14,10 : 3D_Y_POSITION 14,15
  3D_Z_POSITION 15,-25 : 3D_X_POSITION 15,10 : 3D_Y_POSITION 15,25
  3D_Z_POSITION 16,-25 : 3D_X_POSITION 16,20 : 3D_Y_POSITION 16,5
  3D_Z_POSITION 17,-25 : 3D_X_POSITION 17,20 : 3D_Y_POSITION 17,15
  3D_Z_POSITION 18,-25 : 3D_X_POSITION 18,20 : 3D_Y_POSITION 18,25

  ' Face gauche
  3D_ROTATE 19,270,0,0 : 3D_Z_POSITION 19,0 : 3D_X_POSITION 19,0
  3D_ROTATE 20,270,0,0 : 3D_Z_POSITION 20,0 : 3D_X_POSITION 20,10
  3D_ROTATE 21,270,0,0 : 3D_Z_POSITION 21,0 : 3D_X_POSITION 21,20
  3D_ROTATE 22,270,0,0 : 3D_Z_POSITION 22,-10 : 3D_X_POSITION 22,0
  3D_ROTATE 23,270,0,0 : 3D_Z_POSITION 23,-10 : 3D_X_POSITION 23,10
  3D_ROTATE 24,270,0,0 : 3D_Z_POSITION 24,-10 : 3D_X_POSITION 24,20
  3D_ROTATE 25,270,0,0 : 3D_Z_POSITION 25,-20 : 3D_X_POSITION 25,0
  3D_ROTATE 26,270,0,0 : 3D_Z_POSITION 26,-20 : 3D_X_POSITION 26,10
  3D_ROTATE 27,270,0,0 : 3D_Z_POSITION 27,-20 : 3D_X_POSITION 27,20
 
  ' Face droite
  3D_ROTATE 28,90,0,0 : 3D_Z_POSITION 28,0 : 3D_Y_POSITION 28,30 : 3D_X_POSITION 28,0
  3D_ROTATE 29,90,0,0 : 3D_Z_POSITION 29,0 : 3D_Y_POSITION 29,30 : 3D_X_POSITION 29,10
  3D_ROTATE 30,90,0,0 : 3D_Z_POSITION 30,0 : 3D_Y_POSITION 30,30 : 3D_X_POSITION 30,20
  3D_ROTATE 31,90,0,0 : 3D_Z_POSITION 31,-10 : 3D_Y_POSITION 31,30 : 3D_X_POSITION 31,0
  3D_ROTATE 32,90,0,0 : 3D_Z_POSITION 32,-10 : 3D_Y_POSITION 32,30 : 3D_X_POSITION 32,10
  3D_ROTATE 33,90,0,0 : 3D_Z_POSITION 33,-10 : 3D_Y_POSITION 33,30 : 3D_X_POSITION 33,20
  3D_ROTATE 34,90,0,0 : 3D_Z_POSITION 34,-20 : 3D_Y_POSITION 34,30 : 3D_X_POSITION 34,0
  3D_ROTATE 35,90,0,0 : 3D_Z_POSITION 35,-20 : 3D_Y_POSITION 35,30 : 3D_X_POSITION 35,10
  3D_ROTATE 36,90,0,0 : 3D_Z_POSITION 36,-20 : 3D_Y_POSITION 36,30 : 3D_X_POSITION 36,20
 
  ' Face dessus
  3D_ROTATE 37,0,90,0 : 3D_Z_POSITION 37,0 : 3D_Y_POSITION 37,5 : 3D_X_POSITION 37,25
  3D_ROTATE 38,0,90,0 : 3D_Z_POSITION 38,0 : 3D_Y_POSITION 38,15 : 3D_X_POSITION 38,25
  3D_ROTATE 39,0,90,0 : 3D_Z_POSITION 39,0 : 3D_Y_POSITION 39,25 : 3D_X_POSITION 39,25
  3D_ROTATE 40,0,90,0 : 3D_Z_POSITION 40,-10 : 3D_Y_POSITION 40,5 : 3D_X_POSITION 40,25
  3D_ROTATE 41,0,90,0 : 3D_Z_POSITION 41,-10 : 3D_Y_POSITION 41,15 : 3D_X_POSITION 41,25
  3D_ROTATE 42,0,90,0 : 3D_Z_POSITION 42,-10 : 3D_Y_POSITION 42,25 : 3D_X_POSITION 42,25
  3D_ROTATE 43,0,90,0 : 3D_Z_POSITION 43,-20 : 3D_Y_POSITION 43,5 : 3D_X_POSITION 43,25
  3D_ROTATE 44,0,90,0 : 3D_Z_POSITION 44,-20 : 3D_Y_POSITION 44,15 : 3D_X_POSITION 44,25
  3D_ROTATE 45,0,90,0 : 3D_Z_POSITION 45,-20 : 3D_Y_POSITION 45,25 : 3D_X_POSITION 45,25 
 
  ' Face dessous
  3D_ROTATE 46,0,-90,0 : 3D_Z_POSITION 46,0 : 3D_Y_POSITION 46,5 : 3D_X_POSITION 46,-5
  3D_ROTATE 47,0,-90,0 : 3D_Z_POSITION 47,0 : 3D_Y_POSITION 47,15 : 3D_X_POSITION 47,-5
  3D_ROTATE 48,0,-90,0 : 3D_Z_POSITION 48,0 : 3D_Y_POSITION 48,25 : 3D_X_POSITION 48,-5
  3D_ROTATE 49,0,-90,0 : 3D_Z_POSITION 49,-10 : 3D_Y_POSITION 49,5 : 3D_X_POSITION 49,-5
  3D_ROTATE 50,0,-90,0 : 3D_Z_POSITION 50,-10 : 3D_Y_POSITION 50,15 : 3D_X_POSITION 50,-5
  3D_ROTATE 51,0,-90,0 : 3D_Z_POSITION 51,-10 : 3D_Y_POSITION 51,25 : 3D_X_POSITION 51,-5
  3D_ROTATE 52,0,-90,0 : 3D_Z_POSITION 52,-20 : 3D_Y_POSITION 52,5 : 3D_X_POSITION 52,-5
  3D_ROTATE 53,0,-90,0 : 3D_Z_POSITION 53,-20 : 3D_Y_POSITION 53,15 : 3D_X_POSITION 53,-5
  3D_ROTATE 54,0,-90,0 : 3D_Z_POSITION 54,-20 : 3D_Y_POSITION 54,25 : 3D_X_POSITION 54,-5   

END_SUB

' ------------------------------------------------------------------------------

Move:

    CAM_X_POSITION 50-(MOUSE_X_POSITION(100)/5)
    CAM_Y_POSITION (MOUSE_Y_POSITION(100)/5)-50
 
RETURN

' ------------------------------------------------------------------------------

Quit:

    TERMINATE
 
RETURN

' ------------------------------------------------------------------------------


Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMer 7 Sep 2022 - 18:32

---SUITE---

En vrac :

- As-tu un dessin de la représentation du Rubik's cube avec la numérotation des faces (objets 3d_plane) ?

- Je ne sais pas s'il sera possible de visualiser la face arrière colorée.

- Je pense qu'il serait préférable de centrer le cube en 0,0,0.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyMer 7 Sep 2022 - 18:54

Oui merci Marc Wink

J'ai mis le code à jour vers 17h avec une mémorisation des tuiles dans les variables.
J'ai fais aussi en sorte que ce soit aligné à la position 0 enfin je crois... hihihi !!

Mais j'avoue que là ça me dépasse... Je ne pensais pas utiliser des formules comme celles-ci !
Je ne pense pas être capable d'aller plus loin...

Cela dit si certains sont intéressés pour reprendre le code il n'y a pas de problème...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 8:50

Bonjour Marc,

Je me disais que ce qui pourrai être intéressant c'est d'avoir une sorte d'objet 3D virtuel un peu comme un panel en objet classique.
Cette objet 3D virtuel permettrai de rattacher des tuiles dessus à la façon d'une structure.
Cela permettrai de déplacer juste la structure cad l'équivalent du panel avec les objets dessus.

Je ne sais pas si c'est possible. Mais je pense que ce serai un grande avancé dans la 3D Panoramic !
Mais ça seul Jack peut y répondre... Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 12:56

Papydall n'avait fait un tuto sur la 3D?
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 13:38

Bonjour à tous !


Voici la première couronne qui tourne sur 360°.

La souris permet de déplacer la caméra pour observer sous différents angles le cube en action.


Code:

' ------------------------------------------------------------------------------
'        Test de la 3D pour la création d'un RUBIK S CUBE
'        Par Minibug et avec l'aide de Marc - Septembre 2022

'        Code réalisé à partir du programme de Marc :
'        https://panoramic.1fr1.net/t5843-objet-3d_plane-realisation-d-un-de-en-3d
' ------------------------------------------------------------------------------
degrees

declaration()
creation_graphique()

CAM_MOVE -50
ON_MOUSE_MOVE 100,Move

cam_x_position 50
cam_y_position 50

rotationFaceAvant()
END

' ------------------------------------------------------------------------------

SUB declaration()

  LABEL Move , Quit

  DATA 0,250,250 , 0,250,0 , 0,0,250 , 250,250,0 , 250,0,0 , 250,0,250
 
  DIM f% , i% , n% , r% , v% , b%

END_SUB

' ------------------------------------------------------------------------------

sub rotationFaceAvant()
  dim_local r%
  ' Face avant

  for r% = 0 to 360
      3d_z_rotate 1,r%
      3d_x_position 1,sqr(200)*(cos(-135+R%))+10
      3d_y_position 1,sqr(200)*(sin(-135+R%))+15

      3d_z_rotate 2,r%
      3d_x_position 2,10*(cos(180+R%))+10
      3d_y_position 2,10*(sin(180+R%))+15

      3d_z_rotate 3,r%
      3d_x_position 3,sqr(200)*(cos(135+R%))+10
      3d_y_position 3,sqr(200)*(sin(135+R%))+15

      3d_z_rotate 4,r%
      3d_x_position 4,10*(cos(-90+R%))+10
      3d_y_position 4,10*(sin(-90+R%))+15

      3d_z_rotate 5,r% :' centre face avant

      3d_z_rotate 6,r%
      3d_x_position 6,10*(cos(90+R%))+10
      3d_y_position 6,10*(sin(90+R%))+15

      3d_z_rotate 7,r%
      3d_x_position 7,sqr(200)*(cos(-45+R%))+10
      3d_y_position 7,sqr(200)*(sin(-45+R%))+15

      3d_z_rotate 8,r%
      3d_x_position 8,10*(cos(R%))+10
      3d_y_position 8,10*(sin(R%))+15

      3d_z_rotate 9,r%
      3d_x_position 9,sqr(200)*(cos(45+R%))+10
      3d_y_position 9,sqr(200)*(sin(45+R%))+15

      3d_y_rotate 28,r%*(-1)
      3d_x_position 28,sqr(325)*(cos(180-atn(15/10)+R%))+10
      3d_y_position 28,sqr(325)*(sin(180-atn(15/10)+R%))+15

      3d_y_rotate 29,r%*(-1)
      3d_x_position 29,sqr(225)*(cos(90+R%))+10
      3d_y_position 29,sqr(225)*(sin(90+R%))+15

      3d_y_rotate 30,r%*(-1)
      3d_x_position 30,sqr(325)*(cos(atn(15/10)+R%))+10
      3d_y_position 30,sqr(325)*(sin(atn(15/10)+R%))+15

      3d_x_rotate 39,r%
      3d_x_position 39,sqr(325)*(cos(atn(10/15)+R%))+10
      3d_y_position 39,sqr(325)*(sin(atn(10/15)+R%))+15
     
      3d_x_rotate 38,r%
      3d_x_position 38,sqr(225)*(cos(R%))+10
      3d_y_position 38,sqr(225)*(sin(R%))+15

      3d_x_rotate 37,r%
      3d_x_position 37,sqr(325)*(cos(atn(10/15)*(-1)+R%))+10
      3d_y_position 37,sqr(325)*(sin(atn(10/15)*(-1)+R%))+15


      3d_x_rotate 48,r%*(-1)
      3d_x_position 48,sqr(325)*(cos(180-atn(10/15)+R%))+10
      3d_y_position 48,sqr(325)*(sin(180-atn(10/15)+R%))+15

      3d_x_rotate 47,r%*(-1)
      3d_x_position 47,sqr(225)*(cos(180+R%))+10
      3d_y_position 47,sqr(225)*(sin(180+R%))+15

      3d_x_rotate 46,r%*(-1)
      3d_x_position 46,sqr(325)*(cos(180+atn(10/15)+R%))+10
      3d_y_position 46,sqr(325)*(sin(180+atn(10/15)+R%))+15

      3d_y_rotate 19,r%
      3d_x_position 19,sqr(325)*(cos(270-atn(10/15)+R%))+10
      3d_y_position 19,sqr(325)*(sin(270-atn(10/15)+R%))+15

      3d_y_rotate 20,r%
      3d_x_position 20,sqr(225)*(cos(-90+R%))+10
      3d_y_position 20,sqr(225)*(sin(-90+R%))+15

      3d_y_rotate 21,r%
      3d_x_position 21,sqr(325)*(cos(270+atn(10/15)+R%))+10
      3d_y_position 21,sqr(325)*(sin(270+atn(10/15)+R%))+15

      pause 20
  next r%

 
 
 
end_sub

' ------------------------------------------------------------------------------

SUB creation_graphique()

  HEIGHT 0,800 : WIDTH 0,800 : ON_CLOSE 0, Quit

  PICTURE 1  : HEIGHT 1,50 : WIDTH 1,50
  IMAGE 2

  SCENE3D 100 : HEIGHT 100,800 : WIDTH 100,800 : COLOR 100,50,50,50
 
  2D_TARGET_IS 1 : 2D_FILL_ON
 
  ' Création des tuiles
  FOR f%=1 TO 6
 
      READ r% : READ v% : READ b%
 
      FOR i% = 1 TO 9
 
        n%=n%+1
   
        3D_PLANE n%
        3D_V_TILE n%,1
        3D_U_TILE n%,1
   
        2D_FILL_COLOR r%,v%,b%
        2D_RECTANGLE 2,2,48,48
        2D_IMAGE_COPY 2,0,0,50,50
        3D_IMAGE_TEXTURE n%,2
   
      NEXT i%
  NEXT f%

  ' Face devant
  3D_Z_POSITION 1,5 : 3D_Y_POSITION 1,5
  3D_Z_POSITION 2,5 : 3D_Y_POSITION 2,15
  3D_Z_POSITION 3,5 : 3D_Y_POSITION 3,25
  3D_Z_POSITION 4,5 : 3D_X_POSITION 4,10 : 3D_Y_POSITION 4,5
  3D_Z_POSITION 5,5 : 3D_X_POSITION 5,10 : 3D_Y_POSITION 5,15
  3D_Z_POSITION 6,5 : 3D_X_POSITION 6,10 : 3D_Y_POSITION 6,25
  3D_Z_POSITION 7,5 : 3D_X_POSITION 7,20 : 3D_Y_POSITION 7,5
  3D_Z_POSITION 8,5 : 3D_X_POSITION 8,20 : 3D_Y_POSITION 8,15
  3D_Z_POSITION 9,5 : 3D_X_POSITION 9,20 : 3D_Y_POSITION 9,25

  ' Face derriere     
  3D_Z_POSITION 10,-25 : 3D_Y_POSITION 10,5
  3D_Z_POSITION 11,-25 : 3D_Y_POSITION 11,15
  3D_Z_POSITION 12,-25 : 3D_Y_POSITION 12,25
  3D_Z_POSITION 13,-25 : 3D_X_POSITION 13,10 : 3D_Y_POSITION 13,5
  3D_Z_POSITION 14,-25 : 3D_X_POSITION 14,10 : 3D_Y_POSITION 14,15
  3D_Z_POSITION 15,-25 : 3D_X_POSITION 15,10 : 3D_Y_POSITION 15,25
  3D_Z_POSITION 16,-25 : 3D_X_POSITION 16,20 : 3D_Y_POSITION 16,5
  3D_Z_POSITION 17,-25 : 3D_X_POSITION 17,20 : 3D_Y_POSITION 17,15
  3D_Z_POSITION 18,-25 : 3D_X_POSITION 18,20 : 3D_Y_POSITION 18,25

  ' Face gauche
  3D_ROTATE 19,270,0,0 : 3D_Z_POSITION 19,0 : 3D_X_POSITION 19,0
  3D_ROTATE 20,270,0,0 : 3D_Z_POSITION 20,0 : 3D_X_POSITION 20,10
  3D_ROTATE 21,270,0,0 : 3D_Z_POSITION 21,0 : 3D_X_POSITION 21,20
  3D_ROTATE 22,270,0,0 : 3D_Z_POSITION 22,-10 : 3D_X_POSITION 22,0
  3D_ROTATE 23,270,0,0 : 3D_Z_POSITION 23,-10 : 3D_X_POSITION 23,10
  3D_ROTATE 24,270,0,0 : 3D_Z_POSITION 24,-10 : 3D_X_POSITION 24,20
  3D_ROTATE 25,270,0,0 : 3D_Z_POSITION 25,-20 : 3D_X_POSITION 25,0
  3D_ROTATE 26,270,0,0 : 3D_Z_POSITION 26,-20 : 3D_X_POSITION 26,10
  3D_ROTATE 27,270,0,0 : 3D_Z_POSITION 27,-20 : 3D_X_POSITION 27,20
 
  ' Face (droite) dessus
  3D_ROTATE 28,90,0,0 : 3D_Z_POSITION 28,0 : 3D_Y_POSITION 28,30 : 3D_X_POSITION 28,0
  3D_ROTATE 29,90,0,0 : 3D_Z_POSITION 29,0 : 3D_Y_POSITION 29,30 : 3D_X_POSITION 29,10
  3D_ROTATE 30,90,0,0 : 3D_Z_POSITION 30,0 : 3D_Y_POSITION 30,30 : 3D_X_POSITION 30,20
  3D_ROTATE 31,90,0,0 : 3D_Z_POSITION 31,-10 : 3D_Y_POSITION 31,30 : 3D_X_POSITION 31,0
  3D_ROTATE 32,90,0,0 : 3D_Z_POSITION 32,-10 : 3D_Y_POSITION 32,30 : 3D_X_POSITION 32,10
  3D_ROTATE 33,90,0,0 : 3D_Z_POSITION 33,-10 : 3D_Y_POSITION 33,30 : 3D_X_POSITION 33,20
  3D_ROTATE 34,90,0,0 : 3D_Z_POSITION 34,-20 : 3D_Y_POSITION 34,30 : 3D_X_POSITION 34,0
  3D_ROTATE 35,90,0,0 : 3D_Z_POSITION 35,-20 : 3D_Y_POSITION 35,30 : 3D_X_POSITION 35,10
  3D_ROTATE 36,90,0,0 : 3D_Z_POSITION 36,-20 : 3D_Y_POSITION 36,30 : 3D_X_POSITION 36,20
 
  ' Face (dessus) droite
  3D_ROTATE 37,0,90,0 : 3D_Z_POSITION 37,0 : 3D_Y_POSITION 37,5 : 3D_X_POSITION 37,25
  3D_ROTATE 38,0,90,0 : 3D_Z_POSITION 38,0 : 3D_Y_POSITION 38,15 : 3D_X_POSITION 38,25
  3D_ROTATE 39,0,90,0 : 3D_Z_POSITION 39,0 : 3D_Y_POSITION 39,25 : 3D_X_POSITION 39,25
  3D_ROTATE 40,0,90,0 : 3D_Z_POSITION 40,-10 : 3D_Y_POSITION 40,5 : 3D_X_POSITION 40,25
  3D_ROTATE 41,0,90,0 : 3D_Z_POSITION 41,-10 : 3D_Y_POSITION 41,15 : 3D_X_POSITION 41,25
  3D_ROTATE 42,0,90,0 : 3D_Z_POSITION 42,-10 : 3D_Y_POSITION 42,25 : 3D_X_POSITION 42,25
  3D_ROTATE 43,0,90,0 : 3D_Z_POSITION 43,-20 : 3D_Y_POSITION 43,5 : 3D_X_POSITION 43,25
  3D_ROTATE 44,0,90,0 : 3D_Z_POSITION 44,-20 : 3D_Y_POSITION 44,15 : 3D_X_POSITION 44,25
  3D_ROTATE 45,0,90,0 : 3D_Z_POSITION 45,-20 : 3D_Y_POSITION 45,25 : 3D_X_POSITION 45,25
 
  ' Face (dessous) gauche
  3D_ROTATE 46,0,-90,0 : 3D_Z_POSITION 46,0 : 3D_Y_POSITION 46,5 : 3D_X_POSITION 46,-5
  3D_ROTATE 47,0,-90,0 : 3D_Z_POSITION 47,0 : 3D_Y_POSITION 47,15 : 3D_X_POSITION 47,-5
  3D_ROTATE 48,0,-90,0 : 3D_Z_POSITION 48,0 : 3D_Y_POSITION 48,25 : 3D_X_POSITION 48,-5
  3D_ROTATE 49,0,-90,0 : 3D_Z_POSITION 49,-10 : 3D_Y_POSITION 49,5 : 3D_X_POSITION 49,-5
  3D_ROTATE 50,0,-90,0 : 3D_Z_POSITION 50,-10 : 3D_Y_POSITION 50,15 : 3D_X_POSITION 50,-5
  3D_ROTATE 51,0,-90,0 : 3D_Z_POSITION 51,-10 : 3D_Y_POSITION 51,25 : 3D_X_POSITION 51,-5
  3D_ROTATE 52,0,-90,0 : 3D_Z_POSITION 52,-20 : 3D_Y_POSITION 52,5 : 3D_X_POSITION 52,-5
  3D_ROTATE 53,0,-90,0 : 3D_Z_POSITION 53,-20 : 3D_Y_POSITION 53,15 : 3D_X_POSITION 53,-5
  3D_ROTATE 54,0,-90,0 : 3D_Z_POSITION 54,-20 : 3D_Y_POSITION 54,25 : 3D_X_POSITION 54,-5 

END_SUB

' ------------------------------------------------------------------------------

Move:

    CAM_X_POSITION 50-(MOUSE_X_POSITION(100)/5)
    CAM_Y_POSITION (MOUSE_Y_POSITION(100)/5)-50
 
RETURN

' ------------------------------------------------------------------------------

Quit:

    TERMINATE
 
RETURN

' -----------------
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 15:12

Bonjour Marc !

Suite à la mise à jour de mon code hier, les tuiles ne se déplacent plus correctement lors de la rotation...
J'ai aussi ajouter des boutons pour le déplacement sur les faces. Reste la face arrière que l'on ne voit pas !

PS : voir maj plus bas sur le dernier post.


Dernière édition par Minibug le Jeu 8 Sep 2022 - 18:53, édité 3 fois

Jean Claude aime ce message

Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 16:02

Bonjour à tous,

Voilà un sujet qui m'intéresse. Very Happy
J'espère que vous irez au bout.
A+
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 16:06

Bonjour Jean Claude ! cheers

Content de te compter parmi nous.
Ca fait un moment que je ne t'avais pas vu sur le site. Ca fait plaisir ! Wink

Oui heureusement que Marc est là car sans lui pas de programme !
Les fonctions mathématiques c'est pas mon fort. Déjà que la 3D.... Laughing Laughing Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 18:46

Bon j'ai trouvé comment afficher la face de derrière !

il faut utiliser POINT_POSITION x,y,z qui permet de pointer la caméra dans la direction de x,y,z.
Et après on pose la caméra en x,y,z avec CAM_POSITION x,y,z.

Maintenant que j'ai trouvé la solution pour déplacer la caméra je vais changer le principe des boutons en les remplaçant par la souris.

Ce que je voudrai faire c'est que lors de l'appui sur le bouton gauche de la souris le déplacement de la caméra se fait selon un cercle autour du cube.
En rapport avec les mouvement en x et y pour tourner autour horizontalement et y et z pour tourner verticalement si je ne dis pas de bêtises...
Et lorsque l'on ne clique pas sur le scene3d il n'y a pas de déplacement. Et j'enlèverai ensuite les boutons.

PS : voir maj plus bas sur le dernier post.


Dernière édition par Minibug le Ven 9 Sep 2022 - 12:25, édité 1 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jack
Admin
Jack


Nombre de messages : 2394
Date d'inscription : 28/05/2007

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 20:28

Minibug a écrit:
ce qui pourrai être intéressant c'est d'avoir une sorte d'objet 3D virtuel un peu comme un panel en objet classique.
Cette objet 3D virtuel permettrai de rattacher des tuiles dessus à la façon d'une structure.
Cela permettrai de déplacer juste la structure cad l'équivalent du panel avec les objets dessus.
Je ne sais pas si c'est possible. Mais je pense que ce serai un grande avancé dans la 3D Panoramic !
Mais ça seul Jack peut y répondre...

Là, j'avoue que je n'y comprend pas grand-chose. Si tu pouvais préciser et décrire ce nouvel objet 3D...

_________________
Projet d'un Rubik's cube en 3D Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 22:01

Bonsoir à tous !

Minibug a écrit:
Bon j'ai trouvé comment afficher la face de derrière !

il faut utiliser POINT_POSITION x,y,z qui permet de pointer la caméra dans la direction de x,y,z.
Et après on pose la caméra en x,y,z avec CAM_POSITION x,y,z.

Aie, non, ce n’est pas bon.
En avançant la caméra en x à la valeur -50, tu as "transpercé" la face avant du cube et la caméra se retrouve à l’intérieur du Rubik’s cube !
Ce que tu vois de la face arrière est en réalité la face interne.
Pour l’instant, les facettes de la face arrière sont orientées vers le centre du cube et non pas vers l’extérieur.

Autrement j’ai vu que la rotation de la couronne avant n’était plus fonctionnelle dans ton dernier code-source. Tu as dû modifier quelques choses dans les cordonnées des 3D_PLANEs.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 22:10

Bonjour Jack,

Déjà je te remercie de prendre le temps de me répondre. Wink

Il faut savoir que je suis un novice en 2D et encore plus en 3D.
Je suis en train de faire la découverte de toutes ces fonctions.

Je pose le problème ou plutôt l'idée :

- Imaginons un ensemble de 6 tuiles orientées et agencées pour former un cube.
- Si je souhaite déplacer ce cube en x y ou z avec ces 6 tuiles je vais devoir recalculer la position de chaque tuile.

- D'où ma question : serait t-il possible de 'rattacher' ces tuiles à une sorte de parent virtuel ?
- Il suffirait ensuite de déplacer ce parent en x y ou z et les tuiles suivraient le mouvement correspondant...

Dans le cas présent 6 tuiles c'est gérable mais lorsqu'on a une vingtaine de tuiles ou plus ça devient compliqué !
Regarde le source de Marc ci-dessus pour le déplacement d'une couronne du rubik's cube et tu comprendra mieux...

Après peut être que ce que j'indique n'ai pas réalisable. Ne maitrisant pas du tout le sujet, je suis peut être à coté de la plaque.
ou bien il existe peut être déjà une solution...

Voila ! j'espère que c'est plus clair pour toi et encore merci Jack. sunny
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 22:13

Non non Marc je suis sûr de moi !!!!
Regarde bien la couleur des faces et leurs positions et tu verra que cela fonctionne parfaitement.

J'ai trouvé les infos sur cette page dans la section L'objet CAMERA 3D.

Oui concernant la couronne j'avais fait des modifications mais tu es resté sur l'ancien programme....

Dorénavant je ne laisserai que le dernier source avec la date et l'heure de mise en ligne.
Ca évitera les erreurs ! Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D EmptyJeu 8 Sep 2022 - 22:48

Minibug a écrit:
Non non Marc je suis sûr de moi !!!!
Regarde bien la couleur des faces et leurs positions et tu verra que cela fonctionne parfaitement.

Oui, tu as raison. Je viens faire l’essai. Sur l’axe x, quand la caméra franchit le 0, elle semble se retourner de 180° pour filmer l’arrière de la scène. bounce
Revenir en haut Aller en bas
Contenu sponsorisé





Projet d'un Rubik's cube en 3D Empty
MessageSujet: Re: Projet d'un Rubik's cube en 3D   Projet d'un Rubik's cube en 3D Empty

Revenir en haut Aller en bas
 
Projet d'un Rubik's cube en 3D
Revenir en haut 
Page 1 sur 9Aller à la page : 1, 2, 3, 4, 5, 6, 7, 8, 9  Suivant
 Sujets similaires
-
» Un p'tit cube
» The Cube
» cube avec belle texture
» finaliser un projet
» Projet débarquement

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: