Frequence

Signaler
Messages postés
108
Date d'inscription
dimanche 2 mars 2003
Statut
Membre
Dernière intervention
19 juin 2012
-
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
-
bonjour

voila je voudrais faire clignoter un shape avec une frequence allant de 0 a 20000hz reglable avec un track bar quelqu'un aurait t'il un solution merci d'avance

16 réponses

Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Bonjour,
lol deja 0hz = temps nul je croissinon utilise 1 timer (ou un MMTimer, renseigne toi sur le site, car MMTimer est beaucoup plus précis), règle le à la vitesse que tu veux (dans interval) et fais Shape1.Visible :not Shape1.Visible; (cela inversera le status de visibilité de la shape (True> False, False => True).
J'espère avoir répondu à ta question.

Cordialement, Bacterius !
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Ah j'ai oublié la trackbar.
TrackBar1.Max := 20000;
Dans OnChange de la trackbar :
Timer1.Interval := TrackBar1.Position;

Ca doit être un truc dans ce genre non ? ^^
J'espère t'avoir aidé !

Cordialement, Bacterius !
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Ah un dernier truc lol :
si tu règles très bas l'interval du timer, tu pourras noter un scintillement non voulu de ta shape.
Si tu disposes de la propriété DoubleBuffered, affecte la à ta fiche, (eventuellement à ta shape si cette propriété existe dessus j'ai pas vérifié) et tu verras la différence !

Cordialement, Bacterius !
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
Salut,

20 000 Hz ?!
Ce n'est pas possible. En théorie, avec la méthode de Bacterius, tu pourrais aller jusque 1000 Hz (fréquence maxi d'un timer).

Mais en pratique, on n'y arrive jamais.


De toute façon, avec un écran dont la fréquence de rafraîchissement va de 60 à 100 Hz, 'faut pas rêver...
Messages postés
288
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
12 octobre 2011

Bonjour,
20Mhz ? pour que ca clignote vraiment vite suffit de mettre 200ms dans le timer ! et c'est pas comme vous avez dit Bacterius ! ca, ca fera clignoter tous les 20 secondes !
J'espère que je vous ai aidé moi aussi ! ^^

@+
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Bonjour,
@Caribensila : oui en effet je vois mal comment faire clignoter à 20.000 hz, déjà avec les limites du timer, et également avec la fréquence de rafraichissement des moniteurs classiques, j'ai peur que l'on ne puisse même pas percevoir les clignotements ...

@Nethacker : *reflechit* ah oui je me suis emmelé les pinceaux sur les hertz ^^' désolé. Mais je ne sais pas si 200ms dans le timer ca clignote vraiment vite ...
Je crois que notre ami ced55957 a dans la tête de tenter de s'hypnotiser avec un clignotement extremement rapide  !
Enfin j'en sais rien mais ca doit se rapprocher de ça lol ^^

Cordialement, Bacterius !

Salut,

T(millisecondes)=1000 / frequence (En Hertz).

Si fréquence=0 alors T=Infini (Donc désactivation du Timer).

Cari a raison : si fréquence=1000 alors T=1 milliseconde (Interval minimal théorique).
En pratique on peut pas aller en dessous de 10 milliseconde donc une fréquence de 100Hz.

Tu vas devoir utiliser un Timer plus précis. Cari a raison aussi sur la fréquence d'un écran.

Je ne pense pas que tu puisses arriver à un résultat visible.
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
clignoter a 20Khz est impossible.

au mieux tu pourras le faire clignoter au maximum de 1 a 40 fois par secondes c'est la, la limite de la GDI.
en 3D avec OpenGL ou DirectX, ce sera difficile de faire mieux car les ecart de performances entre les cartes graphique ne pourrait donner un resultat fiable, même si en theorie on pourrait monter de 1 a 800-900 FPS mais encore une fois, ce n'est pas fiable car si on active la VSync on descend entre 60 a 120 FPS.

même avec un timer reglé a 1ms donc, difficile de rendre un clignotement probable de 500 blink/s
avec ce code :

Shape.Visible := not Shape.Visible;

surtout que passé 50-60Hz (ou 50-60 FPS) l'oeuil humain est incapable de discerner le moindre clignotement et vois donc une image totalement figée (phenomene qui commence a 20 FPS).

<hr size="2" width="100%" />

On peut être rappeler que l'oeil voit 24 images par seconde soit 1000/24=41,7 milli secondes. Autrement dit en dessous d'un interval de 42millisecondes, l'oeil ne pourra plus distinguer les clignotements.
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Eh oui nous avons déjà atteint les limites du hardware ...
De toute façon j'ai essayé rapidement de coder un prog qui fait clignoter une shape ... avec un timer ... même à 25 ms la shape arrive pas a se redessiner avant que le timer ne relance, donc scintillement (même avec doublebuffered) ... enfin vous me direz avec mon 1.5 GHz lol.

Cordialement, Bacterius !
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
en fait, pour l'obtention d'un mouvement fluide 12 FPS est la limite minimum en image par saccade. on peu aller plus bas vers 8 FPS mais il faut jouer avec le fade entre les images.

en fait 24 est "la limite confortable" qui joue en même temps sur la persistence retinienne et l'effet de "fade" d'une image a l'autre. On vois tout de suite les films par exemple tourné a 23 FPS (ce qui donne un effet "glow" aux series americaine), ou a 30 FPS (utilisé sur pas mal d'emission francaise et qui donne une sorte de dynamisme a l'image (voir l'emission "taratata", ou certain concerts filmés pour l'occasion a 30FPS par exemple)).
On vois egalement les degats qu'occasionne les transferts FPS sur les films quand on change le FPS d'un encodage a un autre (passer de 23 a 25 ou de 30 a 24)... l'image devient baveuse et des saccades peuvent survenir, clairement visible.

En ce concentrant l'oeuil humain est capable de discerner un clignotement jusqu'a prés de 60Hz c'est le cas par exemple des Hardcore gamers FPS, ou de divers professionels de l'image et du cinema, des chasseurs "tribal" ou maitre en arts martiaux. mais même sans aller aussi loin, il suffit de passer un ecran 17" CRT en 1024x768 a 60Hz vous pourrez voir clairement l'image clignoter.
C'est d'ailleur pour cela qu'on utilise plutot du 85Hz a 120Hz sur les ecrans CRT.
Sous adrenaline on peu même pousser la limite de discernement a un peu plus de 60Hz puisque l'adrenaline "accelere" legerement notre perception de l'environement, ce qui nous permet de capter des tonnes de details lors d'un brutal accident. A l'inverse, la fatigue, entraine une diminution de l'attention et par la même occasion une baisse de la perception du mouvement, ce qui provoque beaucoup d'accidents d'ailleur.

C'est aussi pour cela que notre courant electrique est a 50-60Hz, non seulement pour des raisons physique de distribution de l'elecricitée, mais egalement parce que bon nombre d'entre nous sont capable de discerner les scintillement, clignotement même quand ceci s'effectue a des valeurs aussi haute que 60Hz ... et même si on ne le "vois" pas, ce clignotement et tout de même perçus et nous inflige un bon gros mal de crane si on le regarde trop longtemps, c'est pourquoi on mets des tube neons ou des halogenes dans les bureaux plutot que les bonnes vieilles ampoules d'edison, car les tubes neons ou halogenes ont ne scintillent pas mais ils "pulsent" ce qui est moins désagréable pour la vue (tout comme les Led et les ecran LCD).
Et c'est aussi pour cela qu'il faut toujours avoir un eclairage indirect quand on regarde la télé (cad avoir une lampe dans le dos), afin d'interferer avec les clignotements de l'image de la télé et ne pas avoir mal a la tête au bout d'une heure (surtout quand on est fatigué).
C'est aussi la raison pour laquelle il faut choisir des eclairages approprié selon la piece et l'activité qu'on y fait (lecture, télé, ecriture, informatique, travail de precision, bricolage etc).

<hr size="2" width="100%" />
Messages postés
3792
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Bonjour,
eh bien f0xi on voit tout de suite le connaisseur ! lol
tu m'apprends un truc : les films tournés à 23 ou 30 fps.
Mais je trouve que les films que tu dis tournés à 30 fps (taratata ...) sont un peu mous lol :

"ou a 30 FPS (utilisé sur pas mal d'emission francaise et qui donne une sorte de dynamisme a l'image ... "

"Et c'est aussi pour cela qu'il faut toujours avoir un eclairage indirect quand on regarde la télé (cad avoir une lampe dans le dos), afin d'interferer avec les clignotements de l'image de la télé et ne pas avoir mal a la tête au bout d'une heure (surtout quand on est fatigué)."
Je ne savais pas non plus. Mais...euh... le cinéma alors c'est un nid à migraines, on a juste le projecteur comme lampe dans le dos, et si on le regarde on se crame les yeux.
Lol d'un côté mal de tête, de l'autre plus de rétine ... au choix !

"Sous adrenaline on peu même pousser la limite de discernement a un peu plus de 60Hz puisque l'adrenaline "accelere" legerement notre perception de l'environement, ce qui nous permet de capter des tonnes de details lors d'un brutal accident."

Je ne pense pas que notre ami ced55957 veuille s'injecter de l'adrenaline juste pour regarder une shape clignoter rapidement (oui on s'eloigne du sujet petit à petit !). D'ailleurs il paraît qu'une injection provoquée d'adrenaline provoque des degâts sur le coeur, car ce n'est pas l'organisme qui le produit, et ne réagit pas de la même façon (le coeur peut même s'arrêter car il est surpris d'accélerer).


 


Enfin je conseille à toutes les personnes de lire attentivement le post de f0xi, il est interessant et plein de bonnes informations !






Cordialement, Bacterius !



PS : la signature me fait souvent beuger, je ne sais pas pour vous ...

Oh perso quand je vais au cinéma, je suis occupé à autre chose : si ma rétine en prend un coup c'est plus à cause de la demoiselle qui m'accompagne .
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
@Bacterius :
"Mais...euh... le cinéma alors c'est un nid à migraines, on a juste le projecteur comme lampe dans le dos"

ce n'est pas pareil, le cinema profite de l'effet de persistence retinienne, et la lumiere reflétée sur l'ecran est indirecte, de plus, même si la salle est trés sombre, le fait du grand ecran, de l'eclairage du projecteur et les quelques lumieres douce parsemé ci et la dans la salle font que nous n'avons pas mal au crane, contrairement avec un ecran de télé qui nous bombarde de lumiere ~50 fois par secondes, d'ou le fait de mettre une lampe derriere (qui elle clignote ou pulse aussi environ 50 fois par secondes) ...
tout est question d'equilibre et de direction.

D'ailleur le clignotement repetitif (effet stroboscopique) est une veritable nuisance qui est amplifié par divers facteur comme la fatigue, les problemes de vue (myopie, presbitie, strabisme), l'alcool, la drogue, les problemes d'oreille interne et d'autres pathologies (epileptie, trouble mentaux, stress etc), il provoque :

- somnolence

- désagrement visuel
- transe
- acceleration du rythme cardiaque

- stress
- nervosité
- maux de tête

- crise de nerf

- trouble de l'equilibre
- vomissement
- perte de conscience
- crise d'epilepsie

et on les rencontre dans pas mal d'endroit (la plupart cité sont frequent en boite par exemple) :

dans le salon avec la télé, dans certain jeux videos (FPS, ou simulation de voiture/d'avion), sur la route de nuit avec les bandes blanches discontinue, dans les boites de nuits avec les jeux de lumieres (le pire etant le stroboscope lui même!), etc etc.

Le fait est que l'humain, comme la plupart des animaux est attiré par la lumiere. son regard vas donc generalement etre attiré par une chose lumineusement fixe. mais l'humain tout comme la plupart des animaux est une proie! donc il vas non seulement etre attiré par une lumiere mais encore plus par un signal lumineux qui est un signe de danger (yeux de predateur refletant la lumiere, feux, orage, vent violent cachant par intermitance la lune ou le soleil etc).
Bref, ce n'est pas pour rien que les warnings, les clignotants, le feu orange, les girophares de police ou d'ambulance, les alertes visuelle etc, sont toute des lumieres clignotante et non des lumieres fixe.

<hr size="2" width="100%" />
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
f0xi a tout à fait raison. 
Notre cerveau est très sensible aux effets stroboscopiques. Pour preuve, les crises d'épilepsie fréquemment déclenchées lorsqu'un conducteur roule sur une route bordée d'arbres et avec un soleil latéral assez bas sur l'horizon. D'ailleurs, même pour les sujets non-épileptiques, cette situation est très inconfortable.
Il semblerait que cela provoque des interférences dans les ondes alpha qui parcourent notre cortex cérébral.

Donc, ced55957, fais quand même gaffe avec tes shapes clignotantes !  lol
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
4
@F0xi, les lampes à incandescence ne scintillent pas ! L'inertie thermique fait que leur émission lumineuse est stable, au contraires des tubes et lampes à décharge, ce dont se plaignait Bjorn Borg quand il jouait en intérieur (et pi ça vous fait des yeux tout bizarres ).

Ken@vo




<hr size="2" width="100%" />



Code, Code, Codec !