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 |
|
|
| Une animation | |
| | Auteur | Message |
---|
Parpaiun
Nombre de messages : 192 Age : 85 Localisation : HERAULT Date d'inscription : 15/04/2015
| Sujet: Une animation Lun 18 Mai 2015 - 18:27 | |
| Voici une animation qui pose problème. Ça provient de l'effet de flickering sur la moitié haute de l'image. Avez vous une solution pour éviter ça ? - Code:
-
CAPTION 0,"LA VIS D'ARCHIMEDE" REM ========================================================================= REM Auteur: Parpaiun REM Date-version: 14/05/2015 REM ========================================================================= ' Pour arrêter, appuyez sur "Escape" ou "Echap"
height 0,600 dim f,i%,j,k,ni%,r$,x,xc,y,ym ni% = 10 :' Nombre d'images pour l'animation xc = 290 :' Position en x de l'axe de rotation de la vis ym = 520 :' Hauteur de la vis f=0.1 :' Facteur d'agrandissement/réduction de l'image k=1 :' angle de rotation sinusoidale ' REPEAT
for i%=1 to ni% for y=ym to 0 step -1 x = xc + 120 *sin(y*f+k) if y=ym 2d_poly_from x,y else 2d_poly_to x,y END_IF if mod(y,2) = 0 then 2d_line xc,y+10,x,y next y k = k + 0.56 wait 5:display cls next i%
UNTIL scancode = 27
TERMINATE END Voilà autre chose: je ne sais pas comment animer la vis inclinée à 45 degrés. Connaissez vous une solution mathématique ? Si oui, montrez moi votre programme s'il vous plaît . Ce serai très chic de votre part ! Merci d'avance ! de parpaiun | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Une animation Lun 18 Mai 2015 - 19:59 | |
| Bonsoir Parpaiun Insère ceci juste avant REPEAT: - Code:
-
picture 1:full_space 1:2d_target_is 1
et met wait 50 au lieu de 5, et ça améliorera grandement l'affichage de ton animation. A+ | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Une animation Lun 18 Mai 2015 - 20:53 | |
| Ou sinon lit bien les posts, nous avons eu une astuce il y a quelques jours Je rajoute le lien vers le post de Silverman pour donner plus d'infos et les exemples qu'il a fournit: https://panoramic.1fr1.net/t4181-double-buffer-pour-picture - Code:
-
CAPTION 0,"LA VIS D'ARCHIMEDE" REM ========================================================================= REM Auteur: Parpaiun REM Date-version: 14/05/2015 REM ========================================================================= ' Pour arrêter, appuyez sur "Escape" ou "Echap"
height 0,600 dim f,i%,j,k,ni%,r$,x,xc,y,ym
ni% = 10 :' Nombre d'images pour l'animation xc = 290 :' Position en x de l'axe de rotation de la vis ym = 520 :' Hauteur de la vis f=0.1 :' Facteur d'agrandissement/réduction de l'image k=1 :' angle de rotation sinusoidale
' le picture dans lequel on va animer le dessin picture 2 : left 2,1 : top 2,1 : width 2,600 : height 2,600
' le double_buffer n'est pas directement cliquable, alors on le clone dans ' un picture à qui on affecte l'évènement clic CLONE_PICTURE(3,2)
' on associe le double_buffer avec le picture qui va être dessiné, ici le picture n°2 INIT_DOUBLE_BUFFER(2)
' dirige les opérations de dessin dans le picture qui va être dessiné 2d_target_is 2
' la boucle d'affichage hide 3 : show 2
REPEAT
for i%=1 to ni% cls for y=ym to 0 step -1 x = xc + 120 *sin(y*f+k) if y=ym 2d_poly_from x,y else 2d_poly_to x,y END_IF if mod(y,2) = 0 then 2d_line xc,y+10,x,y next y k = k + 0.56 wait 5:display next i% DOUBLE_BUFFER(2,0) :' affiche le dessin UNTIL scancode = 27 DELETE_DOUBLE_BUFFER(2,0) TERMINATE
' ' Les routines ' sub DOUBLE_BUFFER(picture_source , form_cible) 2d_image_copy picture_source+5000,0,0,width(picture_source),height(picture_source) 2d_target_is form_cible 2d_image_paste picture_source+5000,left(picture_source),top(picture_source) ' 2d_target_is picture_source end_sub
sub INIT_DOUBLE_BUFFER(picture_source) hide picture_source image picture_source+5000 end_sub
sub CLONE_PICTURE(nouveau_picture,picture_source) picture nouveau_picture top nouveau_picture,top(picture_source) left nouveau_picture,left(picture_source) width nouveau_picture,width(picture_source) height nouveau_picture,height(picture_source) end_sub
sub DELETE_DOUBLE_BUFFER(picture_source , form_cible) 2d_target_is form_cible delete picture_source delete picture_source+5000 end_sub | |
| | | Parpaiun
Nombre de messages : 192 Age : 85 Localisation : HERAULT Date d'inscription : 15/04/2015
| Sujet: Une animation Lun 18 Mai 2015 - 22:00 | |
| Merci Bignono pour cet ajout de ligne. Au lancement, c'est bien que l'effet de flickering aie disparu mais il reste un clignotement cyclique d'image ! Quant à toi Jicehel, je ne connaissais pas l'existence de ce double buffering dans Panoramic, ce qui rétablit grandement la régularité du mouvement. Un grand merci pour ce renseignement de 1ère classe ! Je vais de ce pas me brancher vers le fichier de silverman pour mieux éclairer ma lanterne ! Vous deux avez pu constater que la position verticale de la vis d'Archimède est anormale. Pourquoi ? Eh bien tout simplement parce que le moindre objet qui serait emporté par la première hélice en rotation glisserait et retomberait aussitôt du fait de son poids et donc ne serait jamais entraîné ! Eurêka, dirait notre bon vieil Archimède ! Quel autre panoramicien m'aiderait à régler mathématiquement le problème de l'inclinaison à 45 degrés ou même à 0 (zéro) degré de la vis d'Archimède animée pour faire plus vrai comme dans la réalité ? Merci les amis ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Une animation Lun 18 Mai 2015 - 22:11 | |
| Moi, je peux voir pour les astuces, mais pour les maths, je passe le flambeau à Silverman, Papydall, Jean Debord ou autre... C'est ça qui est bien sur un forum. Chacun a ses forces et ses faiblesses et tout le monde à l'occasion d'aider à un moment ou un autre. PS en tout cas ton animation est très jolie | |
| | | Contenu sponsorisé
| Sujet: Re: Une animation | |
| |
| | | | Une animation | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |