FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Hier à 23:55

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Une animation

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Une animation   Lun 18 Mai 2015 - 19: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 Very Happy Very Happy Very Happy Very Happy Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
bignono

avatar

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

MessageSujet: Re: Une animation   Lun 18 Mai 2015 - 20: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+ Wink Wink Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Une animation   Lun 18 Mai 2015 - 21: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:
http://panoramic.free-boards.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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Parpaiun

avatar

Nombre de messages : 192
Age : 78
Localisation : HERAULT
Date d'inscription : 15/04/2015

MessageSujet: Une animation   Lun 18 Mai 2015 - 23: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 ! lol! lol! lol!


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Une animation   Lun 18 Mai 2015 - 23: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. Smile
PS en tout cas ton animation est très jolie
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Une animation   

Revenir en haut Aller en bas
 
Une animation
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» stopper l'animation de second niveau
» ANIMATION
» Plusieurs diaporamas dans une animation
» Nouvelle animation .....[résolu merci]
» Projection animation

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: