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.
J'ai copié sur Bignono - Page 3 Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
J'ai copié sur Bignono - Page 3 Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
J'ai copié sur Bignono - Page 3 Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
J'ai copié sur Bignono - Page 3 Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
J'ai copié sur Bignono - Page 3 Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
J'ai copié sur Bignono - Page 3 Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
J'ai copié sur Bignono - Page 3 Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
J'ai copié sur Bignono - Page 3 Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
J'ai copié sur Bignono - Page 3 Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
J'ai copié sur Bignono - Page 3 Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
J'ai copié sur Bignono - Page 3 Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
J'ai copié sur Bignono - Page 3 Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
J'ai copié sur Bignono - Page 3 Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
J'ai copié sur Bignono - Page 3 Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
J'ai copié sur Bignono - Page 3 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 du moment : -55%
Coffret d’outils – STANLEY – ...
Voir le deal
21.99 €

 

 J'ai copié sur Bignono

Aller en bas 
+5
bignono
Minibug
Yannick
Jicehel
papydall
9 participants
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8  Suivant
AuteurMessage
papydall

papydall


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

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptySam 1 Sep 2012 - 20:06

Salut tout le monde.

Vous pouvez télécharger sur mon Web-Dav un exemple de programme d’enchainements d’objets 3DS (en fait, des jolis poissons).

http://www.mydrive.ch/
Identifiant: panoramic@papydall
Mot de passe: panoramic123
Dossier : 3D
Fichier : poissons.zip


Dézipez le fichier dans un répertoire de votre choix, lancez poissons.bas et ...... admirez !
Vous pouvez apportez toute modification que vous jugez utile !
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptySam 1 Sep 2012 - 23:28

papydall, j'ai fais une petite modif sur ton programme de poisson (C'est cool pour visualiser une bibliothèque d'objet comme tu le présente, j'aime beaucoup Wink )
Je l'ai modifié pour 2 raisons: la première est sans doute liée à W7, mais dans ta version, certaines images reste en gris chez moi (sans doute qu'il n'a pas encore eu le temps de charger la texture quand il créé l'objet, un truc du genre). La seconde raison, c'est que je voulais éloigner un peu l'objet du fond pour qu'il ne soit pas coupé en tournant.
Voilà, ça donne ça:
Code:
dim i,j,f,p, rep$,imag$
rep$ = dir_current$ + "\"

f=0.8 : p= -14+20*f
font_bold 0 : font_size 0,30 : print_locate 300,300 : print "PATIENTEZ"
full_space 0 : scene3d 1 : full_space 1 : color 1,100,100,0
cam_position 0,0,15 : point_position 0,0,0

for j = 2 to  29
  3d_plane 1 : 3d_scale 1,8,3.75,1 : 3d_z_position 1,-10
  imag$ = rep$ + "fish" + str$(j-1)
  3d_load_texture 1,rep$ + "fond"+str$(int(rnd(9)+1))+".bmp"
  3d_u_tile 1,1 : 3d_v_tile 1,1
  3d_mesh j : 3d_load_object j,imag$ +".3ds" : 3d_load_texture j,imag$+".bmp"
  caption 0, "Affiche : " + "fish" + str$(j-1)+".3ds"
  3d_y_rotate j,90 :  3d_x_rotate j,90
  for i = 0.005 to f step 1/200 : 3d_scale j,i/2,i/2,i/2 : 3d_position j,0,0,-14+20*i : display : next i
  for i = 0 to 180 : 3d_z_rotate j,i : wait 20 : display
      if scancode <> 0 then terminate
  next i
  for i = f to 0.005 step -1/800 : 3d_scale j,i/2,i/2,i/2 : 3d_position j,0,0,p-20*(f-i) : display : next i
  3d_delete 1 : 3d_delete j
next j
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

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyDim 2 Sep 2012 - 0:14

Salut Jicehel

Ta petite motif est excellente. J’adopte

Tu as sans doute remarqué que fish23, fish25, etc. sont très petits et on ne les distingue pas.
J’ai modifié un peu le code pour les visualiser d’autant plus qu’ils sont très jolis !
Et à la fin de la série, j’affiche un autre fond.
Code:

dim i,j,f,p, rep$,imag$
rep$ = dir_current$ + "\"

f=0.8 : p= -14+20*f
font_bold 0 : font_size 0,30 : print_locate 300,300 : print "PATIENTEZ"
full_space 0 : scene3d 1 : full_space 1 : color 1,100,100,0
cam_position 0,0,15 : point_position 0,0,0

for j = 2 to  29
  3d_plane 1 : 3d_scale 1,8,3.75,1 : 3d_z_position 1,-10
  imag$ = rep$ + "fish" + str$(j-1)
  3d_load_texture 1,rep$ + "fond"+str$(int(rnd(9)+1))+".bmp"
  3d_u_tile 1,1 : 3d_v_tile 1,1
  3d_mesh j : 3d_load_object j,imag$ +".3ds" : 3d_load_texture j,imag$+".bmp"
  caption 0, "Affiche : " + "fish" + str$(j-1)+".3ds"
  3d_y_rotate j,90 :  3d_x_rotate j,90
  for i = 0.005 to f step 1/200
    if j = 24 or j > 25 then 3d_scale j , 30*i,30*i,30*i : else :  3d_scale j,i/2,i/2,i/2
    3d_position j,0,0,-14+20*i : display : next i
  for i = 0 to 180 : 3d_z_rotate j,i : wait 20 : display
      if scancode <> 0 then terminate
  next i
  for i = f to 0.005 step -1/800
    if j = 24 or j > 25 then 3d_scale j,30*i,30*i,30*i : else: 3d_scale j,i/2,i/2,i/2
    3d_position j,0,0,p-20*(f-i) : display : next i
  3d_delete 1 : 3d_delete j
next j
3d_plane 1 : 3d_scale 1,8,3.75,1 : 3d_z_position 1,-10
3d_load_texture 1,rep$ + "11.jpg"
3d_u_tile 1,1 : 3d_v_tile 1,1
caption 0,"TERMINE"


lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyDim 2 Sep 2012 - 0:39

nickel, pour gagner du temps pour regarder les derniers poissons et pour ne pas avoir à remodifier les variables si je veux le regarder lentement j'ai rajouté v pour faire varier la vitesse (0.1 hyper lent, 1 très lent, 50 très rapide,100 hyper rapide) comme ça si tu l'applique à tes autre bibliothèque d'objet, le code peut être repris très vite Wink (En les mettant tous dans le même alignement avant bien sûr comme pour les poissons)
Code:
dim i,j,f,p,v, rep$,imag$
rep$ = dir_current$ + "\"

f=0.8 : p= -14+20*f : v=10
font_bold 0 : font_size 0,30 : print_locate 300,300 : print "PATIENTEZ"
full_space 0 : scene3d 1 : full_space 1 : color 1,100,100,0
cam_position 0,0,15 : point_position 0,0,0

for j = 2 to  29
  3d_plane 1 : 3d_scale 1,8,3.75,1 : 3d_z_position 1,-10
  imag$ = rep$ + "fish" + str$(j-1)
  3d_load_texture 1,rep$ + "fond"+str$(int(rnd(9)+1))+".bmp"
  3d_u_tile 1,1 : 3d_v_tile 1,1
  3d_mesh j : 3d_load_object j,imag$ +".3ds" : 3d_load_texture j,imag$+".bmp"
  caption 0, "Affiche : " + "fish" + str$(j-1)+".3ds"
  3d_y_rotate j,90 :  3d_x_rotate j,90
  for i = 0.005 to f step 1/(1500/v)
    if j = 24 or j > 25 then 3d_scale j , 30*i,30*i,30*i : else :  3d_scale j,i/2,i/2,i/2
    3d_position j,0,0,-14+20*i : display : next i
  for i = 0 to 180
      3d_z_rotate j,i
      if v<50 then wait 50/v
      display
      if scancode <> 0 then terminate
  next i
  for i = f to 0.005 step -1/(1200/v)
    if j = 24 or j > 25 then 3d_scale j,30*i,30*i,30*i : else: 3d_scale j,i/2,i/2,i/2
    3d_position j,0,0,p-20*(f-i) : display : next i
  3d_delete 1 : 3d_delete j
next j
3d_plane 1 : 3d_scale 1,8,3.75,1 : 3d_z_position 1,-10
3d_load_texture 1,rep$ + "11.jpg"
3d_u_tile 1,1 : 3d_v_tile 1,1
caption 0,"TERMINE"
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

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyDim 2 Sep 2012 - 0:53

Pour la vitesse, V = 10 est un bon compromis
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyDim 2 Sep 2012 - 2:15

Comme un petit poisson....

Joli très joli, j'espère faire aussi bien un jours... Laughing

Bravo ! papydall !
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 1:45

@ tous les pros de la 3d,

y 'a t il un moyen de connaitre la taille originale de l'image contenue dans un fichier *.3ds du moins LxH ?
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

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 4:06

J’ai trouvé ceci . J’ai téléchargé. Ça a l’air sympa.
Je commence à voir comment ça marche, mais il fait tard, très tard et je crains une indigestion !

Sleep Sleep Sleep Sleep
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 6:38

Moi je planchais là dessus :

Code:
'    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
'    ¤                        3DS Viewer  version 1.0                    ¤
'    ¤                          créé par ygeronimi                      ¤
'    ¤                            le 02/09/2012                        ¤
'    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

dim x%
dim D$,D3D$,DL$
dim Menu%,F$
dim File$,V,Dir%,x,y,z
' ------------------------------------------------------------------------------
label Init_prog,Init_Doss
label Menu,Selection,Valid_Selection,Init_Scene,Langue,APp,AIde
label Affichage,Zoom,Rotation_X,Rotation_Y,Rotation_Z,Direction
label Quitter
' ******************************************************************************
width 0,1400:height 0,820:top 0,(screen_y-820)/2:left 0,(screen_x-1400)/2:caption 0,"3DS Viewer"
font_name 0,"Times new roman":font_size 0,10

main_menu 1
for x%=2 to 5:sub_menu x% :parent x%,1:on_click x%,Menu:next x%
caption 2,"Liste":caption 3,"langue":caption 4,"A Propos...":caption 5,"Aide"

scene3d 11:top 11,0:left 11,0:width 11,1184:height 11,762:color 11,0,0,0
3d_target_is 11

container 12:top 12,0 :left 12,1194:height 12,70 :caption 12,chr$(32)+"Zoom"+chr$(32)
font_color 12,120,20,10
scroll_bar 121:parent 121,12:top 121,25:left 121,13:width 121,160:min 121,1:max 121,2000
position 121,0.001:on_change 121,Zoom
alpha 122:parent 122,12:top 122,45:left 122,80:font_color 122,0,0,255

container 13:top 13,75:left 13,1194:height 13,120:caption 13,chr$(32)+"Rotation de l'objet"+chr$(32)
font_color 13,120,20,10
alpha 131:parent 131,13:top 131,15 :left 131,13:caption 131,"Axe X":font_color 131,0,0,255
scroll_bar 132:parent 132,13:top 132,30:left 132,13:width 132,160:min 132,0:max 132,359
position 132,0:on_change 132,Rotation_X
alpha 133:parent 133,13:top 133,50 :left 133,13:caption 133,"Axe Y":font_color 133,0,0,255
scroll_bar 134:parent 134,13:top 134,65:left 134,13:width 134,160:min 134,0:max 132,359
position 134,0:on_change 134,Rotation_Y
alpha 135:parent 135,13:top 135,85 :left 135,13:caption 135,"Axe Z":font_color 135,0,0,255
scroll_bar 136:parent 136,13:top 136,100:left 136,13:width 136,160:min 136,0:max 132,359
position 136,0:on_change 136,Rotation_Z

container 14:top 14,200:left 14,1194:height 14,120:caption 14,chr$(32)+"Déplacement de l' objet"+chr$(32)
font_color 14,120,20,10
for x%=141 to 150:button x% :parent x%,14:font_name x%,"webdings":font_size x%,12 :on_click x%,Direction:next x%
for x%=141 to 148:width x%,30:height x%,30:next x%
for x%=149 to 150:width x%,30:height x%,15:next x%
top 141,20:left 141,80
top 142,20:left 142,110 :caption 142,"5"
top 143,20:left 143,140
top 144,50:left 144,80 :caption 144,"3"
top 145,50:left 145,140:caption 145,"4"
top 146,80:left 146,80
top 147,80:left 147,110 :caption 147,"6"
top 148,80:left 148,140
top 149,50:left 149,110 :caption 149,"5"
top 150,65:left 150,110 :caption 150,"6"

container 15:top 15,325:left 15,1194:height 15,250:caption 15,chr$(32)+"Caméra"+chr$(32)
font_color 15,120,20,10

container 16:top 16,580:left 16,1194:height 16,70 :caption 16,chr$(32)+"Couleur de l' objet"+chr$(32)
font_color 16,120,20,10

container 17:top 17,655:left 17,1194:height 17,70 :caption 17,chr$(32)+"Texture de l' objet"+chr$(32)
font_color 17,120,20,10

dlist 99

gosub Init_prog
on_close 0,Quitter
end
' ******************************************************************************
Init_Prog:
gosub Init_Doss
return
' ------------------------------------------------------------------------------
Init_Doss:
D$=dir_current$
if dir_exists(D$+"\3D")=0 then dir_make D$+"\3D"
D3D$=D$+"\3D"
if dir_exists(D$+"\Langues")= 0 then dir_make D$+"\Langues"
DL$=D$+"\Langues"
return
' ------------------------------------------------------------------------------
Menu:
for x%=2 to 5
  if clicked(x%)=1 then Menu%=x%
next x%
select Menu%
case 2
  gosub Selection
case 3
  gosub Langue
case 4
  gosub APp
case 5
  gosub Aide
end_select
return
' ------------------------------------------------------------------------------
Selection:
  form 100:width 100,200:height 100,300:caption 100,"Sélection"
  font_name 100,"Times new roman":font_size 100,10
  command_target_is 100
  list 101:width 101,184:height 101,240:on_double_click 101,Valid_Selection
  alpha 102:top 102,240:left 102,5:caption 102,"Double cliquez pour sélectionner"
  font_color 102,0,0,255
  ' Placement de l'appli dans le dossier où sont les fichiers 3d
  dir_change D3D$
  ' Récupération des adresses des fichiers 3DS et 3ds
  F$=file_find_first$
  if file_extract_extension$(F$)=".3DS" or file_extract_extension$(F$)=".3ds" then item_add 99,F$
  F$=file_find_next$
  while F$<>"_"
  if file_extract_extension$(F$)=".3DS" or file_extract_extension$(F$)=".3ds" then item_add 99,F$
  F$=file_find_next$
  end_while
  file_find_close
  ' Affichage des fichiers récupérés dans le list 101
  for x%=1 to count(99)
      F$=item_read$(99,x%)
      item_add 101,left$(file_extract_name$(F$),len(file_extract_name$(F$))-4)
  next x%
  command_target_is 0
return
' ------------------------------------------------------------------------------
Valid_Selection:
  if o3d_object_exists(1)=1 then 3d_delete 1
  File$=D3D$+"\"+item_read$(99,item_index(101))
  3d_mesh 1
  3d_load_object 1,File$
  gosub Init_Scene
  clear 99
  delete 100
return
' ------------------------------------------------------------------------------
Init_Scene:
3d_scale 1,0.0001,0.0001,0.0001
position 121,1:position 132,0:position 134,0:position 136,0
return
' ------------------------------------------------------------------------------
Langue:
  message "En cours d'écriture"
return
' ------------------------------------------------------------------------------
APp:
  message "En cours d'écriture"
return
' ------------------------------------------------------------------------------
Aide:
  message "Sera créé si nécessaire"
return
' ------------------------------------------------------------------------------
Affichage:
return
' ------------------------------------------------------------------------------
Zoom:
  V=position(121)/1000
  3d_scale 1,V,V,V
  caption 122,str$(V)
return
' ------------------------------------------------------------------------------
Rotation_X:
  3d_x_rotate 1,position(132)
return
' ------------------------------------------------------------------------------
Rotation_Y:
  3d_y_rotate 1,position(134)
return
' ------------------------------------------------------------------------------
Rotation_Z:
  3d_z_rotate 1,position(136)
return
' ------------------------------------------------------------------------------
Direction:
  for x%=141 to 150
      if clicked(x%)=1 then Dir%=x%
  next x%
  select Dir%
  case 141
    ' decale vers haut gauche
    y=o3d_y_position(1):x=o3d_x_position(1):z=o3d_z_position(1)
    y=y+0.1:x=x-0.1:3d_position 1,x,y,z
  case 142
    ' decale vers haut
    y=o3d_y_position(1):y=y+0.1:3d_y_position 1,y
  case 143
    ' decale vers haut droit
    y=o3d_y_position(1):x=o3d_x_position(1):z=o3d_z_position(1)
    y=y+0.1:x=x+0.1:3d_position 1,x,y,z
  case 144
    ' decale vers gauche
    x=o3d_x_position(1):x=x-0.1:3d_x_position 1,x
  case 145
    ' decale vers droite
    x=o3d_x_position(1):x=x+0.1:3d_x_position 1,x
  case 146
    ' decale vers bas gauche
    y=o3d_y_position(1):x=o3d_x_position(1):z=o3d_z_position(1)
    y=y-0.1:x=x-0.1:3d_position 1,x,y,z
  case 147
    ' decale vers bas
    y=o3d_y_position(1):y=y-0.1:3d_y_position 1,y
  case 148
    ' decale vers bas droite
    y=o3d_y_position(1):x=o3d_x_position(1):z=o3d_z_position(1)
    y=y-0.1:x=x+0.1:3d_position 1,x,y,z
  case 149
    ' decale vers fond
    z=o3d_z_position(1):z=z+0.1:3d_z_position 1,z
  case 150
    ' decale vers avant
    z=o3d_z_position(1):z=z-0.1:3d_z_position 1,z
  end_select
return
' ------------------------------------------------------------------------------
' Place des #include

' ------------------------------------------------------------------------------
Quitter:
terminate

mais c'est loin d'être fini ... Laughing Laughing Laughing
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 9:07

Bon début ygeromini Wink
Par contre, je pense qu'il y a une petite erreur dans Valid_Selection utilisation de la list 99 oiur la list 101
Code:
Valid_Selection:
  if o3d_object_exists(1)=1 then 3d_delete 1
  File$=chr$(34)+D3D$+"\"+item_read$(101,item_index(101))+".3DS"+chr$(34)
  3d_mesh 1 :  3d_load_object 1,File$
  gosub Init_Scene
  clear 99 : delete 100
return
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 12:36

Bien vu, Jicehel !

J'ai aussi un petit problème de rotation sur les axes Y et Z qui ne se fait pas à 360°
mais je ne sais pas pourquoi... scratch


edit : le source qui fonctionne,
Code:
'    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
'    ¤                        3DS Viewer  version 1.0                    ¤
'    ¤                          créé par ygeronimi                      ¤
'    ¤                            le 02/09/2012                        ¤
'    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

dim x%
dim D$,D3D$,DL$
dim Menu%,F$
dim File$,V,Dir%,x,y,z
' ------------------------------------------------------------------------------
label Init_prog,Init_Doss
label Menu,Selection,Valid_Selection,Init_Scene,Langue,APp,AIde
label Affichage,Zoom,Rotation_X,Rotation_Y,Rotation_Z,Direction
label Quitter
' ******************************************************************************
width 0,1400:height 0,820:top 0,(screen_y-820)/2:left 0,(screen_x-1400)/2:caption 0,"3DS Viewer"
font_name 0,"Times new roman":font_size 0,10

main_menu 1
for x%=2 to 5:sub_menu x% :parent x%,1:on_click x%,Menu:next x%
caption 2,"Liste":caption 3,"langue":caption 4,"A Propos...":caption 5,"Aide"

scene3d 11:top 11,0:left 11,0:width 11,1184:height 11,762:color 11,0,0,0
3d_target_is 11

container 12:top 12,0 :left 12,1194:height 12,70 :caption 12,chr$(32)+"Zoom"+chr$(32)
font_color 12,120,20,10
scroll_bar 121:parent 121,12:top 121,25:left 121,13:width 121,160:min 121,1:max 121,20000
position 121,0.001:on_change 121,Zoom
alpha 122:parent 122,12:top 122,45:left 122,80:font_color 122,0,0,255

container 13:top 13,75:left 13,1194:height 13,120:caption 13,chr$(32)+"Rotation de l'objet"+chr$(32)
font_color 13,120,20,10
alpha 131:parent 131,13:top 131,15 :left 131,13:caption 131,"Axe X":font_color 131,0,0,255
scroll_bar 132:parent 132,13:top 132,30:left 132,13:width 132,160:min 132,0:max 132,359
position 132,0:on_change 132,Rotation_X
alpha 133:parent 133,13:top 133,50 :left 133,13:caption 133,"Axe Y":font_color 133,0,0,255
scroll_bar 134:parent 134,13:top 134,65:left 134,13:width 134,160:min 134,0:max 134,359
position 134,0:on_change 134,Rotation_Y
alpha 135:parent 135,13:top 135,85 :left 135,13:caption 135,"Axe Z":font_color 135,0,0,255
scroll_bar 136:parent 136,13:top 136,100:left 136,13:width 136,160:min 136,0:max 136,359
position 136,0:on_change 136,Rotation_Z

container 14:top 14,200:left 14,1194:height 14,120:caption 14,chr$(32)+"Déplacement de l' objet"+chr$(32)
font_color 14,120,20,10
for x%=141 to 150:button x% :parent x%,14:font_name x%,"webdings":font_size x%,12 :on_click x%,Direction:next x%
for x%=141 to 148:width x%,30:height x%,30:next x%
for x%=149 to 150:width x%,30:height x%,15:next x%
top 141,20:left 141,80
top 142,20:left 142,110 :caption 142,"5"
top 143,20:left 143,140
top 144,50:left 144,80 :caption 144,"3"
top 145,50:left 145,140:caption 145,"4"
top 146,80:left 146,80
top 147,80:left 147,110 :caption 147,"6"
top 148,80:left 148,140
top 149,50:left 149,110 :caption 149,"5"
top 150,65:left 150,110 :caption 150,"6"

container 15:top 15,325:left 15,1194:height 15,250:caption 15,chr$(32)+"Caméra"+chr$(32)
font_color 15,120,20,10

container 16:top 16,580:left 16,1194:height 16,70 :caption 16,chr$(32)+"Couleur de l' objet"+chr$(32)
font_color 16,120,20,10

container 17:top 17,655:left 17,1194:height 17,70 :caption 17,chr$(32)+"Texture de l' objet"+chr$(32)
font_color 17,120,20,10

dlist 99

gosub Init_prog
on_close 0,Quitter
end
' ******************************************************************************
Init_Prog:
gosub Init_Doss
return
' ------------------------------------------------------------------------------
Init_Doss:
D$=dir_current$
if dir_exists(D$+"\3D")=0 then dir_make D$+"\3D"
D3D$=D$+"\3D"
if dir_exists(D$+"\Langues")= 0 then dir_make D$+"\Langues"
DL$=D$+"\Langues"
return
' ------------------------------------------------------------------------------
Menu:
for x%=2 to 5
  if clicked(x%)=1 then Menu%=x%
next x%
select Menu%
case 2
  gosub Selection
case 3
  gosub Langue
case 4
  gosub APp
case 5
  gosub Aide
end_select
return
' ------------------------------------------------------------------------------
Selection:
  form 100:width 100,200:height 100,300:caption 100,"Sélection"
  font_name 100,"Times new roman":font_size 100,10
  command_target_is 100
  list 101:width 101,184:height 101,240:on_double_click 101,Valid_Selection
  alpha 102:top 102,240:left 102,5:caption 102,"Double cliquez pour sélectionner"
  font_color 102,0,0,255
  ' Placement de l'appli dans le dossier où sont les fichiers 3d
  dir_change D3D$
  ' Récupération des adresses des fichiers 3DS et 3ds
  F$=file_find_first$
  if file_extract_extension$(F$)=".3DS" or file_extract_extension$(F$)=".3ds" then item_add 99,F$
  F$=file_find_next$
  while F$<>"_"
  if file_extract_extension$(F$)=".3DS" or file_extract_extension$(F$)=".3ds" then item_add 99,F$
  F$=file_find_next$
  end_while
  file_find_close
  ' Affichage des fichiers récupérés dans le list 101
  for x%=1 to count(99)
      F$=item_read$(99,x%)
      item_add 101,left$(file_extract_name$(F$),len(file_extract_name$(F$))-4)
  next x%
  command_target_is 0
return
' ------------------------------------------------------------------------------
Valid_Selection:
  if o3d_object_exists(1)=1 then 3d_delete 1
  File$=D3D$+"\"+item_read$(99,item_index(101))
  3d_mesh 1
  3d_load_object 1,File$
  gosub Init_Scene
  clear 99
  delete 100
return
' ------------------------------------------------------------------------------
Init_Scene:
3d_scale 1,0.0001,0.0001,0.0001
position 121,1:position 132,0:position 134,0:position 136,0
return
' ------------------------------------------------------------------------------
Langue:
  message "En cours d'écriture"
return
' ------------------------------------------------------------------------------
APp:
  message "En cours d'écriture"
return
' ------------------------------------------------------------------------------
Aide:
  message "Sera créé si nécessaire"
return
' ------------------------------------------------------------------------------
Affichage:
return
' ------------------------------------------------------------------------------
Zoom:
  V=position(121)/10000
  3d_scale 1,V,V,V
  caption 122,str$(V)
return
' ------------------------------------------------------------------------------
Rotation_X:
  3d_x_rotate 1,position(132)
return
' ------------------------------------------------------------------------------
Rotation_Y:
  3d_y_rotate 1,position(134)
return
' ------------------------------------------------------------------------------
Rotation_Z:
  3d_z_rotate 1,position(136)
return
' ------------------------------------------------------------------------------
Direction:
  for x%=141 to 150
      if clicked(x%)=1 then Dir%=x%
  next x%
  select Dir%
  case 141
    ' decale vers haut gauche
    y=o3d_y_position(1):x=o3d_x_position(1):z=o3d_z_position(1)
    y=y+0.1:x=x-0.1:3d_position 1,x,y,z
  case 142
    ' decale vers haut
    y=o3d_y_position(1):y=y+0.1:3d_y_position 1,y
  case 143
    ' decale vers haut droit
    y=o3d_y_position(1):x=o3d_x_position(1):z=o3d_z_position(1)
    y=y+0.1:x=x+0.1:3d_position 1,x,y,z
  case 144
    ' decale vers gauche
    x=o3d_x_position(1):x=x-0.1:3d_x_position 1,x
  case 145
    ' decale vers droite
    x=o3d_x_position(1):x=x+0.1:3d_x_position 1,x
  case 146
    ' decale vers bas gauche
    y=o3d_y_position(1):x=o3d_x_position(1):z=o3d_z_position(1)
    y=y-0.1:x=x-0.1:3d_position 1,x,y,z
  case 147
    ' decale vers bas
    y=o3d_y_position(1):y=y-0.1:3d_y_position 1,y
  case 148
    ' decale vers bas droite
    y=o3d_y_position(1):x=o3d_x_position(1):z=o3d_z_position(1)
    y=y-0.1:x=x+0.1:3d_position 1,x,y,z
  case 149
    ' decale vers fond
    z=o3d_z_position(1):z=z+0.1:3d_z_position 1,z
  case 150
    ' decale vers avant
    z=o3d_z_position(1):z=z-0.1:3d_z_position 1,z
  end_select
return
' ------------------------------------------------------------------------------
' Place des #include

' ------------------------------------------------------------------------------
Quitter:
terminate
l'image de départ est au 1/10000, donc il ne faut pas s'affoler si certaines sont invisibles au départ et nécessite un Zoom, c'est pour les grands objets.
Si il y a un moyen de récupérer la taille LxH dans le fichier 3ds avant l'affichage, je suis preneur... Laughing


Dernière édition par ygeronimi le Lun 3 Sep 2012 - 18:21, édité 1 fois (Raison : correction du bug de rotation sur Y et Z)
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 12:53

@ Jicehel,

Je t'ai répondu trop vite... Laughing

c'est fait exprès car certains fichiers sont avec une extension en minuscules (*.3ds) d'autres en majuscules (*.3DS) et si je ne passe pas par un dlist pour stocker l'adresse complète de l'image et que je recompose celle ci comme tu l'as fait au lieu de renvoyer vers celle stockée dans le dlist, j'ai une erreur d' adresse de fichier.
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 13:00

Je n'ai fait que modifier le numéro car en ayant les 2 objet 99 et 101, j'avais une erreur dans mon prog Wink Par contre bizarre ton problème d'erreur si le nom du fichier est en majuscules ou minuscules, normalement, il ne tient pas compte de ça pour ouvrir un fichier.
Si tu fait un test simple d'ouverture de fichier, tu verras, majuscule ou minuscule, il n'en tient pas compte (en tout cas sous Windows)
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 13:21

Je vais revoir çà de près.( ouverture des fichiers )

Pour la mise en mémoire dans list ou dlist , je suis obligé de le faire comme çà
( spécifier le format de l'extension) sinon il charge pas tout.

Pour la lecture : file$=item_read$( "dlist", "N° deligne sélectionné dans list")
chez moi çà fonctionne... scratch
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

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 14:52

Salut ygeronimi
J’ai lancé ton programme et j’obtiens un écran noir sans aucune autre chose (ni menu, ni bouton, rien) et il n’y a aucun moyen d’en sortir sauf le moyen brutal de mettre fin à la tache.
Je vais étudier un peu le programme pour mieux voir !


!!! EN TOUT CAS BIENVENU DANS LE MONDE MERVEILLEUX DE LA D !!!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 16:14

Dis Ygeronimi : ton écran mesure un kilomètre ou quoi ?

Après avoir étudier un peu le programme, j’ai changé ceci :
Ligne 17 : adaptation à mon écran (sinon, je ne vois qu’un écran noir et aucun moyen de sortir !)
Code:

width 0,1400:height 0,820: top 0,(screen_y-780)/2:left 0,(screen_x-1040)/2:caption 0,"3DS Viewer"

Pour Init_Doss
Je pense qu’il est plus clair si le sous-répertoire « …\langues » se trouve dans le répertoire « …3D » et non dans un répertoire indépendant
Code:

Init_Doss:
D$=dir_current$
if dir_exists(D$+"\3D")=0 then dir_make D$+"\3D"
D3D$=D$+"\3D"
if dir_exists(D3D$+"\Langues")= 0 then dir_make D3D$+"\Langues"
DL$=D3D$+"\Langues"
return



Après ces modifications, j’ai lancé le programme.
Le menu s’affiche : c’est bon signe.
Je clique sur ‘Liste’ : mauvaise surprise : ‘List index out of bounds (0)’

Je retourne pour voir.

A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
papydall

papydall


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

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 16:41

Le répertoire « …\3D » étant crée mais il est encore VIDE !
C’est la cause de l’erreur ‘List index out of bounds(0)
Pour éviter cette erreur, ajoute un test avant l’affichage des fichiers récupérés dans list 101

Code:

 ' Affichage des fichiers récupérés dans le list 101
  if count(99) > 0
    for x%=1 to count(99)
      F$=item_read$(99,x%)
      item_add 101,left$(file_extract_name$(F$),len(file_extract_name$(F$))-4)
    next x%
  end_if

J’ai chargé un fichier .3DS dans le répertoire « …\3D » et je vais m’amuser à tester.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 17:51

@ papydall,

Effectivement j'ai un écran plat assez récent, donc style 16/9 mais
j'ai longtemps eu un "vieux gros cul" carré qui me donnait de drôles de visuels
avec les dernières appli ou page de site fait pour les écrans récents.

Je t'avoue que pour l'instant je cherche juste à faire ce que je ne sais pas encore faire ( la partie 3D) ...
...et voir si cela fonctionne Wink .
Pour l'interface et les fonctions annexes, je verrai plus tard... Laughing

Edit :

Pour le dossier 3D, je l'ai placé pour regrouper tout les fichiers
3ds au même endroit mais on peut aussi mettre un "open_dialog"
pour ouvrir un fichier où qu'il soit placé dans l'ordi ou sur un stockage
externe...
...cela peut encore évoluer... Laughing

tout comme les boutons, qui actuellement sont actifs même si il n'y a pas d'objets chargés
et ne sont pas très beau Embarassed ...

En fait, j'ai posté pour jeter ma base de travail sur le tapis... Laughing
...mais ce n'est qu'une base Wink .

Tout les containers sont visibles et ont une place fixe
mais là aussi on peut faire évoluer les choses... Twisted Evil

Donc pour en revenir à mes moutons, je teste les commandes
pour visualiser ce que chacune d'elle fait en espérant que cela fonctionne... Laughing

Le problème actuel est la taille de la zone 3d du fichier 3ds chargé pour réglé 3d_scale à l'affichage scratch .
Et je ne comprends pas pourquoi 3D_Y_Rotate et 3D_Z_Rotate ne me font pas des rotations à 360° scratch .


Pour info mon écran est de 1600 x 900
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 18:20

Citation :
Et je ne comprends pas pourquoi 3D_Y_Rotate et 3D_Z_Rotate ne me font pas des rotations à 360° scratch .

Résolu ! et je corrige dans le dernier source publié... Laughing
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 19:00

J'ai toujours des abstract error avec ton programme. Je suis obligé de faire une modification dans le sous-programme Valid_Selection par: File$=D3D$+"\"+item_read$(101,item_index(101))+".3DS"

J'ai aussi modifié les dimensions (ligne 17) par: width 0,1380:height 0,780:top 0,(screen_y-780)/2:left 0,(screen_x-1380)/2:caption 0,"3DS Viewer"
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 19:45

Bonsoir ygeronimi,
J'ai du mal à suivre l'évolution de ton prog...
Pourrais-tu le mettre dans ton webdav stp ?
Smile
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 19:47

Et tu n'as plus de "abstrack error" avec ta modif ?

Pour les dimensions, chacun voit en fonction de son écran... Wink


Edit :

@ Nardo,

Pour l'instant, plus rien n'évolue...
... je réponds sur le forum...Laughing Laughing Laughing

( Si, je viens de travailler quelques images pour remplacer les boutons... )
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 20:51

Un autre truc, ton scale est trop petit, du coup pleins d'objets font n'importe quoi sans doute par problème d'arrondi dû a des chiffres trop faibles.

J'ai fais une autre modif sur
Init_Scene:
position 121,1:position 132,0:position 134,0:position 136,0
gosub zoom
return

et sur zoom:
V=position(121)/1000
if O3D_object_exists(1) = 1 then 3d_scale 1,V,V,V
caption 122,str$(V)
return

Par contre j'ai encore quelques abstract error dont je n'arrive pas à connaitre l'origine, mais le programme fonctionne.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 20:58

Abstract error est un grand mystère.
Je pense qu'il vient quand l' objet est plus grand que le scene3d...

JACK !!! une petite explication...?
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

J'ai copié sur Bignono - Page 3 Empty
MessageSujet: re   J'ai copié sur Bignono - Page 3 EmptyLun 3 Sep 2012 - 21:04

Je comprends pas bien le pourquoi du comment de tes modifs... scratch


Par contre, j'ai mis très petit au départ pour une raison simple.
J' ai chargé un *.3ds qui était plus grand que la taille du scene3d
et affraid affraid affraid affraid affraid affraid affraid
Revenir en haut Aller en bas
Contenu sponsorisé





J'ai copié sur Bignono - Page 3 Empty
MessageSujet: Re: J'ai copié sur Bignono   J'ai copié sur Bignono - Page 3 Empty

Revenir en haut Aller en bas
 
J'ai copié sur Bignono
Revenir en haut 
Page 3 sur 8Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8  Suivant
 Sujets similaires
-
» Bonjour Bignono
» chasseur d’astéroïdes V4 sonorisé par Bignono
» copie multiple clip_board
» copie d'image ?
» Fonction copie de fichiers

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: