Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
967 connectés 

  FORUM HardWare.fr
  Programmation
  C

  relation entre kilométrage et vitesse instanée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

relation entre kilométrage et vitesse instanée

n°1339774
dRfELL
I want to believe.
Posté le 05-04-2006 à 16:00:30  profilanswer
 

Voila je suis en train de faire mon projet qui consiste à simuler un ordinateur de bord et il faut donc que je calculer le kilométrage parcouru.
J'ai donc la vitesse instanée qui est choisie par l'utilisateur...
il faut que j'affiche donc le kilométrage qui augmente en fonction de la vitesse...
je ne vois pas comment faire du tout :/


Message édité par dRfELL le 05-04-2006 à 16:05:59
mood
Publicité
Posté le 05-04-2006 à 16:00:30  profilanswer
 

n°1339779
_darkalt3_
Proctopathe
Posté le 05-04-2006 à 16:03:13  profilanswer
 

Citation :

je ne vois pas comment faire du bloque


 
avec une usine à blocs !
http://www.lft.mg/matieres/svt/carri%E8re_marbre2.jpg
 
Sinon ton message n'est pas du tout clair. SI t'as la vitesse, tu peux compter le temps qui s'écoule et donc calculer une distance parcourue ?

n°1339781
dRfELL
I want to believe.
Posté le 05-04-2006 à 16:04:19  profilanswer
 

MDR,
je sais pas pourquoi j'ai écris ca ! c'était ce que je pensais...
ca m'arrive des fois, enfin, je corrige :D

n°1339782
dRfELL
I want to believe.
Posté le 05-04-2006 à 16:04:59  profilanswer
 

ben en fait j'ia la vitesse instanée, le temps qui s'écoule je peux le récupérer  avec clock() ... mais je sais pas comment allier tout ca
 
vu que le programme fonctionne en continu, je ne vois pas trop comment gérer ca, ca monte toujours, la vitesse peut toujours varier...
 
je pense que tu as l'idée d'utiliser la vitesse moyenne et le temps total... mais ca ne marche pas ici, ou alors je vois pas comment faire vu que le kilométrage affiché augmenter plus ou moins vite selon la vitesse instanée


Message édité par dRfELL le 05-04-2006 à 16:08:05
n°1339791
franceso
Posté le 05-04-2006 à 16:07:55  profilanswer
 

distance = :int: vitesse dt
 
 
le plus simple est de réveiller ton programme régulièrement (avec une fréquence assez élevée) et de rajouter au kilométrage déjà existant le produit :
[vitesse_instantanée] x [temps_écoulé_depuis_la_dernière_fois]


Message édité par franceso le 05-04-2006 à 16:08:57

---------------
TriScale innov
n°1339794
dRfELL
I want to believe.
Posté le 05-04-2006 à 16:08:46  profilanswer
 

j'y ai pensé ca, mais je ne sais pas comment faire :/

n°1339797
franceso
Posté le 05-04-2006 à 16:09:48  profilanswer
 

tu sais pas comment faire quoi ? c'est le réveil de ton programme à intervalles de temps réguliers qui te pose problème ?


---------------
TriScale innov
n°1339800
dRfELL
I want to believe.
Posté le 05-04-2006 à 16:11:38  profilanswer
 

oui c'est ca. c'est la mise a jour constante du kilométrage

n°1339805
franceso
Posté le 05-04-2006 à 16:14:16  profilanswer
 

comment est structuré ton simulateur ?
sur quel OS tu tournes ?
quel type de fréquence de rafraichissement veux-tu obtenir ? (attention, plus les accélérations sont élevées, plus tu vas être obligé de rafraîchir souvent)


---------------
TriScale innov
n°1339812
dRfELL
I want to believe.
Posté le 05-04-2006 à 16:18:13  profilanswer
 

oui je vais m'expliquer :
 
On fait sous Visual C... et WinXP
j'ai donc pleins de fonctions : vitesse instanée, kilométrage total, etc...
 
La fonction main sera donc une seule boucle qui récupère l'appui d'une touche (tout se controle a l'aide de qq touches du clavier)
 
Donc la fréquence de raffraichissement je ne sais pas trop : on règle la vitesse de 5 en 5 km/h...

mood
Publicité
Posté le 05-04-2006 à 16:18:13  profilanswer
 

n°1339837
franceso
Posté le 05-04-2006 à 16:28:14  profilanswer
 

Citation :

on règle la vitesse de 5 en 5 km/h...

et tu considères que dès que l'utilisateur appuie sur la touche en question la vitesse augmente instantanément de 5km/h et reste constante jusqu'à l'action suivante de l'utilisateur ?
 
C'est une mauvaise approximation, mais ça simplifie grandement ton problème : dans ce cas, il suffit que tu incrémentes ton compteur kilométrique sur la base de l'ancienne vitesse juste avant de la modifier suite à une action de l'utilisateur. Tu n'as plus besoin de réveiller ton processus à intervalles réguliers.

Message cité 1 fois
Message édité par franceso le 05-04-2006 à 16:28:27

---------------
TriScale innov
n°1339845
dRfELL
I want to believe.
Posté le 05-04-2006 à 16:33:09  profilanswer
 

franceso a écrit :

Citation :

on règle la vitesse de 5 en 5 km/h...

et tu considères que dès que l'utilisateur appuie sur la touche en question la vitesse augmente instantanément de 5km/h et reste constante jusqu'à l'action suivante de l'utilisateur ?

C'est une mauvaise approximation, mais ça simplifie grandement ton problème : dans ce cas, il suffit que tu incrémentes ton compteur kilométrique sur la base de l'ancienne vitesse juste avant de la modifier suite à une action de l'utilisateur. Tu n'as plus besoin de réveiller ton processus à intervalles réguliers.


 
c'est tout a faire ca :)
 
mais je ne vois toujours pas comment faire, on peut travailler avec la variation ou non de la vitesse peut etre ?
il faut trouver le temps qu'il reste à telle ou telle vitesse


Message édité par dRfELL le 05-04-2006 à 16:34:01
n°1339858
franceso
Posté le 05-04-2006 à 16:42:52  profilanswer
 

je ne vois pas où est le problème : dès que l'utilisateur appuie sur une touche pour effectuer une action (quelle qu'elle soit), on met à jour le kilométrage et on effectue l'action demandée.
 
en pseudocode, ca donne un truc du genre :
 

// initialisation
last_km_update = clock()
 
// boucle principale
while ...
 
  // attente d'une action de l'utilisateur
  command = user_action()
 
  // mis à jour du kilométrage
  now = clock()
  km += vitesse * (now-last_km_update)
  last_km_update = now
 
  // traitement de la commande de l'utilisateur
  switch( command )
    case 'accel' : vitesse++
    case 'brake' : vitesse--
    case ...
  end switch
end while


 
tu saisis le principe ?


---------------
TriScale innov
n°1339860
franceso
Posté le 05-04-2006 à 16:44:34  profilanswer
 

Citation :

il faut trouver le temps qu'il reste à telle ou telle vitesse

vu que la vitesse ne change que quand l'utilisateur appuie sur la touche 'accélérer' ou 'freiner', tu sais bien depuis combien de temps il est à la vitesse actuelle...


---------------
TriScale innov
n°1339865
dRfELL
I want to believe.
Posté le 05-04-2006 à 16:46:17  profilanswer
 

ahhh mais oui, je n'avais pas pensé à faire ca comme ca...
bon je vais essayer de mettre ca en plus,  
je vais bientot en cours, donc je sais pas si je peux le faire de suite, mais je poste ca des que j'ai fini ;-)
 
merci encore


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  relation entre kilométrage et vitesse instanée

 

Sujets relatifs
[C++]température, utilisation, vitesse du cpu et gpuProbleme de relation entre tables
Calcul de la vitesse d'uploadRelation,Fonction et table??
Problème de l'affichage d'images avec Internet base vitessecréer une relation
[HIBERNATE][XDOCLET] Mapping clef composite, table de relationProblème de vitesse d'envoi de données par socket
relation maitre/esclave entre 2 BDD sur MySQL?Régler vitesse gif animée
Plus de sujets relatifs à : relation entre kilométrage et vitesse instanée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR