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.
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
un viewer 3d à améliorer pour notre ami YGERONIMI! Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
un viewer 3d à améliorer pour notre ami YGERONIMI! 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
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

 

 un viewer 3d à améliorer pour notre ami YGERONIMI!

Aller en bas 
+3
papydall
Yannick
bignono
7 participants
AuteurMessage
bignono

bignono


Nombre de messages : 1127
Age : 66
Localisation : Val de Marne
Date d'inscription : 13/11/2011

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 8:11

Bonjour à tous Smile
Citation :
Exact, en fait Ygeronimi, tu es juste en panne d'idée
Une petite idée de programme et tu iras mieux en fait
Ygeronimi, tu avais fait il y a quelques temps un viewer 3ds. Je crois que tu voulais pouvoir ouvrir les fichiers 3ds et md2, mais que tu ne savais pas comment faire pour les 2 dans le même programme. Il y a longtemps avant les sub j'avais fait un programme de ce genre que j'ai modifié avec quelques unes de tes idées de ton viewer. Je crois que tu peux certainement l'améliorer à la façon sub. Moi il me sert juste à visionner vite fait un objet 3ds ou md2 pour voir si il n'y a pas de problème avec les facettes et les sommets de l'objet avant de le charger dans wings3d pour éventuellement le modifier et le retravailler ou le retexturer!
Le programme a quelques bugs, mais rien de bien méchant. Bon courage à toi si tu te sens inspiré. Smile
Code:
dim i,fr%,fv%,fb%,t,rx,ry,rz,cx,cy,cz,pvx,pvy,pvz,lx,ly,lz,r%,v%,b%,tr%,x,y,z,F$,TX$,A$,ttr$
dim fgr%,fgv%,fgb%,d,bouton,dmin,dmax
label fond,zoom,rotation,camera,vise,lumiere,colore,transp,direct,selection,init,texturer
label fog_couleur,fog_mini,fog_maxi,vdelta,c166c109
' ******************************************************************************
A$="VISIONNEUR 3DS_MD2  "
full_space 0:hide 0:font_name 0,"Times new roman":font_size 0,10:caption 0,A$:show 0

main_menu 1
sub_menu 2 :parent 2,1:caption 2,"Ouvrir":on_click 2,selection

scene3d 49:top 49,0:left 49,0:width 49,1200:height 49,802:color 49,0,0,0
container 50:left 50,1203:width 50,376:top 50,000:height 50,802
container 51:parent 51,50:left 51,000:width 51,376:top 51,000:height 51,075:font_name 51,"Consolas":font_color 51,130,0,0:font_bold 51:caption 51," Couleur de fond ":' container règlage couleur de fond
container 52:parent 52,50:left 52,000:width 52,376:top 52,075:height 52,035:font_name 52,"Consolas":font_color 52,130,0,0:font_bold 52:caption 52," ZOOM = 0.001 ": ' container règlage Zoom
container 53:parent 53,50:left 53,000:width 53,090:top 53,110:height 53,405:font_name 53,"Consolas":font_color 53,130,0,0:font_bold 53:caption 53," ROTATION ": ' container règlage Rotation
container 54:parent 54,50:left 54,095:width 54,090:top 54,110:height 54,405:font_name 54,"Consolas":font_color 54,130,0,0:font_bold 54:caption 54," CAMÉRA ": ' container règlage Caméra
container 55:parent 55,50:left 55,190:width 55,090:top 55,110:height 55,405:font_name 55,"Consolas":font_color 55,130,0,0:font_bold 55:caption 55,"POINT VISÉ": ' container règlage Point visé
container 56:parent 56,50:left 56,286:width 56,090:top 56,110:height 56,405:font_name 56,"Consolas":font_color 56,130,0,0:font_bold 56:caption 56," LUMIÈRE ": ' container règlage Lumière objet
container 57:parent 57,50:left 57,000:width 57,376:top 57,515:height 57,095:font_name 57,"Consolas":font_color 57,130,0,0:font_bold 57:caption 57," Couleur et transparence de l'objet 3D ": ' container règlage Couleur objet
container 58:parent 58,50:left 58,000:width 58,185:top 58,610:height 58,100:font_name 58,"Consolas":font_color 58,130,0,0:font_bold 58:caption 58," Position de l'objet 3D ": ' container règlage Position objet
container 59:parent 59,50:left 59,185:width 59,191:top 59,610:height 59,100:' font_name 59,"Consolas":font_color 59,130,0,0:font_bold 59:caption 59," TEXTURE "
container 60:parent 60,50:left 60,000:width 60,376:top 60,710:height 60,095:font_name 60,"Consolas":font_color 60,130,0,0:font_bold 60:caption 60,"  EFFET FOG  "

scroll_bar 61:parent 61,51:left 61,5:top 61,015:width 61,256:min 61,0:max 61,255:on_change 61,fond
scroll_bar 62:parent 62,51:left 62,5:top 62,035:width 62,256:min 62,0:max 62,255:on_change 62,fond
scroll_bar 63:parent 63,51:left 63,5:top 63,055:width 63,256:min 63,0:max 63,255:on_change 63,fond

scroll_bar 64:parent 64,52:left 64,5:top 64,015:width 64,360:min 64,1:max 64,10000:on_change 64,zoom

scroll_bar 65:parent 65,53:vertical 65:left 65,05:top 65,27:height 65,360:min 65,-359:max 65,359:position 65,0:on_change 65,rotation
scroll_bar 66:parent 66,53:vertical 66:left 66,35:top 66,27:height 66,360:min 66,-359:max 66,359:position 66,0:on_change 66,rotation
scroll_bar 67:parent 67,53:vertical 67:left 67,65:top 67,27:height 67,360:min 67,-359:max 67,359:position 67,0:on_change 67,rotation

scroll_bar 68:parent 68,54:vertical 68:left 68,05:top 68,27:height 68,360:min 68,-100:max 68,100:position 68,0:on_change 68,camera
scroll_bar 69:parent 69,54:vertical 69:left 69,35:top 69,27:height 69,360:min 69,-100:max 69,100:position 69,0:on_change 69,camera
scroll_bar 70:parent 70,54:vertical 70:left 70,65:top 70,27:height 70,360:min 70,-100:max 70,100:position 70,5:on_change 70,camera

scroll_bar 71:parent 71,55:vertical 71:left 71,05:top 71,27:height 71,360:min 71,-100:max 71,100:position 71,0:on_change 71,vise
scroll_bar 72:parent 72,55:vertical 72:left 72,35:top 72,27:height 72,360:min 72,-100:max 72,100:position 72,0:on_change 72,vise
scroll_bar 73:parent 73,55:vertical 73:left 73,65:top 73,27:height 73,360:min 73,-100:max 73,100:position 73,0:on_change 73,vise

scroll_bar 74:parent 74,56:vertical 74:left 74,05:top 74,27:height 74,360:min 74,-100:max 74,100:position 74,0:on_change 74,lumiere
scroll_bar 75:parent 75,56:vertical 75:left 75,35:top 75,27:height 75,360:min 75,-100:max 75,100:position 75,0:on_change 75,lumiere
scroll_bar 76:parent 76,56:vertical 76:left 76,65:top 76,27:height 76,360:min 76,-100:max 76,100:position 76,5:on_change 76,lumiere

scroll_bar 77:parent 77,57:left 77,5:top 77,015:width 77,256:min 77,0:max 77,255:on_change 77,colore
scroll_bar 78:parent 78,57:left 78,5:top 78,035:width 78,256:min 78,0:max 78,255:on_change 78,colore
scroll_bar 79:parent 79,57:left 79,5:top 79,055:width 79,256:min 79,0:max 79,255:on_change 79,colore
scroll_bar 80:parent 80,57:left 80,5:top 80,075:width 80,256:min 80,0:max 80,255:on_change 80,transp

alpha 081:parent 081,51:left 081,265:top 081,015:font_name 081,"Consolas":font_color 081,255,0,0:font_bold 081:caption 081,"ROUGE => 0"
alpha 082:parent 082,51:left 082,265:top 082,035:font_name 082,"Consolas":font_color 082,0,155,0:font_bold 082:caption 082,"VERT ==> 0"
alpha 083:parent 083,51:left 083,265:top 083,055:font_name 083,"Consolas":font_color 083,0,0,255:font_bold 083:caption 083,"BLEU ==> 0"

alpha 084:parent 084,53:left 084,008:top 084,012:font_name 084,"Arial":font_color 084,0,0,255:font_size 084,10:font_bold 084:caption 084,"X"
alpha 085:parent 085,53:left 085,038:top 085,012:font_name 085,"Arial":font_color 085,0,0,255:font_size 085,10:font_bold 085:caption 085,"Y"
alpha 086:parent 086,53:left 086,068:top 086,012:font_name 086,"Arial":font_color 086,0,0,255:font_size 086,10:font_bold 086:caption 086,"Z"
alpha 087:parent 087,53:left 087,002:top 087,387:font_name 087,"Arial":font_color 087,190,0,0:font_size 087,08:font_bold 087:caption 087,"0°"
alpha 088:parent 088,53:left 088,032:top 088,387:font_name 088,"Arial":font_color 088,190,0,0:font_size 088,08:font_bold 088:caption 088,"0°"
alpha 089:parent 089,53:left 089,062:top 089,387:font_name 089,"Arial":font_color 089,190,0,0:font_size 089,08:font_bold 089:caption 089,"0°"

alpha 090:parent 090,54:left 090,008:top 090,012:font_name 090,"Arial":font_color 090,0,0,255:font_size 090,10:font_bold 090:caption 090,"X"
alpha 091:parent 091,54:left 091,038:top 091,012:font_name 091,"Arial":font_color 091,0,0,255:font_size 091,10:font_bold 091:caption 091,"Y"
alpha 092:parent 092,54:left 092,068:top 092,012:font_name 092,"Arial":font_color 092,0,0,255:font_size 092,10:font_bold 092:caption 092,"Z"
alpha 093:parent 093,54:left 093,003:top 093,387:font_name 093,"Arial":font_color 093,190,0,0:font_size 093,08:font_bold 093:caption 093,"0"
alpha 094:parent 094,54:left 094,033:top 094,387:font_name 094,"Arial":font_color 094,190,0,0:font_size 094,08:font_bold 094:caption 094,"0"
alpha 095:parent 095,54:left 095,063:top 095,387:font_name 095,"Arial":font_color 095,190,0,0:font_size 095,08:font_bold 095:caption 095,"5"

alpha 096:parent 096,55:left 096,008:top 096,012:font_name 096,"Arial":font_color 096,0,0,255:font_size 096,10:font_bold 096:caption 096,"X"
alpha 097:parent 097,55:left 097,038:top 097,012:font_name 097,"Arial":font_color 097,0,0,255:font_size 097,10:font_bold 097:caption 097,"Y"
alpha 098:parent 098,55:left 098,068:top 098,012:font_name 098,"Arial":font_color 098,0,0,255:font_size 098,10:font_bold 098:caption 098,"Z"
alpha 099:parent 099,55:left 099,003:top 099,387:font_name 099,"Arial":font_color 099,190,0,0:font_size 099,08:font_bold 099:caption 099,"0"
alpha 100:parent 100,55:left 100,033:top 100,387:font_name 100,"Arial":font_color 100,190,0,0:font_size 100,08:font_bold 100:caption 100,"0"
alpha 101:parent 101,55:left 101,063:top 101,387:font_name 101,"Arial":font_color 101,190,0,0:font_size 101,08:font_bold 101:caption 101,"0"

alpha 102:parent 102,56:left 102,008:top 102,012:font_name 102,"Arial":font_color 102,0,0,255:font_size 102,10:font_bold 102:caption 102,"X"
alpha 103:parent 103,56:left 103,038:top 103,012:font_name 103,"Arial":font_color 103,0,0,255:font_size 103,10:font_bold 103:caption 103,"Y"
alpha 104:parent 104,56:left 104,068:top 104,012:font_name 104,"Arial":font_color 104,0,0,255:font_size 104,10:font_bold 104:caption 104,"Z"
alpha 105:parent 105,56:left 105,003:top 105,387:font_name 105,"Arial":font_color 105,190,0,0:font_size 105,08:font_bold 105:caption 105,"0"
alpha 106:parent 106,56:left 106,033:top 106,387:font_name 106,"Arial":font_color 106,190,0,0:font_size 106,08:font_bold 106:caption 106,"0"
alpha 107:parent 107,56:left 107,063:top 107,387:font_name 107,"Arial":font_color 107,190,0,0:font_size 107,08:font_bold 107:caption 107,"5"

alpha 108:parent 108,57:left 108,265:top 108,015:font_name 108,"Consolas":font_color 108,255,0,0:font_bold 108:caption 108,"ROUGE => 0"
alpha 109:parent 109,57:left 109,265:top 109,035:font_name 109,"Consolas":font_color 109,0,155,0:font_bold 109:caption 109,"VERT ==> 0"
alpha 110:parent 110,57:left 110,265:top 110,055:font_name 110,"Consolas":font_color 110,0,0,255:font_bold 110:caption 110,"BLEU ==> 0"
alpha 111:parent 111,57:left 111,265:top 111,075:font_name 111,"Terminal":font_color 111,0,0,255:font_bold 111:caption 111,"TRANSPARENCE: 0"

for i=112 to 121:button i:parent i,58:font_name i,"wingdings":font_size i,12:on_click i,direct:next i
for i=112 to 121:width i,26:height i,26:if i>119 then height i,13
next i
left 112,35:top 112,20:caption 112,chr$(235):left 113,65:top 113,20:caption 113,chr$(233)
left 114,95:top 114,20:caption 114,chr$(236):left 115,35:top 115,46:caption 115,chr$(231)
left 116,95:top 116,46:caption 116,chr$(232):left 117,35:top 117,72:caption 117,chr$(237)
left 118,65:top 118,72:caption 118,chr$(234):left 119,95:top 119,72:caption 119,chr$(238)
left 120,65:top 120,46:caption 120,chr$(242):left 121,65:top 121,59:caption 121,chr$(241)
alpha 122:parent 122,58:left 122,125:top 122,25:font_name 122,"Consolas":font_color 122,200,0,0:font_size 122,08:font_bold 122:caption 122,"X="+str$(x)
alpha 123:parent 123,58:left 123,125:top 123,51:font_name 123,"Consolas":font_color 123,200,0,0:font_size 123,08:font_bold 123:caption 123,"Y="+str$(y)
alpha 124:parent 124,58:left 124,125:top 124,77:font_name 124,"Consolas":font_color 124,200,0,0:font_size 124,08:font_bold 124:caption 124,"Z="+str$(z)
alpha 125:parent 125,58:left 125,004:top 125,22:font_name 125,"Terminal":font_color 125,000,0,0:font_size 125,10:font_bold 125:color 125,200,200,200:caption 125,"0.01":on_click 125,vdelta
alpha 126:parent 126,58:left 126,004:top 126,42:font_name 126,"Terminal":font_color 126,000,0,0:font_size 126,10:font_bold 126:color 126,200,200,200:caption 126,"0.1 ":on_click 126,vdelta
alpha 127:parent 127,58:left 127,004:top 127,62:font_name 127,"Terminal":font_color 127,000,0,0:font_size 127,10:font_bold 127:color 127,000,255,255:caption 127," 1  ":on_click 127,vdelta
alpha 128:parent 128,58:left 128,004:top 128,82:font_name 128,"Terminal":font_color 128,000,0,0:font_size 128,10:font_bold 128:color 128,200,200,200:caption 128," 10 ":on_click 128,vdelta

button 129:parent 129,59:left 129,070:top 129,05:width 129,120:height 129,20:font_bold 129:font_size 129,14:caption 129,"TEXTURE":on_click 129,texturer: ' container règlage Texture objet
picture 130:parent 130,59:left 130,2:top 130,6:width 130,186:height 130,93

scroll_bar 131:parent 131,60:left 131,245:top 131,035:width 131,128:min 131,0:max 131,255:on_change 131,fog_couleur
scroll_bar 132:parent 132,60:left 132,245:top 132,055:width 132,128:min 132,0:max 132,255:on_change 132,fog_couleur
scroll_bar 133:parent 133,60:left 133,245:top 133,075:width 133,128:min 133,0:max 133,255:on_change 133,fog_couleur
alpha 134:parent 134,60:left 134,250:top 134,10:color 134,0,0,0:font_name 134,"Lucida Console":font_size 134,14:caption 134,"          "
alpha 135:parent 135,60:left 135,200:top 135,00:font_name 135,"Wingdings":font_size 135,30:font_color 135,255,0,0:caption 135,chr$(109):on_click 135,c166c109
alpha 136:parent 136,60:left 136,209:top 136,15:font_name 136,"Consolas" :font_size 136,08:font_color 136,255,0,0:caption 136,"OFF":on_click 136,c166c109

alpha 137:parent 137,60:left 137,005:top 137,15:font_name 137,"Arial":font_size 137,10:font_color 137,000,000,255:caption 137,"Distance Minimale"
alpha 138:parent 138,60:left 138,210:top 138,35:font_name 138,"Arial":font_size 138,12:font_color 138,200,0,0:caption 138,str$(dmin)
scroll_bar 139:parent 139,60:left 139,005:top 139,35:width 139,200:min 139,1:max 139,199:on_change 139,fog_mini

alpha 140:parent 140,60:left 140,005:top 140,55:font_name 140,"Arial":font_size 140,10:font_color 140,000,0,255:caption 140,"Distance Maximale"
alpha 141:parent 141,60:left 141,210:top 141,75:font_name 141,"Arial":font_size 141,12:font_color 141,200,0,0:caption 141,str$(dmax)
scroll_bar 142:parent 142,60:left 142,005:top 142,75:width 142,200:min 142,2:max 142,200:on_change 142,fog_maxi
d=1
end

fog_couleur:
fgr%=position(131):fgv%=position(132):fgb%=position(133):color 134,fgr%,fgv%,fgb%
return

fog_mini:
dmin=position(139)/2:caption 138,str$(dmin):fog_distance_min dmin
if dmin>=dmax then position 142,position(139)+1
return
fog_maxi:
dmax=position(142)/2:caption 141,str$(dmax):fog_distance_max dmax
if dmax<=dmin then position 139,position(142)-1
return

init:
for i=65 to 80:position i,0:next i:position 64,1:position 70,5:position 76,5
gosub camera:gosub vise:gosub lumiere:x=0:y=0:z=0
if o3d_object_exists(1)=1 then 3d_position 1,x,y,z:gosub colore:gosub zoom:gosub rotation:gosub transp
return

texturer:
  if o3d_object_exists(1)=0 then return
  if o3d_object_exists(1)=1 then 3d_delete 1:hide 130
  if right$(F$,3)="3ds" then 3d_mesh 1
  if right$(F$,3)="md2" then 3d_actor 1
  3d_load_object 1,F$:3d_position 1,x,y,z:gosub colore:gosub zoom:gosub rotation:gosub transp
  TX$="":open_dialog 200:filter 200,"fichiers images: *.bmp,*.jpg|*.bmp;*.jpg"
  TX$=file_name$(200):TX$=lower$(TX$):delete 200
  if TX$<>"_"
      if O3D_object_exists(1)=1 then 3d_load_texture 1,TX$
      show 130:file_load 130,TX$:stretch_on 130
  end_if
caption 0,A$+F$+"  "+TX$:return

selection:
F$="":open_dialog 200:filter 200,"fichiers mesh actor: *.3ds,*.md2|*.3ds;*.md2"
F$=file_name$(200):F$=lower$(F$):delete 200
if F$<>"_"
  if o3d_object_exists(1)=1 then 3d_delete 1:hide 130
  if right$(F$,3)="3ds" then 3d_mesh 1
  if right$(F$,3)="md2" then 3d_actor 1
  3d_load_object 1,F$:gosub init
  for i=51 to 60:show i:next i
end_if
caption 0,A$+F$:return

vdelta:
for i=125 to 128:color i,200,200,200:next i
select number_click
  case 125:d=0.01
  case 126:d=0.1
  case 127:d=1
  case 128:d=10
end_select
color number_click,0,255,255
return

direct:
x=o3d_x_position(1):y=o3d_y_position(1):z=o3d_z_position(1)
select number_click
  case 112:y=y+d:x=x-d:' decale vers haut gauche
  case 113:y=y+d:' decale vers haut
  case 114:y=y+d:x=x+d:' decale vers haut droit
  case 115:x=x-d:' decale vers gauche
  case 116:x=x+d:' decale vers droite
  case 117:y=y-d:x=x-d:' decale vers bas gauche
  case 118:y=y-d:' decale vers bas
  case 119:y=y-d:x=x+d: ' decale vers bas droite
  case 120:z=z+d:' decale vers fond
  case 121:z=z-d:' decale vers avant
end_select
x=int((x+0.005)*100)/100:y=int((y+0.005)*100)/100:z=int((z+0.005)*100)/100
3d_position 1,x,y,z
caption 122,"X="+str$(x):caption 123,"Y="+str$(y):caption 124,"Z="+str$(z)
return

c166c109:
if odd(bouton)=1 then font_color 135,255,0,0:font_color 60,130,0,0:caption 60,"  EFFET FOG ( OFF )":left 136,209:font_color 136,255,0,0:caption 136,"OFF":fog_off
if even(bouton)=1 then font_color 135,0,155,0:font_color 60,0,130,0:caption 60,"  EFFET FOG ( ON )":left 136,212:font_color 136,0,130,0:caption 136,"ON":fog_on
caption 135,chr$(166):wait 200:caption 135,chr$(109):bouton=bouton+1
return

alpha 136:parent 136,60:left 136,209:top 136,15:font_name 136,"Consolas" :font_size 136,08:font_color 136,255,0,0:caption 136,"OFF"

transp:
tr%=position(80):caption 111,"TRANSPARENCE: "+str$(tr%):if o3d_object_exists(1)=1 then 3d_transparent 1,tr%
return

colore:
r%=position(77):v%=position(78):b%=position(79):if O3D_object_exists(1)=1 then 3d_color 1,r%,v%,b%
caption 108,"ROUGE => "+str$(r%):caption 109,"VERT ==> "+str$(v%):caption 110,"BLEU ==> "+str$(b%)
return

lumiere:
lx=Position(74):ly=Position(75):lz=Position(76):light_position lx,ly,lz
caption 105,lx:caption 106,ly:caption 107,lz
return

vise:
pvx=Position(71)/10:pvy=Position(72)/10:pvz=Position(73)/10:point_position pvx,pvy,pvz
caption 099,pvx:caption 100,pvy:caption 101,pvz
return

camera:
cx=Position(68):cy=Position(69):cz=Position(70):cam_position cx,cy,cz
caption 93,str$(cx):caption 94,str$(cy):caption 95,str$(cz)
return

rotation:
rx=position(65):caption 87,str$(rx)+"°":ry=position(66):caption 88,str$(ry)+"°":rz=position(67):caption 89,str$(rz)+"°"
if o3d_object_exists(1)=1 then 3d_rotate 1,rx,ry,rz
return

zoom:
t=position(64)/1000:caption 52,chr$(32)+"ZOOM = "+str$(t)+chr$(32):if o3d_object_exists(1)=1 then 3d_scale 1,t,t,t
return

fond:
fr%=position(61):fv%=position(62):fb%=position(63):color 49,fr%,fv%,fb%
caption 81,"ROUGE => "+str$(fr%):caption 82,"VERT ==> "+str$(fv%):caption 83,"BLEU ==> "+str$(fb%)
return
J'espère ainsi te redonner un peu d'inspiration pour nous faire quelques bons petits programmes!
A+ Wink Wink Wink
Revenir en haut Aller en bas
Yannick




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

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: re   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 13:03

Effectivement, je me suis amusé un temps à faire un viewer 3d.
j'en avais marre de ne pas pouvoir voir ces objets.

J' ai regardé un peu ton code et je remarque une chose que je pensais
pas permise dans la numérotation des objets :
Code:
Alpha 081
je ne pensais pas cela possible.
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

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 14:20

Salut tout le monde.

@Ygeronimi
Oui tu peux utiliser une expression pour les identificateurs d’objets.
Un identificateur d’objet peut être soit un nombre entier supérieur à zéro (le zéro est prédéfini pour FORM 0), soit un nombre décimai >= 1, soit même une expression mathématique quelconque pouvant rendre une valeur flottante >=1.
Le code suivant est correct, mais est-il judicieux de coder de cette façon ?

Spoiler:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Invité
Invité




un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 15:12

Bonjour Papydall.
J'ai été surpris par le fait d'utiliser des valeurs décimal pour les objets, et j'ai eu un doute.
Effectivement ton exemple fonctionne, mais:
Code:
label quit,hello,salut
container 1 : top 1,20 : left 1,100 : width 1,400 : height 1,400
button 2 : parent 2,1 : top 2,50 : left 2,100 : caption 2,"Hello":on_click 2,hello
button 2.76 : parent 2.76,1 : top 2.76,50 : left 2.76,200 :caption 2.76,"Salut":on_click 2.76,salut
alpha 3+sin(.57) : parent 3+sin(.57),1 : top 3+sin(.57),200 : left 3+sin(.57),50
color 0003+sin(.57),0,0,255: font_color 0003+sin(.57),255,255,0 :font_bold 0003+sin(.57)
caption 3+sin(.57),"Un identificateur d'objet peut être un nombre décimal" + chr$(13)+"ou même une expression numérique."+chr$(13)+"Par exemple, le mien est : 0003+sin(.57)"
button 005*3.14159 : parent 005*3.14159,1 : top 005*3.14159,300 : left 005*3.14159,150
caption 005*3.14159,"QUITTER" : hint 005*3.14159,"Mon identificateur est : 005*3.14159":on_click 5*3.14159, quit
end
hello:
hint 2,"Mon identificateur est 2"
return

Salut:
hint 2.76,"Mon identificateur est :"+str$(number_click)
return

quit:
terminate
Et là il y a un hic. Ton objet 2.76, est lu comme objet 3. Si tu rajoutes un: DLIST 3, là ça ne le valide pas.
Revenir en haut Aller en bas
Klaus

Klaus


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

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 15:22

Il est vrai que la doc n'est pas entièrement explicite à ce sujet. Cependant, il est dit partout que le numéro d'objet est un entier ou un réel, plus grand que 0 et inférieur ou égal au nombre maximum des objets du système.

On peut donc en déduire que l'expression dont le résultat est utilisé comme numéro d'objet est convertie de façon interne en entier avant d'être utilisée comme numéro d'objet. Il y a donc un arrondi. C'est la même chose pour d'autres valeurs: top, left, ...

Regarde ceci:
Code:
button 1
top 1,11.3
message str$(top(1))
le programme affiche bien 11 et non 11.3. Partout où intuitivement on s'attend à un entier, des flottants (ou expressions donnant des valeurs flottantes) sont acceptés, mais automatiquement arrondis en entiers.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 15:30

En effet
Le système arrondi la valeur décimal à l’entier le plus proche avant de l’affecter à l’objet.
1.25 est arrondi à 1
1.5 est arrondi à 2
Toute autre valeur entre 1 et 2 sera arrondie soit à 1 soit à 2.
Ta remarque est donc tout à fait correcte.
Code:
list 1.25 : left 1.25 ,50 : ' arrondi à 1
list 1.5 : left 1.5, 200  : ' arrondi à 2
list 2 : ' ==> ERREUR : OBJECT already defined . Line : 4
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 15:33

Ce n'est pas un peu du vice que d'appeler un objet 3.1416 ?
Revenir en haut Aller en bas
Jicehel

Jicehel


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

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 15:34

Dans ma doc, j'ai volontairement omis le fait de pouvoir mettre des réel, je trouve que ça embrouille plus qu'autre chose, j'ai mis entier positif inférieur au nombre d'objets maximums. Ce n'est pas tout à fait vrai comme le montre le programme, mais je trouve ça beaucoup plus clair est seul un esprit tordu pourrait les utiliser... Dans tes dents Bignono Very Happy
Non, je plaisante, je sais qu'il a fait ça exprès pour nous titiller un peu. Le seul intérêt d'utiliser les réel est l'usage pour les débutant qui ne mettent pas d'extension à leur variable. Genre utilisation de i ou de du no_objet.
Revenir en haut Aller en bas
Yannick




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

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: re   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 15:53

Heu....
dans son code, Bignono nomme un objet alpha par : 081 et pas 3.1416

je pensais que le 0 devant 81 vaudrait une "Error", c'est tout... Wink
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

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 17:31

On peut mettre autant des zéros que l’on veut
Code:
 LIST 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009999

La valeur maximale d’un identificateur est 9999, les zéros n’ont aucun effet.

Par contre, vous ne pouvez pas écrire ceci :
Code:
list +2
Le signe + n'est pas permis, mais
Code:
list 0+2
est accepté.

Il est bon de le savoir, c'est tout.
A mois que l'on veut être SUPER PANORAMICIEN, je ne vois pas pourquoi on code ainsi (qui est tout à fait correct du point de vue syntaxe)
Code:
  list 1/2+100*sqr(3+14*(abs(sin(1.5789))))
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jack
Admin
Jack


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

un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! EmptyDim 13 Jan 2013 - 17:38

@Klaus:
Citation :
Il est vrai que la doc n'est pas entièrement explicite à ce sujet. Cependant, il est dit partout que le numéro d'objet est un entier ou un réel, plus grand que 0 et inférieur ou égal au nombre maximum des objets du système.

On peut donc en déduire que l'expression dont le résultat est utilisé comme numéro d'objet est convertie de façon interne en entier avant d'être utilisée comme numéro d'objet. Il y a donc un arrondi. C'est la même chose pour d'autres valeurs: top, left, ...
Dans ce cas, la conversion d'un réel en entier se fait vers l'entier le plus proche du réel (arrondi et non pas partie entière).
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Contenu sponsorisé





un viewer 3d à améliorer pour notre ami YGERONIMI! Empty
MessageSujet: Re: un viewer 3d à améliorer pour notre ami YGERONIMI!   un viewer 3d à améliorer pour notre ami YGERONIMI! Empty

Revenir en haut Aller en bas
 
un viewer 3d à améliorer pour notre ami YGERONIMI!
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Pour améliorer encore le GRID
» Un logiciel pratique (entre autre pour Ygeronimi, je pense)
» Viewer
» Améliorer compiler en application
» Améliorer l'aide et le manuel de référence.

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: