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
» Gestion d'un système client-serveur.
Problème mathématique en 3D Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Problème mathématique en 3D Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Problème mathématique en 3D Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Problème mathématique en 3D Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Problème mathématique en 3D Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Problème mathématique en 3D Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Problème mathématique en 3D Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Problème mathématique en 3D Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Problème mathématique en 3D Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Problème mathématique en 3D Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Problème mathématique en 3D Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Problème mathématique en 3D Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Problème mathématique en 3D Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Problème mathématique en 3D Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Problème mathématique en 3D Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

 

 Problème mathématique en 3D

Aller en bas 
2 participants
AuteurMessage
Marc

Marc


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

Problème mathématique en 3D Empty
MessageSujet: Problème mathématique en 3D   Problème mathématique en 3D EmptyJeu 24 Mai 2018 - 1:24

Bonjour à tous !

Dans un précédant sujet > ici <, vous avez pu tester un dé en 3D réalisé avec 6 objets 3DPLANE.
En animation, j’avais choisi d’utiliser la caméra du SCENE3D que j’ai asservi à la position de la souris en x et en y.
Mais, comme l’ont fait remarquer Papydall et Minibug, il n’est pas possible de voir la face arrière du dé.
Voilà qui m’a donné l’idée de changer d’animation et de faire tourner le dé sur lui-même en fonction de la position x et y de la souris.
Aie aie aie ! Simple à dire mais très complexe (pour moi) à programmer !
Ce dé est un objet composé de plusieurs objets et chaque objet a ses propres coordonnées x,y et z.
J’ai réussi à faire tourner le dé sur son axe y en fonction de la position x de la souris => Voir source de démonstration ci-dessous.
J’ai réussi à faire tourner le dé sur son axe x en fonction de la position y de la souris.
Mais je n’arrive pas à "mixer" les 2 rotations en x et en y sans que les faces du dé ne se disloquent.
Comment faire ?

Voilà donc un défi mathématique pour ceux qui le souhaitent...

Le SCENE3D porte le numéro 100
Le dé est composé de 6 objets : l’objet 1 est la face une, l’objet 2 est la face deux etc.
L’animation s’opère dans la SUB Move.

Code:
' ------------------------------------------------------------------------------
'  PANORAMIC 3D Dice / Dé 3D
'  Marc - May 2018 - Panoramic v0.9.28.i18
'  http://panoramic-language.pagesperso-orange.fr/French/index.html
'  http://panoramic.top-forum.net
' ------------------------------------------------------------------------------
' main
    Init()
    Skin()
    Dice()
    Instructions()
    CAM_MOVE -15
    ON_MOUSE_MOVE 100,Move
END
' ------------------------------------------------------------------------------
SUB Init()
    LABEL Move,Quit
    DEGREES
    DIM x,y
    HEIGHT 0,540 + HEIGHT(0)-HEIGHT_CLIENT(0)
    WIDTH 0,500 + WIDTH(0)-WIDTH_CLIENT(0)
    LEFT 0,(screen_x-WIDTH(0))/2
    TOP 0,(screen_y-HEIGHT(0))/2
    COLOR 0,50,150,50
    PICTURE 1
    WIDTH 1,200
    HEIGHT 1,200
    ON_CLOSE 0, Quit
END_SUB
' ------------------------------------------------------------------------------
SUB dice()
    DIM_LOCAL i%
    SCENE3D 100
    HEIGHT 100,500
    WIDTH 100,500
    COLOR 100,50,150,50
    FOR i% = 1 TO 6
        3D_PLANE i%
        3D_V_TILE i%,1
        3D_U_TILE i%,1
    NEXT i%
    3D_IMAGE_TEXTURE 1,10
    3D_X_ROTATE 1,-90
    3D_Y_POSITION 1,-5
 
    3D_IMAGE_TEXTURE 2,11
    3D_Z_POSITION 2,-5
    3D_Y_ROTATE 2,180

    3D_IMAGE_TEXTURE 3,12
    3D_X_POSITION 3,5
    3D_Y_ROTATE 3,90

    3D_IMAGE_TEXTURE 4,13
    3D_X_POSITION 4,-5
    3D_Y_ROTATE 4,-90

    3D_IMAGE_TEXTURE 5,14
    3D_X_ROTATE 5,0
    3D_Z_POSITION 5,5

    3D_U_TILE 6,1
    3D_IMAGE_TEXTURE 6,15
    3D_X_ROTATE 6,90
    3D_Y_POSITION 6,5
    
END_SUB
' ------------------------------------------------------------------------------
SUB Skin()
    2D_TARGET_IS 1
    face1()
    face2()
    face3()
    face4()
    face5()
    face6()
END_SUB
' ------------------------------------------------------------------------------
SUB Face1()
    COLOR 1,0,250,250
    2D_CIRCLE 100,100,15
    IMAGE 10
    2D_IMAGE_COPY 10,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face2()
    COLOR 1,0,250,0
    2D_CIRCLE 40,40,15
    2D_CIRCLE 160,160,15
    IMAGE 11
    2D_IMAGE_COPY 11,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face3()
    COLOR 1,0,0,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 100,100,15
    2D_CIRCLE 160,160,15
    IMAGE 12
    2D_IMAGE_COPY 12,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face4()
    COLOR 1,250,250,0
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    IMAGE 13
    2D_IMAGE_COPY 13,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face5()
    COLOR 1,250,0,0
    2D_FILL_COLOR 250,250,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    2D_CIRCLE 100,100,15
    2D_FILL_COLOR 250,0,0
    PRINT_TARGET_IS 1
    FONT_NAME 1,"Times New Roman"
    FONT_SIZE 1,7
    PRINT_LOCATE 130,185
    PRINT "Marc - May 2018"
    2D_FILL_COLOR 250,250,250
    IMAGE 14
    2D_IMAGE_COPY 14,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face6()
    COLOR 1,250,0,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,100,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    2D_CIRCLE 160,100,15
    IMAGE 15
    2D_IMAGE_COPY 15,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Instructions()
    PICTURE 50
    HEIGHT 50,40
    WIDTH 50,500
    TOP 50,500
    COLOR 50,50,150,50
    2D_TARGET_IS 50
    2D_FILL_COLOR 50,150,50
    PRINT_TARGET_IS 50
    FONT_NAME 50,"Times New Roman"
    FONT_SIZE 50,18
    FONT_ITALIC 50
    PRINT_LOCATE 60,10
    PRINT "Move the mouse   /   Bougez la souris"
END_SUB
' ------------------------------------------------------------------------------
Move:
    x = WRAP_VALUE(MOUSE_X_POSITION(100))
'    y = WRAP_VALUE(MOUSE_Y_POSITION(100)*(-1))

' face 1
    3D_Z_ROTATE 1,x

' face 2
    3D_Y_ROTATE 2,x+180
    3D_Z_POSITION 2, 5*(COS(x+180))
    3D_X_POSITION 2, 5*(SIN(x+180))

' face 3
    3D_Y_ROTATE 3,x+90
    3D_Z_POSITION 3, 5*(COS(x+90))
    3D_X_POSITION 3, 5*(SIN(x+90))

' face 4
    3D_Y_ROTATE 4,x -90
    3D_Z_POSITION 4, 5*(COS(x-90))
    3D_X_POSITION 4, 5*(SIN(x-90))

' face 5
    3D_Y_ROTATE 5,x
    3D_Z_POSITION 5, 5*(COS(x))
    3D_X_POSITION 5, 5*(SIN(x))

' face 6    
    3D_Z_ROTATE 6,x
    
RETURN
' ------------------------------------------------------------------------------
Quit:
    TERMINATE
RETURN

Problème mathématique en 3D 197
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7009
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Problème mathématique en 3D Empty
MessageSujet: Re: Problème mathématique en 3D   Problème mathématique en 3D EmptyJeu 24 Mai 2018 - 2:59

Avec un peu de tâtonnement, j’ai réussi à faire tourner le dé : toutes les faces (de 1 à 6) peuvent être vues.
Ajout de la ligne 155


Code:

' ------------------------------------------------------------------------------
'  PANORAMIC 3D Dice / Dé 3D
'  Marc - May 2018 - Panoramic v0.9.28.i18
'  http://panoramic-language.pagesperso-orange.fr/French/index.html
'  http://panoramic.top-forum.net
' ------------------------------------------------------------------------------
' main
    Init()
    Skin()
    Dice()
    Instructions()
    CAM_MOVE -15
    ON_MOUSE_MOVE 100,Move
END
' ------------------------------------------------------------------------------
SUB Init()
    LABEL Move,Quit
    DIM x,y
    HEIGHT 0,540 + HEIGHT(0)-HEIGHT_CLIENT(0)
    WIDTH 0,500 + WIDTH(0)-WIDTH_CLIENT(0)
    LEFT 0,(screen_x-WIDTH(0))/2
    TOP 0,(screen_y-HEIGHT(0))/2
    COLOR 0,50,150,50
    PICTURE 1
    WIDTH 1,200
    HEIGHT 1,200
    ON_CLOSE 0, Quit
END_SUB
' ------------------------------------------------------------------------------
SUB dice()
    DIM_LOCAL i%
    SCENE3D 100
    HEIGHT 100,500
    WIDTH 100,500
    COLOR 100,50,150,50
    FOR i% = 1 TO 6
        3D_PLANE i%
        3D_V_TILE i%,1
        3D_U_TILE i%,1
    NEXT i%
    3D_Z_POSITION 1,5
    3D_IMAGE_TEXTURE 1,10
    3D_IMAGE_TEXTURE 2,11
    3D_Z_POSITION 2,-5
    3D_Y_ROTATE 2,180
    3D_IMAGE_TEXTURE 3,12
    3D_X_POSITION 3,5
    3D_Y_ROTATE 3,90
    3D_IMAGE_TEXTURE 4,13
    3D_X_POSITION 4,-5
    3D_Y_ROTATE 4,-90
    3D_IMAGE_TEXTURE 5,14
    3D_X_ROTATE 5,90
    3D_Y_POSITION 5,5
    3D_U_TILE 6,1
    3D_IMAGE_TEXTURE 6,15
    3D_X_ROTATE 6,-90
    3D_Y_POSITION 6,-5
END_SUB
' ------------------------------------------------------------------------------
SUB Skin()
    2D_TARGET_IS 1
    face1()
    face2()
    face3()
    face4()
    face5()
    face6()
END_SUB
' ------------------------------------------------------------------------------
SUB Face1()
    COLOR 1,250,0,0
    2D_FILL_COLOR 250,250,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    2D_CIRCLE 100,100,15
    2D_FILL_COLOR 250,0,0
    PRINT_TARGET_IS 1
    FONT_NAME 1,"Times New Roman"
    FONT_SIZE 1,7
    PRINT_LOCATE 130,185
    PRINT "Marc - May 2018"
    2D_FILL_COLOR 250,250,250
    IMAGE 10
    2D_IMAGE_COPY 10,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face2()
    COLOR 1,0,250,0
    2D_CIRCLE 40,40,15
    2D_CIRCLE 160,160,15
    IMAGE 11
    2D_IMAGE_COPY 11,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face3()
    COLOR 1,0,0,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 100,100,15
    2D_CIRCLE 160,160,15
    IMAGE 12
    2D_IMAGE_COPY 12,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face4()
    COLOR 1,250,250,0
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    IMAGE 13
    2D_IMAGE_COPY 13,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face5()
    COLOR 1,0,250,250
    2D_CIRCLE 100,100,15
    IMAGE 14
    2D_IMAGE_COPY 14,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Face6()
    COLOR 1,250,0,250
    2D_CIRCLE 40,40,15
    2D_CIRCLE 40,100,15
    2D_CIRCLE 40,160,15
    2D_CIRCLE 160,160,15
    2D_CIRCLE 160,40,15
    2D_CIRCLE 160,100,15
    IMAGE 15
    2D_IMAGE_COPY 15,0,0,200,200
END_SUB
' ------------------------------------------------------------------------------
SUB Instructions()
    PICTURE 50
    HEIGHT 50,40
    WIDTH 50,500
    TOP 50,500
    COLOR 50,50,150,50
    2D_TARGET_IS 50
    2D_FILL_COLOR 50,150,50
    PRINT_TARGET_IS 50
    FONT_NAME 50,"Times New Roman"
    FONT_SIZE 50,18
    FONT_ITALIC 50
    PRINT_LOCATE 60,10
    PRINT "Move the mouse   /   Bougez la souris"
END_SUB
' ------------------------------------------------------------------------------
Move:
    CAM_X_POSITION 50-(MOUSE_X_POSITION(100)/5)
    CAM_Y_POSITION (MOUSE_Y_POSITION(100)/5)-50
    CAM_Z_POSITION (MOUSE_Y_POSITION(100)/5)-50  : ' <------------ Papydall
RETURN
' ------------------------------------------------------------------------------
Quit:
    TERMINATE
RETURN
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


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

Problème mathématique en 3D Empty
MessageSujet: Re: Problème mathématique en 3D   Problème mathématique en 3D EmptyJeu 24 Mai 2018 - 18:24

Bonjour à tous !

Bonjour Papydall !
Merci de ton intervention !
Effectivement, avec ta modification, on peut voir la face arrière, mais tu as utilisé la caméra.
Là, dans cette nouvelle variante d’animation 3D,  je souhaitais faire tourner le dé sur lui-même. Et c’est là que je bloque mathématiquement pour pouvoir le faire tourner dans tous les sens.
En y seul, pas de problème. Voir mon source d’exemple dans mon premier post ci-dessus.
En x seul , pas de problème non plus.
Mais pour allier les 2 ensemble,x et y, autrement dit pour pouvoir le faire tourner en diagonal, c’est une autre paire de manches !
Revenir en haut Aller en bas
Contenu sponsorisé





Problème mathématique en 3D Empty
MessageSujet: Re: Problème mathématique en 3D   Problème mathématique en 3D Empty

Revenir en haut Aller en bas
 
Problème mathématique en 3D
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» probleme sur DLL
» Problème de DLL.
» Où est le problème?
» Problème avec select case Probleme réglé merci
» J'ai un problème...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: