Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Morphing | |
| | Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Morphing Ven 19 Juil 2019 - 3:02 | |
| - Code:
-
rem ============================================================================ rem Morphing rem ============================================================================ ' Variables globales dim tx(10,6), ty(10,6) dim x(6), y(6), ux(6), uy(6), dx(6), dy(6) dim n,k,i,j,pas ' ------------------------------------------------------------------------------ ' LABEL label go ' ------------------------------------------------------------------------------ ' tx() data 30,70,70,70,30,30,30 data 30,50,50,50,50,50,50 data 30,70,70,30,30,70,70 data 30,70,70,30,70,70,30 data 30,60,60,60,60,70,30 data 70,30,30,70,70,30,70 data 70,30,30,70,70,30,30 data 30,70,60,50,60,40,80 data 30,70,50,70,30,50,30 data 70,30,30,70,70,70,30 data 30,70,70,70,30,30,30 ' ty() data 80,80,50,20,20,50,80 data 50,80,50,20,20,50,80 data 80,80,50,50,20,20,20 data 80,80,50,50,50,20,20 data 40,80,40,20,40,40,40 data 80,80,50,50,20,20,20 data 80,80,50,50,20,20,50 data 80,80,50,20,50,50,50 data 80,80,50,20,20,50,80 data 50,50,80,80,50,20,20 data 80,80,50,20,20,50,80 ' ------------------------------------------------------------------------------ ' Initialisations for n = 0 to 10 for j = 0 to 6 : read tx(n,j) : next j next n ' ------------------------------------------------------------------------------ for n = 0 to 10 for j = 0 to 6 : read ty(n,j): next j next n ' ------------------------------------------------------------------------------ n = 0 : k = 0 : pas = 20 : j = 0 picture 10 : top 10,100 : left 10,150 : width 10,200 : height 10,200 color 10,0,0,0 : 2d_target_is 10 : 2d_pen_width 10 : 2d_pen_color 255,0,0 Caption 0,"Morphing ..." timer 20 : timer_interval 20,60 : ' <--- Adapter cette valeur on_timer 20,go end rem ============================================================================ Go: Trace() return rem ============================================================================ SUB Trace() color 10,0,0,0 if k = n for i = 0 to 6 x(i) = tx(n,i) : y(i) = ty(n,i) ux(i) = tx(n,i) : uy(i) = ty(n,i) next i for i = 0 to 6 dx(i) = (tx(n+1,i) - tx(n,i)) / pas dy(i) = (ty(n+1,i) - ty(n,i)) / pas next i k = k + 1 : j = 0 end_if for i = 0 to 6 ux(i) = x(i) + int(dx(i)*j) uy(i) = y(i) + int(dy(i)*j) next i for i = 0 to 5 2d_line 2*ux(i),200-2*uy(i),2*ux(i+1),200-2*uy(i+1) next i j = j + 1 if j = pas+1 then n = n+1 if n = 10 then n = 0 : k = 0 : j = 0 END_SUB rem ============================================================================
| |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Morphing Ven 19 Juil 2019 - 9:03 | |
| Bonjour à tous, @Papydall, On se demande, où tu vas chercher des idées comme celle-ci Bravo ! A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Morphing Ven 19 Juil 2019 - 9:13 | |
| J'opine ! bravo papydall ! ça donne l'idée d'une pendule numérique très originale ! | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 19 Juil 2019 - 12:30 | |
| | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Morphing Ven 19 Juil 2019 - 14:56 | |
| Hello everybody ! Merci les amis pour vos réactions. En toute sincérité je n’invente rien, mais je fais de l’adaptation. J’ai vu ce truc ici. J’ai analysé son code html et j’ai tenté de le panoramiquer. Voyant le résultat (satisfaisant), j’ai posté mon code. Voilà, c’est tout. Maintenant si ça donne d’autres idées à certains, le bal est ouvert. A vos claviers !
Dernière édition par papydall le Ven 19 Juil 2019 - 22:55, édité 1 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Morphing Ven 19 Juil 2019 - 15:27 | |
| Je ne suis pas allé voir l'original, mais c'est une belle adaptation en tout cas ! Ça aurait été bien de paramétrer les dimensions, positions, etc. pour faire des fantaisies, mais bon... | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Morphing Sam 20 Juil 2019 - 17:01 | |
| Pas mal ! Ça peut donner des idées... Merci pour le partage Papydall. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Morphing Sam 20 Juil 2019 - 17:49 | |
| Pardon papydall, ce qui suit est la copie fidèle de ton code, sauf que j'ai remplacé les constantes des DATAs par des variables. Sachant que certaines variables doivent dépendre les unes des autres; Avec l'arrière-pensée d'en modifier certaines pour faire varier par exemple les dimensions de l'image, etc. Mais ce n'est pas évident du tout sans savoir a priori à quoi elles correspondent... - Code:
-
rem ============================================================================ rem Morphing rem ============================================================================ ' Variables globales dim tx(10,6), ty(10,6) dim x(6), y(6), ux(6), uy(6), dx(6), dy(6) dim n,k,i,j,pas DIM vx1,vx2,vx3,vx4,vx5,vx6,vy1,vy2,vy3,vy4 LABEL go ' tx() vx1 = 30: vx2 = 50: vx3 = 60: vx4 = 70: vx5 = 40: vx6 = 80 data vx1,vx4,vx4,vx4,vx1,vx1,vx1 data vx1,vx2,vx2,vx2,vx2,vx2,vx2 data vx1,vx4,vx4,vx1,vx1,vx4,vx4 data vx1,vx4,vx4,vx1,vx4,vx4,vx1 data vx1,vx3,vx3,vx3,vx3,vx4,vx1 data vx4,vx1,vx1,vx4,vx4,vx1,vx4 data vx4,vx1,vx1,vx4,vx4,vx1,vx1 data vx1,vx4,vx3,vx2,vx3,vx5,vx6 data vx1,vx4,vx2,vx4,vx1,vx2,vx1 data vx4,vx1,vx1,vx4,vx4,vx4,vx1 data vx1,vx4,vx4,vx4,vx1,vx1,vx1 ' ty() vy1 = 20: vy2 = 40: vy3 = 50: vy4 = 80 data vy4,vy4,vy3,vy1,vy1,vy3,vy4 data vy3,vy4,vy3,vy1,vy1,vy3,vy4 data vy4,vy4,vy3,vy3,vy1,vy1,vy1 data vy4,vy4,vy3,vy3,vy3,vy1,vy1 data vy2,vy4,vy2,vy1,vy2,vy2,vy2 data vy4,vy4,vy3,vy3,vy1,vy1,vy1 data vy4,vy4,vy3,vy3,vy1,vy1,vy3 data vy4,vy4,vy3,vy1,vy3,vy3,vy3 data vy4,vy4,vy3,vy1,vy1,vy3,vy4 data vy3,vy3,vy4,vy4,vy3,vy1,vy1 data vy4,vy4,vy3,vy1,vy1,vy3,vy4 ' ------------------------------------------------------------------------------ ' Initialisations for n = 0 to 10 for j = 0 to 6 : read tx(n,j) : next j next n ' ------------------------------------------------------------------------------ for n = 0 to 10 for j = 0 to 6 : read ty(n,j): next j next n ' ------------------------------------------------------------------------------ n = 0 : k = 0 : pas = 20 : j = 0 picture 10 : top 10,100 : left 10,150 : width 10,200 : height 10,200 color 10,0,0,0 : 2d_target_is 10 : 2d_pen_width 10 : 2d_pen_color 255,0,0 Caption 0,"Morphing ..." timer 20 : timer_interval 20,60 : ' <--- Adapter cette valeur on_timer 20,go end rem ============================================================================ Go: Trace() return rem ============================================================================ SUB Trace() color 10,0,0,0 if k = n for i = 0 to 6 x(i) = tx(n,i) : y(i) = ty(n,i) ux(i) = tx(n,i) : uy(i) = ty(n,i) next i for i = 0 to 6 dx(i) = (tx(n+1,i) - tx(n,i)) / pas dy(i) = (ty(n+1,i) - ty(n,i)) / pas next i k = k + 1 : j = 0 end_if for i = 0 to 6 ux(i) = x(i) + int(dx(i)*j) uy(i) = y(i) + int(dy(i)*j) next i for i = 0 to 5 2d_line 2*ux(i),200-2*uy(i),2*ux(i+1),200-2*uy(i+1) next i j = j + 1 if j = pas+1 then n = n+1 if n = 10 then n = 0 : k = 0 : j = 0 END_SUB rem ============================================================================ Ça serait bien pour faire un chronomètre, ou un compte à rebours, ou une pendule, ou plein de choses... | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Morphing Sam 20 Juil 2019 - 18:52 | |
| Tu as bien fais JL35. Je me suis donné une poignée de minutes pour comprendre le comment du pourquoi. J’ai modifié le code pour pouvoir modifier la taille (voir la variable z en ligne 48) - Code:
-
rem ============================================================================ rem Morphing_2 rem ============================================================================ ' Variables globales dim tx(10,6), ty(10,6) dim x(6), y(6), ux(6), uy(6), dx(6), dy(6) dim n,k,i,j,pas DIM vx1,vx2,vx3,vx4,vx5,vx6,vy1,vy2,vy3,vy4 dim z,w LABEL go ' tx() vx1 = 30: vx2 = 50: vx3 = 60: vx4 = 70: vx5 = 40: vx6 = 80 data vx1,vx4,vx4,vx4,vx1,vx1,vx1 data vx1,vx2,vx2,vx2,vx2,vx2,vx2 data vx1,vx4,vx4,vx1,vx1,vx4,vx4 data vx1,vx4,vx4,vx1,vx4,vx4,vx1 data vx1,vx3,vx3,vx3,vx3,vx4,vx1 data vx4,vx1,vx1,vx4,vx4,vx1,vx4 data vx4,vx1,vx1,vx4,vx4,vx1,vx1 data vx1,vx4,vx3,vx2,vx3,vx5,vx6 data vx1,vx4,vx2,vx4,vx1,vx2,vx1 data vx4,vx1,vx1,vx4,vx4,vx4,vx1 data vx1,vx4,vx4,vx4,vx1,vx1,vx1 ' ty() vy1 = 20: vy2 = 40: vy3 = 50: vy4 = 80 data vy4,vy4,vy3,vy1,vy1,vy3,vy4 data vy3,vy4,vy3,vy1,vy1,vy3,vy4 data vy4,vy4,vy3,vy3,vy1,vy1,vy1 data vy4,vy4,vy3,vy3,vy3,vy1,vy1 data vy2,vy4,vy2,vy1,vy2,vy2,vy2 data vy4,vy4,vy3,vy3,vy1,vy1,vy1 data vy4,vy4,vy3,vy3,vy1,vy1,vy3 data vy4,vy4,vy3,vy1,vy3,vy3,vy3 data vy4,vy4,vy3,vy1,vy1,vy3,vy4 data vy3,vy3,vy4,vy4,vy3,vy1,vy1 data vy4,vy4,vy3,vy1,vy1,vy3,vy4 ' ------------------------------------------------------------------------------ ' Initialisations for n = 0 to 10 for j = 0 to 6 : read tx(n,j) : next j next n ' ------------------------------------------------------------------------------ for n = 0 to 10 for j = 0 to 6 : read ty(n,j): next j next n ' ------------------------------------------------------------------------------ n = 0 : k = 0 : pas = 20 : j = 0 z = 3.5 : ' <--- zoom à modifier w = width_client(0) : height 0,w : ' form carré picture 10 : full_space 10 color 10,0,0,0 : 2d_target_is 10 : 2d_pen_width 3*z : 2d_pen_color 255,0,0 Caption 0,"Morphing ..." timer 20 : timer_interval 20,60 : ' <--- Adapter cette valeur on_timer 20,go end rem ============================================================================ Go: Trace() return rem ============================================================================ SUB Trace() color 10,0,0,0 if k = n for i = 0 to 6 x(i) = tx(n,i) : y(i) = ty(n,i) ux(i) = tx(n,i) : uy(i) = ty(n,i) next i for i = 0 to 6 dx(i) = (tx(n+1,i) - tx(n,i)) / pas dy(i) = (ty(n+1,i) - ty(n,i)) / pas next i k = k + 1 : j = 0 end_if for i = 0 to 6 ux(i) = x(i) + int(dx(i)*j) : ux(i) = 2*z*ux(i) uy(i) = y(i) + int(dy(i)*j) : uy(i) = 2*z*uy(i) next i for i = 0 to 5 2d_line ux(i),w-uy(i),ux(i+1),w-uy(i+1) next i j = j + 1 if j = pas+1 then n = n+1 if n = 10 then n = 0 : k = 0 : j = 0 END_SUB rem ============================================================================
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Morphing Sam 20 Juil 2019 - 21:25 | |
| Un grand merci mon papydall, là ça devient bien intéressant !
Il fallait quand même savoir où l'appliquer cette fameuse variation de taille ! | |
| | | Contenu sponsorisé
| Sujet: Re: Morphing | |
| |
| | | | Morphing | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |