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.
Des paysages qui flottent Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Des paysages qui flottent Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Des paysages qui flottent Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Des paysages qui flottent Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Des paysages qui flottent Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Des paysages qui flottent Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Des paysages qui flottent Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Des paysages qui flottent Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Des paysages qui flottent Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Des paysages qui flottent Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Des paysages qui flottent Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Des paysages qui flottent Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Des paysages qui flottent Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Des paysages qui flottent Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Des paysages qui flottent 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
Le deal à ne pas rater :
Cartes Pokémon : la prochaine extension Pokémon sera EV6.5 Fable ...
Voir le deal

 

 Des paysages qui flottent

Aller en bas 
4 participants
AuteurMessage
jjn4

jjn4


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

Des paysages qui flottent Empty
MessageSujet: Des paysages qui flottent   Des paysages qui flottent EmptyVen 2 Sep 2022 - 15:14

Bon, ça ne sert pas potentiellement à rien,
mais pour le moment, si :
geek
Imaginez que vous entendiez le chant des oiseaux,
et pendant ce temps, des images s'évadent sur votre écran
(s'évadent = s'éloignent, se rapprochent, dérivent vers le côté...)
Cela vous fait rêver... (on trouve cela facilement sur Internet).
rabbit
J'ai essayé de faire un essai dans ce genre en Panoramic,
et voilà ce que cela peut donner :
Code:
rem ' Essai paysage flottant
  dim A% , V%
  label clic
  width 0,1000
  height 0,600

button 50
  left 50,700
  top 50,50
  width 50,150
  height 50,80
  font_bold 50
  font_size 50,20
  font_name 50,"Arial"
  caption 50,"Arrêter"
  on_click 50,clic
 
panel 100
  left 100,100
  top 100,40
  width 100,550
  height 100,275

picture 200
  parent 200,100
  left 200,-110
  top 200,-55
  width 200,768
  height 200,384
  if file_exists("Oiseaux.jpg")=1
      file_load 200,"Oiseaux.jpg"
      V%=1
  end_if

for A% = 1 to 3 
  pause 500
  petit()
  pause 500
  grand()
next A%
beep
 
end

clic:
  terminate
return

sub grand()
  dim_local g%
  if V%=1
      for g% = 1 to 55
        left 200,left(200)-2
        top 200,top(200)-1
        width 200,width(200)+4
        height 200,height(200)+2
        file_load 200,"Oiseaux.jpg"
        stretch_on 200
        display
        pause 50
      next g%
  end_if
end_sub

sub petit()
  dim_local p%
  if V%=1
      for p% = 1 to 55
        left 200,left(200)+2
        top 200,top(200)+1
        width 200,width(200)-4
        height 200,height(200)-2
        file_load 200,"Oiseaux.jpg"
        stretch_on 200
        display
        pause 50
      next p%
  end_if
end_sub

Avec l'image que voici :
Des paysages qui flottent Oiseau10

Le problème, c'est que ça clignote un peu, ce qui n'est pas si joli que sur Internet.
J'ai essayé d'utiliser display, mais ça ne fait pas grand chose de plus.
J'ai essayé aussi en utilisant plutôt un objet image, mais là, le stretch_on ne marche pas.
Quelqu'un est peut-être capable de faire mieux, je ne sais pas.
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyVen 2 Sep 2022 - 16:52

Bonjour à tous !

@JJN4
Une scène 3D pourrait peut-être faire l’affaire ?

Explications :
- Tu crées une scène 3d ;
- Tu y mets un objet 3d_plane ;
- Tu réduis le 3d_plane à une seule tuile avec les commandes 3d_u_tile et 3d_v_tile ;
- Tu charges l’image sur la tuile avec la commande 3d_load_texture ;
Ensuite, avec les différentes commandes 3D, tu peux déplacer l’image (la tuile) tout en douceur dans la direction souhaitée, tu peux zoomer, déformer…

Voilà pour mon idée à tester...
Pour te donner un aperçu de la fluidité et la vélocité d'un objet 3d_plane dans une scène 3d, tu peux tester la boussole de cet article : https://panoramic.1fr1.net/t5912-boussole


Bonne continuation !
Revenir en haut Aller en bas
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyVen 2 Sep 2022 - 18:30

@JJN4

Suite à mon précédent post, pour démonstration des commandes 3d, voici un petit programme utilisant ton image oiseaux.jpg.

Code:
' ------------------------------------------------------------------------------
'  Démo 3D
'  Marc - Septembre 2022
'  Ecrit en langage Panoramic 0.9.29.i9
' ------------------------------------------------------------------------------
dim Mem_cam_move%
dim Mem_cam_pitch%
dim Mem_cam_roll%
dim Mem_cam_turn%
dim Mem_3D_move%

label Request

width 0,1360
height 0,680
scene3d 1
width 1,550
height 1,275
top 1,20
left 1,20

Control_panel()
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)/50
            caption 25, "3d_x_position : " + str$(position(24)/50)+"  "
        case 26
            3d_y_position 1,position(26)/50
            caption 27, "3d_y_position : " + str$(position(26)/50)+"  "
        case 28
            3d_z_position 1,position(28)/50
            caption 29, "3d_z_position : " + str$(position(28)/50)+"  "
        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 Control_panel()
    scroll_bar 2
        top 2,20
        left 2,650
        width 2,70
        min 2,0
        max 2,1
        position 2,0
        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))+"  "

    ' *************** 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,5
        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
' ------------------------------------------------------------------------------
sub Object_3D()
    3d_plane 1
    3d_u_tile 1,1
    3d_v_tile 1,1
    3d_y_scale 1,0.5
    3d_load_texture 1,"oiseaux.jpg"    
end_sub
' ------------------------------------------------------------------------------

Des paysages qui flottent Jjn4_b38
Revenir en haut Aller en bas
Minibug

Minibug


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyVen 2 Sep 2022 - 19:11

Bonjour Jjn4, Marc et toute la communauté !

Ben là je suis bluffé, je ne croyais pas que l'on pouvait faire autant de choses en Panoramic sur une photo !
C'est génial et le tout en temps réel !! sunny

Bon j'avoue que je n'ai pas encore décortiqué le code et n'étant pas spécialiste des fonctions 3D, je risque d'être vite perdu !!

En tout cas bravo Marc pour cette démonstration et merci à Jjn4 pour avoir ouvert cette discussion.
Au moins j'aurai appris quelque chose aujourd'hui !!! Laughing Laughing

Ouf_ca_passe aime ce message

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

jjn4


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptySam 3 Sep 2022 - 14:38

Je confirme ce que dit Minibug :
c'est absolument magnifique !!!!!!!!!!!!
Je ne connaissais pas, car je m'aventure rarement dans la 3d.
Mais c'est vraiment superbe, et ça efface bien tous les clignotements.
Bravo, Marc !!!
cheers
Comme c'est vrai que les multiples solutions offertes par le pg de Marc
peuvent donner un ensemble ardu, et au cas où Minibug craindrait de s'y perdre,
voici le même programme que celui que j'avais fait, mais dans la version 3d de Marc :
Code:
rem ' Paysage flottant version 2
  dim A% , V
  V=5
  label clic
  width 0,1000
  height 0,600
 
button 50
  left 50,700
  top 50,50
  width 50,150
  height 50,80
  font_bold 50
  font_size 50,20
  font_name 50,"Arial"
  caption 50,"Arrêter"
  on_click 50,clic
 
panel 100
  left 100,100
  top 100,40
  width 100,550
  height 100,275

scene3d 200
  parent 200,100
  left 200,-110
  top 200,-55
  width 200,768
  height 200,384
  3d_plane 200
  3d_u_tile 200,1   
  3d_v_tile 200,1
  3d_y_scale 200,0.5
  3d_load_texture 200,"oiseaux.jpg"
   
pause 250
petit()
for A% = 1 to 3
  pause 250
  grand()
  grand()
  pause 250
  petit()
  petit()
next A%   
   
end

clic:
  terminate
return

sub grand()
  dim_local v1gr%
  for v1gr% = 1 to 150
      V=V+0.01
      cam_z_position V
      pause 5
  next v1gr%
end_sub

sub petit()
  dim_local v1pe%
  for v1pe% = 1 to 150
      V=V-0.01
      cam_z_position V
      pause 5
  next v1pe%
end_sub
C'est vraiment beaucoup mieux !
jocolor
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptySam 3 Sep 2022 - 15:43

Bravo JJN4 pour la mise en pratique de la 3d ! C’est parfait !

J’ai hâte de découvrir ce que tu nous concoctes pour la rentrée 2022 !

Bonne continuation !
Revenir en haut Aller en bas
jjn4

jjn4


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyDim 4 Sep 2022 - 16:11

Alors, j'ai une autre idée, et partant, une autre question :
Si on fait plutôt comme ceci :
Code:
rem ' Paysage flottant version 3
   dim A% , V , W
   V=5
   label clic
   width 0,1000
   height 0,600
  
button 50
   left 50,700
   top 50,50
   width 50,250
   height 50,80
   font_bold 50
   font_size 50,20
   font_name 50,"Arial"
   caption 50,"Déclancher"
   on_click 50,clic
 
panel 100
   left 100,100
   top 100,40
   width 100,550
   height 100,275

scene3d 200
   parent 200,100
   left 200,-110
   top 200,-55
   width 200,768
   height 200,384
   3d_plane 200
   3d_u_tile 200,1    
   3d_v_tile 200,1
   3d_y_scale 200,0.5
   3d_load_texture 200,"oiseaux.jpg"

end

clic:
   inactive 50
   3d_u_tile 200,1    
   3d_v_tile 200,1
   3d_y_scale 200,0.5
   3d_load_texture 200,"oiseaux.jpg"
   pause 250
   V=5 : W=0
   petit()
   pause 999
   3d_y_rotate 200,0
   cam_z_position 5
   active 50
return
  
sub petit()
   dim_local v1pe% , v2pe%
   v2pe%=even(time_second)
   for v1pe% = 1 to 72
      V=V+0.2
      cam_z_position V
      if v1pe%>42
         if v2pe%=1
            W=W+3
         else
            W=W-3
         end_if
         3d_y_rotate 200,W
      end_if
      pause 5
   next v1pe%
end_sub
Comment faire pour que l'image qui s'éloigne et disparaît
le fasse par dessus une autre image (pour l'instant, la même)
(celle-ci ne bougeant pas, tant que l'autre n'a pas disparu)
sans qu'il y ait de blanc entre les deux ?
J'ai essayé quelques trucs, mais je suis vraiment nul, en 3d.
Pourtant d'après les perspective fabuleuses que nous a révélées Marc,
peut-être que ça devrait être possible en Panoramic ?
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyDim 4 Sep 2022 - 16:48

Salut JJN4 !

Utilise une deuxième tuile pour l'autre image.

Regarde le programme "Qui fait quoi ?". Il utilise seize 3d_plane (tuiles) qui s'enchainent pour former une roue.

https://panoramic.1fr1.net/t5914-qui-fait-quoi


Dernière édition par Marc le Dim 4 Sep 2022 - 17:47, édité 1 fois
Revenir en haut Aller en bas
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyDim 4 Sep 2022 - 17:37

@JJN4
Suite de mon post précédent.
Je viens de jeter un œil sur ton code-source ci-dessus.
J’ai vu que tu avais utilisé le même numéro d’objet pour la scene3d et pour le 3d_plane.
- scene3d  200
- 3d_plane 200

Bien que cela ne pose pas de problème fonctionnel, afin d’éviter une confusion entre les deux objets, tu pourrais utiliser des numéros qui ne sont pas déjà pris par des objets usuels de Panoramic dans ton source.
Tout comme les sprites dans une scène 2d, les objets 3d ont leur propre numérotation qui n’interfère pas avec les numéros d’objets classiques de Panoramic.
Chaque 3d_plane a son propre numéro d'objet. Deux 3d_plane ne peuvent pas avoir le même numéro.

Dans l’espace 3d, tu peux faire évoluer les 3d_plane individuellement. Les possibilités artistiques sont infinies.
Revenir en haut Aller en bas
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyDim 4 Sep 2022 - 18:15

@JJN4
Encore une précision :
Les différentes commandes CAM_xxxxxxxxx sont utilisées pour déplacer la caméra qui observe la scène 3d. La caméra est ce que notre œil observe. Elle filme tous les objets d’une scène 3d. Si tu bouges la caméra, tous les objets bougeront simultanément.

Si tu veux déplacer un seul objet 3d dans la scène 3d, utilise les commandes 3D_..._POSITON N,V.
N étant le numéro de l’objet 3d à mouvoir.
V étant la valeur à lui appliquer.
Revenir en haut Aller en bas
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyDim 4 Sep 2022 - 18:15

@JJN4
Encore une précision :
Les différentes commandes CAM_xxxxxxxxx sont utilisées pour déplacer la caméra qui observe la scène 3d. La caméra est ce que notre œil observe. Elle filme tous les objets d’une scène 3d. Si tu bouges la caméra, tous les objets bougeront simultanément.

Si tu veux déplacer un seul objet 3d dans la scène 3d, utilise les commandes 3D_..._POSITON N,V.
N étant le numéro de l’objet 3d à mouvoir.
V étant la valeur à lui appliquer.
Revenir en haut Aller en bas
jjn4

jjn4


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyDim 4 Sep 2022 - 18:53

Je n'ai pas tout compris, mais dans le pg qui-fait-quoi,
les tuiles sont l'une à côté des autres, pas l'une sur l'autre.
Si je mets un 3d_plane sous celui qui y est déjà, il n'apparaît pas.
scratch scratch scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyDim 4 Sep 2022 - 20:41

Tu places et orientes les tuiles dans l’espace 3d comme tu veux.
Elles peuvent être l’une dernière l’autre si l’on souhaite. Elles ne sont pas transparentes.

L’espace 3d est représenté suivant 3 axes que l’on peut afficher sous Panoramic avec la commande AXES_SHOW. La visualisation de ces axes permet de mieux comprendre l’action des différentes commandes.

Par défaut, l’axe des X est orienté droite-gauche, l’axe Y : haut-bas et l’axe Z est en profondeur.

Prenons l’exemple de 2 tuiles représentées par tes mains. Ta main droite représente une tuile et ta main gauche, une autre tuile. Tu tends les bras devant toi, et tu orientes tes mains comme tu le souhaites. Tu regardes tes mains.

La « caméra » est ce que voient tes yeux. C’est l’aperçu que l’on verra à l’écran.

Si ta main droite passe devant ta main gauche, la main gauche sera partiellement voire totalement cachée par ta main droite.

Si tu réduis la distance entre tes mains et tes yeux, ce qui correspond à avancer la caméra sur l’axe Z, tes mains paraitront plus grosses. Si tu les éloignes, elles seront plus petites. Cela correspond à l’instruction CAM_MOVE.

Si tu penches la tête à gauche ou à droite, ce qui qui consiste à pivoter la caméra autour de l’axe Z, cela correspond à l’instruction CAM_ROLL.

Etc.

Toutes les instructions CAM…….. correspondent à la manière dont on observe la scène 3D en totalité.

Si j’ai bien compris ce que tu souhaites faire, dans ton cas précis, il faut placer la caméra dans une position fixe et ne plus y toucher.
Il faut agir individuellement sur chaque 3d_plane avec les commandes 3D_..._POSITION, 3D_..._ROTATE et 3D_..._SCALE.

Revenir en haut Aller en bas
Marc

Marc


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyDim 4 Sep 2022 - 22:24

@JJN4

Je ne connais pas la "chorégraphie" que tu souhaites exactement.

Voici un exemple de ce que l'on peut faire avec ton programme :
Code:
rem ' Paysage flottant version 3
   dim A% , V , W
   V=5
   label clic
   width 0,1000
   height 0,600
  
button 50
   left 50,700
   top 50,50
   width 50,250
   height 50,80
   font_bold 50
   font_size 50,20
   font_name 50,"Arial"
   caption 50,"Déclancher"
   on_click 50,clic
 
panel 100
   left 100,100
   top 100,40
   width 100,550
   height 100,275

scene3d 200
   parent 200,100
   left 200,-110
   top 200,-55
   width 200,768
   height 200,384

3d_plane 201
   3d_u_tile 201,1    
   3d_v_tile 201,1
   3d_y_scale 201,0.5
   3d_load_texture 201,"oiseaux.jpg"
' positionnement de l'image 201 en arrière-plan sur l'axe Z
   3d_z_position 201,-15
' zoom de l'image 201 pour remplir la fenêtre de visualisation  
   3d_x_scale 201,4
   3d_y_scale 201,2
  
3d_plane 202
   3d_u_tile 202,1    
   3d_v_tile 202,1
   3d_y_scale 202,0.5
   3d_load_texture 202,"oiseaux.jpg"
  
end

clic:
   inactive 50
   pause 250
   V=0 : W=0
   petit()
   pause 999
   3d_y_rotate 202,0
   3d_z_position 202,0
   active 50
return
  
sub petit()
   dim_local v1pe% , v2pe%
   v2pe%=even(time_second)
   for v1pe% = 1 to 72
      V=V-0.2
      3d_z_position 202,V
      if v1pe%>42
         if v2pe%=1
            W=W+3
         else
            W=W-3
         end_if
         3d_y_rotate 202,W
      end_if
      pause 5
   next v1pe%
end_sub
Revenir en haut Aller en bas
Minibug

Minibug


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyLun 5 Sep 2022 - 12:55

Bonjour les amis !

Merci pour ce dernier exemple Marc.

Je tente de me familiariser avec les commandes 3D mais j'ai vraiment du mal !! Laughing Laughing
Et pourtant j'avoue que le potentiel est immense...

Je comprends mieux maintenant pourquoi Jack tenait tant à mettre en avant les capacités graphiques de Panoramic !
Je tenterai bien un programme en 3D mais je ne sais même pas par ou commencer...

J'ai l'idée de modéliser le Rubik's cube et les faces 3 X 3 mais rien que la création du cubes va certainement me demander un certain temps...
Aller je vais tenter ! J'ouvre un nouveau fil de discussion...

Désolé Jjn4 pour ce petit hors sujet. geek
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
jjn4

jjn4


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyLun 5 Sep 2022 - 14:17

C'est exactement ce que je voulais faire.
Merci Marc, pour les explications également,
car ce n'est vraiment pas simple !
cheers

Jean Claude aime ce message

Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Jean Claude

Jean Claude


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyJeu 8 Sep 2022 - 16:09

Bonjour à tous,

Je fais un petit tour par ici. Je vais bien...
A+
Revenir en haut Aller en bas
jjn4

jjn4


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

Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent EmptyVen 9 Sep 2022 - 13:53

Salut, Jean-Claude !
Heureux que tu sois bien !
cheers
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Contenu sponsorisé





Des paysages qui flottent Empty
MessageSujet: Re: Des paysages qui flottent   Des paysages qui flottent Empty

Revenir en haut Aller en bas
 
Des paysages qui flottent
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
»  Générateur de paysages

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: