FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» A propos des attributs de fichier
par Oscaribout Aujourd'hui à 1:53

» Problème de math
par Marc37 Hier à 23:04

» Problème de math
par braveen Hier à 21:40

» I Love You
par papydall Hier à 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Hier à 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Premiers pas en 3D

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Marc37



Nombre de messages : 457
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Premiers pas en 3D   Lun 3 Avr 2017 - 23:45

EDIT : mise à jour importante effectuée le 08 mai 2017

Bonjour à tous !

Je me suis fait un petit utilitaire pour mieux comprendre l'action des commandes 3D.

Code:
' ------------------------------------------------------------------------------
'  Premiers pas en 3D
'  Marc37 - mai 2017 - Panoramic v0.9.28i4
'  http://panoramic-language.pagesperso-orange.fr/French/index.html
' ------------------------------------------------------------------------------
Init()
Control_panel()
GOSUB Object_3D
Action()
END
' ------------------------------------------------------------------------------
Request:
    Action()
RETURN
' ------------------------------------------------------------------------------
SUB Action()
    SELECT NUMBER_CHANGE
        CASE 2
            IF POSITION(2)=1
                CAPTION 3,"AXES_SHOW"
                AXES_SHOW
            ELSE
                CAPTION 3,"AXES_HIDE"
                AXES_HIDE
            END_IF
        CASE 4
            CAM_X_POSITION POSITION(4)
            CAPTION 5, "CAM_X_POSITION : " + STR$(POSITION(4))+"  "
        CASE 6
            CAM_Y_POSITION POSITION(6)
            CAPTION 7, "CAM_Y_POSITION : " + STR$(POSITION(6))+"  "
        CASE 8
            CAM_Z_POSITION POSITION(8)
            CAPTION 9, "CAM_Z_POSITION : " + STR$(POSITION(8))+"  "
        CASE 10
            OFF_CHANGE 10
            IF Mem_cam_move% < POSITION(10) THEN CAM_MOVE 1
            IF Mem_cam_move% > POSITION(10) THEN CAM_MOVE -1
            Mem_cam_move%=POSITION(10)
            ON_CHANGE 10,Request
            CAPTION 11, "CAM_MOVE : " + STR$(Mem_cam_move%)+"  "
        CASE 12
            OFF_CHANGE 12
            IF Mem_cam_pitch% < POSITION(12) THEN CAM_PITCH 1
            IF Mem_cam_pitch% > POSITION(12) THEN CAM_PITCH -1
            Mem_cam_pitch%=POSITION(12)
            ON_CHANGE 12,Request
            CAPTION 13, "CAM_PITCH : " + STR$(Mem_cam_pitch%)+"  "
        CASE 14
            OFF_CHANGE 14
            IF Mem_cam_roll% < POSITION(14) THEN CAM_ROLL 1
            IF Mem_cam_roll% > POSITION(14) THEN CAM_ROLL -1
            Mem_cam_roll%=POSITION(14)
            ON_CHANGE 14,Request
            CAPTION 15, "CAM_ROLL : " + STR$(Mem_cam_roll%)+"  "
        CASE 16
            OFF_CHANGE 16
            IF Mem_cam_turn% < POSITION(16) THEN CAM_TURN 1
            IF Mem_cam_turn% > POSITION(16) THEN CAM_TURN -1
            Mem_cam_turn%=POSITION(16)
            ON_CHANGE 16,Request
            CAPTION 17, "CAM_TURN : " + STR$(Mem_cam_turn%)+"  "
        CASE 18
            POINT_X_POSITION POSITION(18)
            CAPTION 19, "POINT_X_POSITION : " + STR$(POSITION(18))+"  "
        CASE 20
            POINT_Y_POSITION POSITION(20)
            CAPTION 21, "POINT_Y_POSITION : " + STR$(POSITION(20))+"  "
        CASE 22
            POINT_Z_POSITION POSITION(22)
            CAPTION 23, "POINT_Z_POSITION : " + STR$(POSITION(22))+"  "
        CASE 24
            3D_X_POSITION 1,POSITION(24)
            CAPTION 25, "3D_X_POSITION : " + STR$(POSITION(24))+"  "
        CASE 26
            3D_Y_POSITION 1,POSITION(26)
            CAPTION 27, "3D_Y_POSITION : " + STR$(POSITION(26))+"  "
        CASE 28
            3D_Z_POSITION 1,POSITION(28)
            CAPTION 29, "3D_Z_POSITION : " + STR$(POSITION(28))+"  "
        CASE 30
            3D_X_ROTATE 1,POSITION(30)
            CAPTION 31, "3D_X_ROTATE : " + STR$(POSITION(30))+"  "
        CASE 32
            3D_Y_ROTATE 1,POSITION(32)
            CAPTION 33, "3D_Y_ROTATE : " + STR$(POSITION(32))+"  "
        CASE 34
            3D_Z_ROTATE 1,POSITION(34)
            CAPTION 35, "3D_Z_ROTATE : " + STR$(POSITION(34))+"  "
        CASE 54
            3D_X_SCALE 1,(POSITION(54)/10)
            CAPTION 55, "3D_X_SCALE : " + STR$((POSITION(54)/10))+"  "
        CASE 56
            3D_Y_SCALE 1,(POSITION(56)/10)
            CAPTION 57, "3D_Y_SCALE : " + STR$((POSITION(56)/10))+"  "
        CASE 58
            3D_Z_SCALE 1,(POSITION(58)/10)
            CAPTION 59, "3D_Z_SCALE : " + STR$((POSITION(58)/10))+"  "
        CASE 60
            OFF_CHANGE 60
            IF Mem_3D_move% < POSITION(60) THEN 3D_MOVE 1,1
            IF Mem_3D_move% > POSITION(60) THEN 3D_MOVE 1,-1
            Mem_3D_move%=POSITION(60)
            ON_CHANGE 60,Request
            CAPTION 61, "3D_MOVE : " + STR$(Mem_3D_move%)+"  "
        CASE 62
            LIGHT_X_POSITION POSITION(62)
            CAPTION 63, "LIGHT_X_POSITION : " + STR$(POSITION(62))+"  "
        CASE 64
            LIGHT_Y_POSITION POSITION(64)
            CAPTION 65, "LIGHT_Y_POSITION : " + STR$(POSITION(64))+"  "
        CASE 66
            LIGHT_Z_POSITION POSITION(66)
            CAPTION 67, "LIGHT_Z_POSITION : " + STR$(POSITION(66))+"  "
    END_SELECT
END_SUB
' ------------------------------------------------------------------------------
SUB Init()
    WIDTH 0,1360
    HEIGHT 0,680
    LABEL Object_3D
    LABEL Reset
    LABEL Request
    DIM Mem_cam_move%
    DIM Mem_cam_pitch%
    DIM Mem_cam_roll%
    DIM Mem_cam_turn%
    DIM Mem_3D_move%
    DIM Num_Object3D%
    SCENE3D 1
    WIDTH 1,600
    HEIGHT 1,600
    TOP 1,20
    LEFT 1,20
    COLOR 1,64,64,64
END_SUB
' ------------------------------------------------------------------------------
SUB Control_panel()
    SCROLL_BAR 2
        TOP 2,20
        LEFT 2,650
        WIDTH 2,70
        MIN 2,0
        MAX 2,1
        POSITION 2,1
        ON_CHANGE 2,Request
    ALPHA 3
        TOP 3,23
        LEFT 3, 730
        CAPTION 3, "AXES_SHOW"

    SCROLL_BAR 4
        TOP 4,55
        LEFT 4,650
        MIN 4,-10
        MAX 4,10
        POSITION 4,1
        ON_CHANGE 4,Request
    ALPHA 5
        TOP 5,58
        LEFT 5, 780
        CAPTION 5, "CAM_X_POSITION : " + STR$(POSITION(4))+"  "

    SCROLL_BAR 6
        TOP 6,80
        LEFT 6,650
        MIN 6,-10
        MAX 6,10
        POSITION 6,2
        ON_CHANGE 6,Request
    ALPHA 7
        TOP 7,83
        LEFT 7, 780
        CAPTION 7, "CAM_Y_POSITION : " + STR$(POSITION(6))+"  "

    SCROLL_BAR 8
        TOP 8,105
        LEFT 8,650
        MIN 8,-10
        MAX 8,10
        POSITION 8,5
        ON_CHANGE 8,Request
    ALPHA 9
        TOP 9,108
        LEFT 9, 780
        CAPTION 9, "CAM_Z_POSITION : " + STR$(POSITION(8))+"  "

    SCROLL_BAR 10
        TOP 10,140
        LEFT 10,650
        MIN 10,-10
        MAX 10,10
        ON_CHANGE 10,Request
    ALPHA 11
        TOP 11,143
        LEFT 11, 780
        CAPTION 11, "CAM_MOVE : " + STR$(POSITION(10))+"  "

    SCROLL_BAR 12
        TOP 12,175
        LEFT 12,650
        MIN 12,-10
        MAX 12,10
        ON_CHANGE 12,Request
    ALPHA 13
        TOP 13,178
        LEFT 13, 780
        CAPTION 13, "CAM_PITCH : " + STR$(POSITION(12))+"  "

    SCROLL_BAR 14
        TOP 14,200
        LEFT 14,650
        MIN 14,-10
        MAX 14,10
        ON_CHANGE 14,Request
    ALPHA 15
        TOP 15,203
        LEFT 15, 780
        CAPTION 15, "CAM_ROLL : " + STR$(POSITION(14))+"  "

    SCROLL_BAR 16
        TOP 16,225
        LEFT 16,650
        MIN 16,-10
        MAX 16,10
        ON_CHANGE 16,Request
    ALPHA 17
        TOP 17,228
        LEFT 17, 780
        CAPTION 17, "CAM_TURN : " + STR$(POSITION(16))+"  "

    SCROLL_BAR 18
        TOP 18,260
        LEFT 18,650
        MIN 18,-10
        MAX 18,10
        ON_CHANGE 18,Request
    ALPHA 19
        TOP 19,263
        LEFT 19, 780
        CAPTION 19, "POINT_X_POSITION : " + STR$(POSITION(18))+"  "

    SCROLL_BAR 20
        TOP 20,285
        LEFT 20,650
        MIN 20,-10
        MAX 20,10
        ON_CHANGE 20,Request
    ALPHA 21
        TOP 21,288
        LEFT 21, 780
        CAPTION 21, "POINT_Y_POSITION : " + STR$(POSITION(20))+"  "

    SCROLL_BAR 22
        TOP 22,310
        LEFT 22,650
        MIN 22,-10
        MAX 22,10
        ON_CHANGE 22,Request
    ALPHA 23
        TOP 23,313
        LEFT 23, 780
        CAPTION 23, "POINT_Z_POSITION : " + STR$(POSITION(22))+"  "

    SCROLL_BAR 24
        TOP 24,345
        LEFT 24,650
        MIN 24,-10
        MAX 24,10
        ON_CHANGE 24,Request
    ALPHA 25
        TOP 25,348
        LEFT 25, 780
        CAPTION 25, "3D_X_POSITION : " + STR$(POSITION(24))+"  "

    SCROLL_BAR 26
        TOP 26,370
        LEFT 26,650
        MIN 26,-10
        MAX 26,10
        ON_CHANGE 26,Request
    ALPHA 27
        TOP 27,373
        LEFT 27, 780
        CAPTION 27, "3D_Y_POSITION : " + STR$(POSITION(26))+"  "

    SCROLL_BAR 28
        TOP 28,395
        LEFT 28,650
        MIN 28,-10
        MAX 28,10
        ON_CHANGE 28,Request
    ALPHA 29
        TOP 29,398
        LEFT 29, 780
        CAPTION 29, "3D_Z_POSITION : " + STR$(POSITION(28))+"  "

    SCROLL_BAR 30
        TOP 30,430
        LEFT 30,650
        MIN 30,-180
        MAX 30,180
        ON_CHANGE 30,Request
    ALPHA 31
        TOP 31,433
        LEFT 31, 780
        CAPTION 31, "3D_X_ROTATE : " + STR$(POSITION(30))+"  "

    SCROLL_BAR 32
        TOP 32,455
        LEFT 32,650
        MIN 32,-180
        MAX 32,180
        ON_CHANGE 32,Request
    ALPHA 33
        TOP 33,458
        LEFT 33, 780
        CAPTION 33, "3D_Y_ROTATE : " + STR$(POSITION(32))+"  "

    SCROLL_BAR 34
        TOP 34,480
        LEFT 34,650
        MIN 34,-180
        MAX 34,180
        ON_CHANGE 34,Request
    ALPHA 35
        TOP 35,483
        LEFT 35, 780
        CAPTION 35, "3D_Z_ROTATE : " + STR$(POSITION(34))+"  "

    BUTTON 36
        WIDTH 36,17
        HEIGHT 36,17
        TOP 36,515
        LEFT 36, 650
        ON_CLICK 36, Object_3D
    BUTTON 37
        WIDTH 37,17
        HEIGHT 37,17
        TOP 37,540
        LEFT 37, 650
        ON_CLICK 37, Object_3D
    BUTTON 38
        WIDTH 38,17
        HEIGHT 38,17
        TOP 38,565
        LEFT 38, 650
        ON_CLICK 38, Object_3D
    BUTTON 39
        WIDTH 39,17
        HEIGHT 39,17
        TOP 39,590
        LEFT 39, 650
        ON_CLICK 39, Object_3D
    BUTTON 40
        WIDTH 40,17
        HEIGHT 40,17
        TOP 40,515
        LEFT 40, 754
        ON_CLICK 40, Object_3D
    BUTTON 41
        WIDTH 41,17
        HEIGHT 41,17
        TOP 41,540
        LEFT 41, 754
        ON_CLICK 41, Object_3D
    BUTTON 42
        WIDTH 42,17
        HEIGHT 42,17
        TOP 42,565
        LEFT 42, 754
        ON_CLICK 42, Object_3D
    BUTTON 43
        WIDTH 43,17
        HEIGHT 43,17
        TOP 43,590
        LEFT 43, 754
        ON_CLICK 43, Object_3D
    ALPHA 44
        TOP 44,518
        LEFT 44,672
        CAPTION 44,"3D_TEAPOT"
    ALPHA 45
        TOP 45,543
        LEFT 45,672
        CAPTION 45,"3D_CUBE"
    ALPHA 46
        TOP 46,568
        LEFT 46,672
        CAPTION 46,"3D_CONE"
    ALPHA 47
        TOP 47,593
        LEFT 47,672
        CAPTION 47,"3D_SPHERE"
    ALPHA 48
        TOP 48,518
        LEFT 48,775
        CAPTION 48,"3D_DODECAHEDRON"
    ALPHA 49
        TOP 49,543
        LEFT 49,775
        CAPTION 49,"3D_TORUS"
    ALPHA 50
        TOP 50,568
        LEFT 50,775
        CAPTION 50,"3D_CYLINDER"
    ALPHA 51
        TOP 51,593
        LEFT 51,775
        CAPTION 51,"3D_TEXT"
    ' *************** 2ème colonne
    SCROLL_BAR 54
        TOP 54,55
        LEFT 54,1000
        MIN 54,1
        MAX 54,20
        POSITION 54,10
        ON_CHANGE 54,Request
    ALPHA 55
        TOP 55,58
        LEFT 55, 1130
        CAPTION 55, "3D_X_SCALE : " + STR$((POSITION(54)/10))+"  "

    SCROLL_BAR 56
        TOP 56,80
        LEFT 56,1000
        MIN 56,1
        MAX 56,20
        POSITION 56,10
        ON_CHANGE 56,Request
    ALPHA 57
        TOP 57,83
        LEFT 57, 1130
        CAPTION 57, "3D_Y_SCALE : " + STR$((POSITION(56)/10))+"  "

    SCROLL_BAR 58
        TOP 58,105
        LEFT 58,1000
        MIN 58,1
        MAX 58,20
        POSITION 58,10
        ON_CHANGE 58,Request
    ALPHA 59
        TOP 59,108
        LEFT 59, 1130
        CAPTION 59, "3D_Z_SCALE : " + STR$((POSITION(58)/10))+"  "

    SCROLL_BAR 60
        TOP 60,140
        LEFT 60,1000
        MIN 60,-10
        MAX 60,10
        ON_CHANGE 60,Request
    ALPHA 61
        TOP 61,143
        LEFT 61, 1130
        CAPTION 61, "3D_MOVE : " + STR$(POSITION(60))+"  "

    SCROLL_BAR 62
        TOP 62,175
        LEFT 62,1000
        MIN 62,-10
        MAX 62,10
        POSITION 62,0
        ON_CHANGE 62,Request
    ALPHA 63
        TOP 63,178
        LEFT 63, 1130
        CAPTION 63, "LIGHT_X_POSITION : " + STR$(POSITION(62))+"  "

    SCROLL_BAR 64
        TOP 64,200
        LEFT 64,1000
        MIN 64,-10
        MAX 64,10
        POSITION 64,0
        ON_CHANGE 64,Request
    ALPHA 65
        TOP 65,203
        LEFT 65, 1130
        CAPTION 65, "LIGHT_Y_POSITION : " + STR$(POSITION(64))+"  "

    SCROLL_BAR 66
        TOP 66,225
        LEFT 66,1000
        MIN 66,-10
        MAX 66,10
        POSITION 66,5
        ON_CHANGE 66,Request
    ALPHA 67
        TOP 67,228
        LEFT 67, 1130
        CAPTION 67, "LIGHT_Z_POSITION : " + STR$(POSITION(66))+"  "
END_SUB
' ------------------------------------------------------------------------------
Object_3D:
    GOSUB Reset
    IF NUMBER_CLICK > 35
        IF NUMBER_CLICK =36 THEN 3D_DELETE 1:3D_TEAPOT 1
        IF NUMBER_CLICK =37 THEN 3D_DELETE 1:3D_CUBE 1,1
        IF NUMBER_CLICK =38 THEN 3D_DELETE 1:3D_CONE 1,1.5,1.1
        IF NUMBER_CLICK =39 THEN 3D_DELETE 1:3D_SPHERE 1,1.5
        IF NUMBER_CLICK =40 THEN 3D_DELETE 1:3D_DODECAHEDRON 1
        IF NUMBER_CLICK =41 THEN 3D_DELETE 1:3D_TORUS 1,1,0.5
        IF NUMBER_CLICK =42 THEN 3D_DELETE 1:3D_CYLINDER 1,2,1,0.5
        IF NUMBER_CLICK =43 THEN 3D_DELETE 1:3D_TEXT 1,"Panoramic":3D_COLOR 1,0,250,0
    ELSE
        3D_TEAPOT 1
    END_IF
        AXES_SHOW
        CAM_POSITION 1,2,5
RETURN
' ------------------------------------------------------------------------------
Reset:
    POSITION 2,1
    POSITION 4,1
    POSITION 6,2
    POSITION 8,5
    POSITION 10,0
    POSITION 12,0
    POSITION 14,0
    POSITION 16,0
    POSITION 18,0
    POSITION 20,0
    POSITION 22,0
    POSITION 24,0
    POSITION 26,0
    POSITION 28,0
    POSITION 30,0
    POSITION 32,0
    POSITION 34,0
    POSITION 54,10
    POSITION 56,10
    POSITION 58,10
    POSITION 60,0
    POSITION 62,0
    POSITION 64,0
    POSITION 66,5
RETURN
' ------------------------------------------------------------------------------



Dernière édition par Marc37 le Lun 8 Mai 2017 - 21:06, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10074
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Premiers pas en 3D   Mar 4 Avr 2017 - 0:45

Très impressionnant ! Je ne suis pas du tout branché sur la 3D, mais les effets sont spectaculaires. On imagine ce que l'on peut obtenir avec ça, si on maîtrise bien les fondamentaux !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

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

MessageSujet: Re: Premiers pas en 3D   Mar 4 Avr 2017 - 8:51

Bravo Marc37,

C'est effectivement un utilitaire pour comprendre l'action des commandes 3D de Panoramic.
Il est pratique, et le code permet de voir la mise en oeuvre des commandes.
Merci pour le partage.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Premiers pas en 3D   Mar 4 Avr 2017 - 10:12

J'ai sauvegardé le programme et je m'en servirai sûrement lorsque je déciderai de mettre de la 3D dans FBPano.

Mais d'ici là le programme aura probablement évolué Smile
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 69
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Vulgarisation   Mar 4 Avr 2017 - 10:16

Suis preneur d'autres premiers pas
cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

Nombre de messages : 830
Date d'inscription : 19/01/2014

MessageSujet: Premiers pas en 3D.   Mar 4 Avr 2017 - 11:00

Bonjour à tous.

Voici ma modeste contribution à la 3D.
Ce code, à adapter, est une petite partie de mon programme général.

Code:
dim flag%, i%, image_fond1$, k%

presentation_3D()

end

sub presentation_3D()
    full_space 0
    caption 0,"Maxi-School, la réussite pour tous en langues."
    command_target_is 0

    i%=int(rnd(4)+1)
    if i%=1 then image_fond1$="coelix.jpg"
    if i%=2 then image_fond1$="lune_terre.jpg"
    if i%=3 then image_fond1$="sky.jpg"
    if i%=4 then image_fond1$="venus_jupiter.jpg"

    scene3d 1
    hide 1
    full_space 1

    3d_plane 10
    3d_u_tile 10,1
    3d_v_tile 10,1
    3d_x_scale 10,2.2
    3d_y_scale 10,1.2
    3d_load_texture 10,"images\"+image_fond1$

    3d_text 16,"Apprendre gratuitement une langue."
    3d_x_position 16,-7.0
    3d_y_position 16,4.0
    3d_z_position 16,1.0
    3d_color 16,0,0,0

    3d_text 17,"------------------------------------------------"
    3d_x_position 17,-7.0
    3d_y_position 17,3.5
    3d_z_position 17,1.0
    3d_color 17,0,0,0

    3d_cube 2,4
    3d_load_texture 2,"images\monde1.bmp"

    3d_text 3,"Maxi-School"
    3d_x_position 3,-1.75
    3d_z_position 3,2.05
    3d_x_scale 3,0.45
    3d_color 3,255,128,255
    3d_chain 2,3

    3d_cube 4,3.9
    3d_y_rotate 4,90

    3d_text 5,"La réussite"
    3d_x_position 5,-1.75
    3d_z_position 5,2.05
    3d_x_scale 5,0.75
    3d_color 5,255,128,255
    3d_chain 4,5

    3d_cube 6,3.9
    3d_y_rotate 6,180

    3d_text 7,"pour tous"
    3d_x_position 7,-1.75
    3d_z_position 7,2.05
    3d_x_scale 7,0.75
    3d_color 7,255,128,255
    3d_chain 6,7

    3d_cube 8,3.9
    3d_y_rotate 8,270

    3d_text 9,"en langues."
    3d_x_position 9,-1.75
    3d_z_position 9,2.05
    3d_x_scale 9,0.75
    3d_color 9,255,128,255
    3d_chain 8,9

    for k%=11 to 15
        3d_box k%,0.5,0.5,0.01
        3d_load_texture k%,"images\"+trim$(mid$("allemagne espagne  italien  anglais  pologne  ",(k%-10)*10-9,9))+".bmp"
        3d_position k%,k%-13,-4,0
    next k%

    show 1

    sound 341
    file_load 341,"sons\Baila_Morena.mp3"
    play 341

    flag%=0
    suite_presentation_3D()
end_sub

sub suite_presentation_3D()
    for k%=360 to 0 step -1
        if o3d_object_exists(2)=0 or flag%=1 then exit_sub
        3d_y_rotate 2,k%
        3d_y_rotate 4,k%+90
        3d_y_rotate 6,k%+180
        3d_y_rotate 8,k%+270
        3d_x_rotate 16,k%
        3d_x_rotate 17,k%
        wait 10
    next k%
end_sub


Dernière édition par Pedro Alvarez le Mar 4 Avr 2017 - 14:36, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Premiers pas en 3D   Mar 4 Avr 2017 - 13:35

Merci Mark37 pour ce code qui fonctionne parfaitement.
Merci aussi à Pedro Alvarez pour le partage, mais il serait meilleur si l’on partagerait des codes fonctionnels que l’on peut exécuter directement.
Sans te vexer, ta SUB Presentation_3D() est inexploitable telle qu’elle est donnée : des variables non définies, des images non trouvées, des objets non crées, etc.

Il y a certainement des bonnes idées dans le code, mais çà n’encourage pas le testeur à l’étudier.

Bon je parle uniquement pour moi.

De toutes les façons merci pour le partage.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 69
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: OUI   Mar 4 Avr 2017 - 14:25

D'accord avec toi Papydall
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: Premiers pas en 3D   Mar 4 Avr 2017 - 14:34

Merci Ouf_ca_passe.
Citation :
Suis preneur d'autres premiers pas

Pour te faire plaisir et pour les  autres panoramiciens, voici un petit code bien documenté et fonctionnel.

Code:

rem ============================================================================
rem          Formules de passage de la 3D vers l’écran
rem                       Par Papydall
rem ============================================================================
rem           ____________________________________________________
rem          |                                                    |
rem          |  Xecran = Xorogine + A * (x - y)                   |
rem          |  Yecran = yorigine - B * (x + y) - C * z           |
rem          |  Avec :                                            |
rem          |  A = zoom / sqr(2)                                 |
rem          |  B = zoom * sin(alfa) / sqr(2)                     |
rem          |  C = zoom * cos(alfa)                              |
rem          |  x,y,z : Coordonnées cartésiennes de la figure 3D  |
rem          |  zoom  : facteur d’aggrandissement de la figure    |
rem          |____________________________________________________|

rem ============================================================================
rem                   Equation du plan de projection
rem ============================================================================
rem          _____________________________________________________
rem         |                                                     |
rem         |      x + y - c1*z avec c1 = sqr(2) * tan(alfa)      |
rem         |_____________________________________________________|

rem ============================================================================

dim a,b,c,c1,zoom,alfa,phi,lambda,xo,yo,x,y,z,xe,ye,r
alfa = pi/4 : c1 = sqr(2)*tan(alfa)
xo = 320 : yo = 230 : r = 100 : zoom = 2  : ' Toutes ces valeurs peuvent être modifiées
a = zoom/sqr(2) : b = zoom * sin(alfa)/sqr(2) : c = zoom * cos(alfa)
color 0,0,0,0 : display
caption 0,"Veuillez patienter .... <CLICK> pour arrêter"
for phi = 0 to 2*pi step pi/25  : ' méridiens
    for lambda = 0-pi/2 to pi/2 step 0.001
' Equation paramétrique de la sphère
        x = r * cos(lambda) * cos(phi)  : ' Coordonnées ...
        y = r * cos(lambda) * sin(phi)  : ' ... sphériques ...
        z = r * sin(lambda)             : ' .... de la sphère
        xe = xo + a*(x-y) : ye = yo - b*(x+y) - c*z : ' Coordonnées du point à l'écran
        if x+y-c1*z < 0   : ' Le point est-il visible ?
           2d_pen_color 255,255,0  : ' Oui ---> le tracé sera en jaune
        else
           2d_pen_color 255,0,0 : ' Non, le point est caché ---> le tracé sera en rouge
        end_if
        2d_point xe,ye :' Afficher le point à l'écran
        if scancode <> 0 then caption 0,"Arrêté par l'utilisateur ... " : end
    next lambda
next phi
caption 0,"Terminé"
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/ En ligne
Pedro Alvarez

avatar

Nombre de messages : 830
Date d'inscription : 19/01/2014

MessageSujet: Premiers pas en 3D.   Mar 4 Avr 2017 - 14:37

Bonjour.

J'ai un peu modifié le code ci-dessus, qui fonctionne maintenant indépendamment.
Les liens vers les images étant toujours à adapter.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 197
Age : 69
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: IMPRESSIONNANT   Mar 4 Avr 2017 - 14:48

Papydall +1

Pedro +1

Vous êtes bons pour réaliser des animations 3D holographiques sur écran à l'horizontale

https://www.youtube.com/watch?v=oZDDvOxkm4A
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 536
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: Premiers pas en 3D   Mer 5 Avr 2017 - 20:24

Bonjour à Tous
à Marc37
pour avoir quelque peut gratté la 3D avec Panoramic il est très important de maitriser les liaisons entre les objet ( 3D-CHAIN)
il y a quelques BUG a maitriser ensuite les portes de la 3D te sont ouvertes.
sur mon webdav   tu trouveras quelques programmes dans ce sens.
Comme ils comportent de multiples objet, textures...il faut tout prendre et quelque fois renommer les chemins d'acces.
Bon développements
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc37



Nombre de messages : 457
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: Premiers pas en 3D   Jeu 6 Avr 2017 - 3:26


Merci à tous de vos retours.

Merci Papydall, Pedro et Mindstorm pour votre contribution.

Je continuerai ce weekend à étudier la technique 3D.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 6 Avr 2017 - 3:29

@ Marc 37,

En gros, tu t' es comporté en bon Panoramicien.
lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc37



Nombre de messages : 457
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: Premiers pas en 3D   Lun 8 Mai 2017 - 21:46

Bonjour à tous !

Mise à jour importante du 1er post :

- Ajout de quelques commandes 3D ;

- Amélioration des commandes "caméra".


A suivre...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
UltraVox

avatar

Nombre de messages : 39
Age : 47
Localisation : Ajaccio
Date d'inscription : 05/06/2017

MessageSujet: Re: Premiers pas en 3D   Mar 6 Juin 2017 - 7:00

Merci Marc37, j'apprécie.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Premiers pas en 3D   

Revenir en haut Aller en bas
 
Premiers pas en 3D
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Weave •
» SilK TRUE ALMOND gratuit pour les 1000 premiers
» Premiers pas - merci de vos commantaires
» Les premiers téléphones Free Mobile livrés ce matin
» Mes premiers pas dans la famille vapoteuse !

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: