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
» Logiciel de planétarium.
Panoramic-Draw3D Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Panoramic-Draw3D Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Panoramic-Draw3D Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Panoramic-Draw3D Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Panoramic-Draw3D Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Panoramic-Draw3D Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Panoramic-Draw3D Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Panoramic-Draw3D Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Panoramic-Draw3D Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Panoramic-Draw3D Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Panoramic-Draw3D Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Panoramic-Draw3D Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Panoramic-Draw3D Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Panoramic-Draw3D Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Panoramic-Draw3D Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-14%
Le deal à ne pas rater :
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 trs/min, Classe ...
299.99 € 349.99 €
Voir le deal

 

 Panoramic-Draw3D

Aller en bas 
3 participants
AuteurMessage
lodchjo

lodchjo


Nombre de messages : 162
Age : 53
Localisation : Anvers
Date d'inscription : 26/12/2011

Panoramic-Draw3D Empty
MessageSujet: Panoramic-Draw3D   Panoramic-Draw3D EmptySam 25 Fév 2012 - 23:12

Bonjour tout le monde!
Voici la version 3D de Panoramic Draw. Comme le Panoramic Draw normale (2d), ce logiciel crée toutes les codes nécessaires pour pouvoir ouvrir le fichier (dessin) créé avec panoramic même et l'executer. Wink (Il faut peut-être agrandir le canvas, quand on l'execute avec Panoramic. A part ça, tout devrait fonctionner.)
J'espère qu'il vous plait!

A savoir: pour rajouter un nouveau objet3d, il suffit de cliquer le gros bouton "Add!", et un nouvel objet 3D sera initialisé au même endroit avec les mêmes proportions. Il suffit de le déplacer pour le voir. Wink
Je l'ai fait comme ça pour le cas ou on voudrait "cloner" l'objet qu'on vient de créer.

Code:

label abt, ld, sv, wis, tst, rdrw, rst, drw, pen, tpen, cam, camed, err
on_error_goto err
dim x, y, z, a$, xpos, ypos, ctr, pn$, kl$, fl$, pns, fs$, i$(10), obj
data "3d_box", "3d_cone","3d_cube", "3d_cylinder", "3d_dodecahedron", "3d_plane", "3d_sphere", "3d_teapot", "3d_text", "3d_torus"
data "width", "height", "depth", "3d_x_position", "3d_y_position", "3d_z_position", "3d_x_scale","3d_y_scale","3d_z_scale", "3d_x_rotate", "3d_y_rotate", "3d_z_rotate"
data 100,100,100,0,0,0,100,100,100,0,0,0
data "cam_x_position", "cam_y_position", "cam_z_position", "point_x_position", "point_y_position", "point_z_position", "light_x_position", "light_y_position", "light_z_position"
caption 0,"Panoramic Draw3D"
width 0,240
height 0,800
color 0, 255,255,255
main_menu 100
sub_menu 101:parent 101,100:caption 101,"Load":on_click 101,ld
sub_menu 102:parent 102,100:caption 102,"Save":on_click 102,sv
sub_menu 103:parent 103,100:caption 103,"Clear":on_click 103,wis
sub_menu 104:parent 104,100:caption 104,"Help":on_click 104,abt
open_dialog 109
save_dialog 110
form 1:color 1,255,255,255
left 1,240:height 1,800:width 1,800
alpha 2
top 2,10:left 2,25:width 2,70:caption 2, "3D-object:"
combo 3
top 3,7:left 3,80:width 3,120:height 3,25
for x = 1 to 10
 read a$
 item_add 3, a$
next x
on_change 3, drw
for x=4 to 15
read a$
 alpha x: caption x, a$
 left x,5:top x,x*20-20:width x,70
 scroll_bar x+12
 left x+12,80:top x+12,x*20-20:width x+12,110
 edit x+24:left x+24,195:top x+24,x*20-22:width x+24,35
next x
for x=16 to 24
 min x,1:max x,500
next x
for x=19 to 21
 min x,-500:max x,500
next x
 min 25,0:max 25,360: rem rotate x
 min 26,0:max 26,360: rem rotate y
 min 27,0:max 27,360: rem rotate z
for x=4 to 15
 read y
 text x+24,y
 position x+12,y
 on_change x+12,rst
 on_change x+24,rdrw
next x
button 40:caption 40,"Add!":on_click 40,tst
left 40,3:top 40,395:width 40,225
memo 41
left 41,3:top 41,425:width 41,225:height 41,100
item_add 41, "dim x,obj(100) : rem reserve space for 100 3d-objects"
item_add 41, "scene3d 1 : rem create 3d-world"
item_add 41, "full_space 1 : rem spread onto window"
item_add 41, "for x = 1 to 100"
item_add 41, "obj(x)=100+x : rem assign numbers to 3d_objects"
item_add 41, "next x"
item_add 41, "rem first 3d_object obj(1) gets reference number 101 etc."
edit 43: text 43, "3d_text"
top 43,30:left 43,25:width 43,175: on_change 43, drw
container 42
left 42,3:top 42,300:width 42,225:height 42,95
alpha 44:parent 44,42:font_bold 44
left 44,10:top 44,1:width 44,10:caption 44,"  3d_color  "
alpha 45:parent 45,42
left 45,5:top 45,20:width 45,20:caption 45,"Red"
scroll_bar 46:parent 46,42:min 46,0:max 46,255:position 46,0:on_change 46,pen
left 46,40:top 46,20:width 46,145
edit 47:parent 47,42:text 47,"0": on_change 47,tpen
left 47,190:top 47,18:width 47,30
alpha 48:parent 48,42
left 48,5:top 48,45:width 48,20:caption 48,"Green"
scroll_bar 49:parent 49,42:min 49,0:max 49,255:position 49,0:on_change 49,pen
left 49,40:top 49,45:width 49,145
edit 50:parent 50,42:text 50,"0":on_change 50,tpen
left 50,190:top 50,43:width 50,30
alpha 51:parent 51,42
left 51,5:top 51,70:width 51,20:caption 51,"Blue"
scroll_bar 52:parent 52,42:min 52,0:max 52,255:position 52,0:on_change 52,pen
left 52,40:top 52,70:width 52,145
edit 53:parent 53,42:text 53,"0":on_change 53,tpen
left 53,190:top 53,68:width 53,30
for x=54 to 62
 read a$
 alpha x: caption x, a$
 left x,5:top x,(x-27.5)*20:width x,70
 scroll_bar x+9: min x+9,-1000:max x+9,1000:position x+9,0
 left x+9,80:top x+9,(x-27.5)*20:width x+9,110
 edit x+18:left x+18,195:top x+18,(x-27.5)*20:width x+18,35:text x+18, "0"
next x
position 68,360
position 65,500
for x=54 to 62
 on_change x+9,cam
 on_change x+18,camed
next x
COMMAND_TARGET_IS 1
scene3d 199
full_space 199
y=200
end
rem ---------------------------------------------------------------------
pen:
 text 47, str$(position (46))
 text 50, str$(position (49))
 text 53, str$(position (52))
 font_color 44,position (46), position (49), position (52)
 3d_color y,position (46), position (49), position (52)
return
tpen:
 position 46, val(text$(47))
 position 49, val(text$(50))
 position 52, val(text$(53))
 font_color 44,position (46), position (49), position (52)
 3d_color y,position (46), position (49), position (52)
return
abt:
 message "Panoramic 3D Draw. Programmed by Lode Van de Velde."+chr$(13)+chr$(13)+"Choose the 3d-object, configure parameters and click the 'add'-button to get the code. Camera, light and pointing is also saved to file. Note that on saving an object, a new one is created on the exact same position as the previous one and may therefore not be visible, yet it can be manipulated."
return
sv:
 item_add 41, "CAM_POSITION "+str$(position (63)/100)+","+str$(position (64)/100)+","+str$(position (65)/100)
 item_add 41, "POINT_POSITION "+str$(position (66)/100)+","+str$(position (67)/100)+","+str$(position (68)/100)
 item_add 41, "LIGHT_POSITION "+str$(position (69)/100)+","+str$(position (70)/100)+","+str$(position (71)/100)
 fs$ = File_Name$(110)
 file_save 41, fs$
return
wis:
 3d_delete_all
return
tst:
 a$=" obj("+str$(y-149)+"), "
 select item_index(3): rem 1-10="3d_box", "3d_cone","3d_cube", "3d_cylinder", "3d_dodecahedron", "3d_plane", "3d_sphere", "3d_teapot", "3d_text", "3d_torus"
 case 0
  item_add 41, "3d_box"+a$+str$(position(16)/100)+","+ str$(position (17)/100)+","+ str$(position (18)/100)
 case 1
  item_add 41, item_index$(3)+a$+str$(position(16)/100)+","+ str$(position (17)/100)+","+ str$(position (18)/100)
 case 2
  item_add 41, item_index$(3)+a$+str$(position(16)/100)+","+ str$(position (17)/100)
 case 3
  item_add 41, item_index$(3)+a$+str$(position(16)/100)
 case 4
  item_add 41, item_index$(3)+a$+str$(position(16)/100)+","+ str$(position (17)/100)+","+ str$(position (18)/100)
 case 5
  item_add 41, item_index$(3)+a$
 case 6
  item_add 41, item_index$(3)+a$
 case 7
  item_add 41, item_index$(3)+a$+str$(position(16)/100)
 case 8
  item_add 41, item_index$(3)+a$
 case 9
    item_add 41, item_index$(3)+a$ + chr$(34)+text$(43)+chr$(34)
 case 10
  item_add 41, item_index$(3)+a$+str$(position(16)/100)+","+ str$(position (17)/100)
 end_select
 item_add 41, "3d_color"+a$ +str$(position (46))+","+ str$(position (49))+","+ str$(position (52))
 item_add 41, "3d_x_position"+a$+str$(position(19)/100)
 item_add 41, "3d_y_position"+a$+str$(position(20)/100)
 item_add 41, "3d_z_position"+a$+str$(position(21)/100)
 item_add 41, "3d_x_scale"+a$+str$(position(22)/100)
 item_add 41, "3d_y_scale"+a$+str$(position(23)/100)
 item_add 41, "3d_z_scale"+a$+str$(position(24)/100)
 item_add 41, "3d_x_rotate"+a$+str$(position(25))
 item_add 41, "3d_y_rotate"+a$+str$(position(26))
 item_add 41, "3d_z_rotate"+a$+str$(position(27))
 y=y+1
return
drw:
 if o3d_object_exists(y)= 1 then 3d_delete y
 select item_index(3) : rem 1-10 = "3d_box", "3d_cone","3d_cube", "3d_cylinder", "3d_dodecahedron", "3d_plane", "3d_sphere", "3d_teapot", "3d_text", "3d_torus"
 case 0
  3d_box y, position(16)/100, position(17)/100, position(18)/100
 case 1
  3d_box y, position(16)/100, position(17)/100, position(18)/100
 case 2
  3d_cone y, position(16)/100, position(17)/100
 case 3
  3d_cube y, position(16)/100
 case 4
  3d_cylinder y, position(16)/100, position(17)/100, position(18)/100
 case 5
  3d_dodecahedron y
 case 6
  3d_plane y
 case 7
  3d_sphere y, position(16)/100
 case 8
  3d_teapot y
 case 9
  3d_text y, text$(43)
 case 10
  3d_torus y, position(16)/100, position(17)/100
 end_select
 3d_color y,position (46), position (49), position (52)
 3d_x_position y, position(19)/100
 3d_y_position y, position(20)/100
 3d_z_position y, position(21)/100
 3d_x_scale y, position(22)/100
 3d_y_scale y, position(23)/100
 3d_z_scale y, position(24)/100
 3d_x_rotate y, position(25)
 3d_y_rotate y, position(26)
 3d_z_rotate y, position(27)
return
rdrw:
 for x=4 to 15
  position x+12, val(text$(x+24))
 next x
 gosub drw
return
rst:
 for x=4 to 15
  text x+24, str$(position(x+12))
 next x
 gosub drw
return
cam:
 for x=63 to 71
  text x+9, str$(position (x))
 next x
 CAM_POSITION position (63)/100,position (64)/100,position (65)/100
 POINT_POSITION position (66)/100,position (67)/100,position (68)/100
 LIGHT_POSITION position (69)/100,position (70)/100,position (71)/100
 gosub drw
return
camed:
 for x=63 to 71
  position (x), val(text$(x+9))
 next x
 CAM_POSITION position (63)/100,position (64)/100,position (65)/100
 POINT_POSITION position (66)/100,position (67)/100,position (68)/100
 LIGHT_POSITION position (69)/100,position (70)/100,position (71)/100
 gosub drw
return
ld:
 gosub wis
 obj=200
 fs$ = File_Name$(109)
 file_load 41,fs$
 for x=1 to count(41)
  a$=ltrim$(rtrim$(item_read$(41,x)))+",0,0,0,0"
  if instr(a$," ")<>0 then i$(1)=left$(a$,instr(a$," ")-1):a$=right$(a$,len(a$)-instr(a$," "))
  if instr(a$,",")<>0 then i$(2)=left$(a$,instr(a$,",")-1):a$=right$(a$,len(a$)-instr(a$,","))
  if instr(a$,",")<>0 then i$(3)=left$(a$,instr(a$,",")-1):a$=right$(a$,len(a$)-instr(a$,","))
  if instr(a$,",")<>0 then i$(4)=left$(a$,instr(a$,",")-1):a$=right$(a$,len(a$)-instr(a$,","))
  if instr(a$,",")<>0 then i$(5)=left$(a$,instr(a$,",")-1)
  rem message i$(1)+" "+i$(2)+" "+i$(3)+" "+i$(4)+" "+i$(5)
  if i$(1)="CAM_POSITION" then cam_position val(i$(2)),val(i$(3)),val(i$(4)):position 63, val(i$(2))*100:position 64,val(i$(3))*100:position 65,val(i$(4))*100
  if i$(1)="POINT_POSITION" then point_position val(i$(2)),val(i$(3)),val(i$(4)):position 66,val(i$(2))*100:position 67,val(i$(3))*100:position 68,val(i$(4))*100
  if i$(1)="LIGHT_POSITION" then light_position val(i$(2)),val(i$(3)),val(i$(4)):position 69,val(i$(2))*100:position 70,val(i$(3))*100:position 71,val(i$(4))*100
  if i$(1)="3d_box" then 3d_box obj,val(i$(3)),val(i$(4)),val(i$(5)):obj=obj+1
  if i$(1)="3d_cone" then 3d_cone obj,val(i$(3)),val(i$(4)):obj=obj+1
  if i$(1)="3d_cube" then 3d_cube obj,val(i$(3)):obj=obj+1
  if i$(1)="3d_cylinder" then 3d_cylinder obj,val(i$(3)),val(i$(4)),val(i$(5)):obj=obj+1
  if i$(1)="3d_dodecahedron" then 3d_dodecahedron obj:obj=obj+1
  if i$(1)="3d_plane" then 3d_plane obj:obj=obj+1
  if i$(1)="3d_sphere" then 3d_sphere obj,val(i$(3)):obj=obj+1
  if i$(1)="3d_teapot" then 3d_teapot obj:obj=obj+1
  if i$(1)="3d_text" then 3d_text obj,i$(3):obj=obj+1
  if i$(1)="3d_torus" then 3d_torus obj,val(i$(3)),val(i$(4)):obj=obj+1
  if i$(1)="3d_color" then 3d_color obj-1,val(i$(3)),val(i$(4)),val(i$(5))
  if i$(1)= "3d_x_position" then 3d_x_position obj-1,val(i$(3))
  if i$(1)= "3d_y_position" then 3d_y_position obj-1,val(i$(3))
  if i$(1)= "3d_z_position" then 3d_z_position obj-1,val(i$(3))
  if i$(1)= "3d_x_scale" then 3d_x_scale obj-1,val(i$(3))
  if i$(1)= "3d_y_scale" then 3d_y_scale obj-1,val(i$(3))
  if i$(1)= "3d_z_scale" then 3d_z_scale obj-1,val(i$(3))
  if i$(1)= "3d_x_rotate" then 3d_x_rotate obj-1,val(i$(3))
  if i$(1)= "3d_y_rotate" then 3d_y_rotate obj-1,val(i$(3))
  if i$(1)= "3d_z_rotate" then 3d_z_rotate obj-1,val(i$(3))
  for z=1 to 5
  i$(z)=""
  next z
 next x
y=obj
return
err:
return

A+!
Lode
Revenir en haut Aller en bas
http://lode.weebly.com
Jicehel

Jicehel


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

Panoramic-Draw3D Empty
MessageSujet: Re: Panoramic-Draw3D   Panoramic-Draw3D EmptyDim 26 Fév 2012 - 1:22

Bien joué Smile Ca marche bien (bon comme d'hab, j'ai le même petit problème qu'avec les codes de Klaus ou autre comme je suis en W7, les fenêtre ont des ascenseurs par défaut, mais bon, il suffit que je l'élargisse un peu.)
Sinon, sur le portable, je n'ai que 768 points de haut ...
En dehors de ces limitations personnelles d'interface, sinon, c'est super simple à utiliser
Revenir en haut Aller en bas
bignono

bignono


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

Panoramic-Draw3D Empty
MessageSujet: Re: Panoramic-Draw3D   Panoramic-Draw3D EmptyDim 26 Fév 2012 - 8:05

Bonjour Lode, Smile
Je viens de voir ton programme, que je trouve super bien fait! Je dirais même qu'il est bien plus pratique que mon 3d_world!
Tu devrais élargir la fenêtre de dessin afin qu'elle prenne la totalité de l'écran, ormis la place réservée à celle de gauche. Tu devrais rajouter l'instruction 3d_transparent pour rendre tes objets dessinés + ou - transparent avec un scroll_bar. Et puis tu devrais pouvoir rajouter aussi des 3d_actor et des 3d_mesh sans problème dans ta liste d'objets à dessiner. Il manque aussi la gestion des textures et du skybox!
Enfin, un seul mot: BRAVO! Wink
Revenir en haut Aller en bas
lodchjo

lodchjo


Nombre de messages : 162
Age : 53
Localisation : Anvers
Date d'inscription : 26/12/2011

Panoramic-Draw3D Empty
MessageSujet: Re: Panoramic-Draw3D   Panoramic-Draw3D EmptyDim 26 Fév 2012 - 9:39

Jicehel,
Pour moi aussi, la barre a gauche c'est limite pour mon petit écran... sinon je dois faire des cathégories qu'on peut montrer/cacher pour les glisseurs. Rajouter une autre barre a droit, limitera l'espace 3D même, donc pas si bien non plus. Sinon, la télécommande de Klaus peut servir comme exemple pour les glisseurs qui ne sont pas lié aux objets individuels, mais pour la scène en totale (position du caméra, lumière, ...), comme ça, toute est quand-même sous les mains et on gagne de la place. Wink
Bignono, t'as raison pour le 3d_tranparence!
La différence entre nos programmes, c'est que toi tu voulait faire un outil pour créer des mondes virtuels en 3D avec des acteurs a minupuler dans un jeu, hors que moi c'était plutot du "dessin en 3D". Au moment que je le programmais, je n'avais pas encore de l'expérience avec les structures et les 3d_actor (je n'ai toujours pas de logiciel pour créer les objets 3D p.ex.), donc je laisse ça aux experts Wink

Conclusion:
- je vais d'abord créer la télécommande et ensuite rajouter le 3d_transparence

Bignono, si tu as envie, tu pourrait rajouter structure et 3d_actor ??
A+!
Lode
Revenir en haut Aller en bas
http://lode.weebly.com
Jicehel

Jicehel


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

Panoramic-Draw3D Empty
MessageSujet: Re: Panoramic-Draw3D   Panoramic-Draw3D EmptyDim 26 Fév 2012 - 9:55

Super, merci Lodcho Smile En plus c'est vrai qu'en libérant de l'espace, ça te permettra de continuer à ajouter ce que tu veux.
Revenir en haut Aller en bas
Contenu sponsorisé





Panoramic-Draw3D Empty
MessageSujet: Re: Panoramic-Draw3D   Panoramic-Draw3D Empty

Revenir en haut Aller en bas
 
Panoramic-Draw3D
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Logithèque : une base de données en Panoramic pour Panoramic
» IDE Panoramic écrit en Panoramic
» PANORAMIC V 0.9.6 available / PANORAMIC V 0.9.6 disponible
» Logo Panoramic en Panoramic
» PANORAMIC V0.9.13

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: