View Full Version : c++ Formula x grandezze fisiche e viceversa
ciao
la formula del moto uniforme è:
S = Vt da cui V =S/t e t = S/V
il quesito principale è sotto
dovrei riuscire a sapere dato un tempo t e sapendo la lunghezza (spazio) del percorso a che velocità andavo e, viceversa conoscendo la lunghezza e la velocità in quanto tempo ho impiegato il percorso.
come alle elementari quello che sò di giusto e tutto mi torna è:
se vado a 500 km in 5h a che velocità andavo?
V=500/5 = 100 km/h
vicevera
se ho percorso 500 km a velocità 100 quanto tempo ho impiegato?
T=500/V = 5h
okay questa è la conferma della formula
ma mi impippo nel calcolare questo (se mi aiutate)
quesito:
ho un circuito lungo 4.182 km e faccio un giro in 1.51 (1 minuto e 51 secondi)
a quanta velocità andavo?
i miei calcoli sono:
V=(4.182 *1000)/((3600*1)+(60*51))
V*=(V*1000)/2
V=252.48 kmh
mi hanno detto che è errato ma non mi hanno detto perchè mi hanno detto che è troppa la velocità.
Secondo voi come si procede per il quesito sopra dei miei calcoli non sono proprio sicuro se sono giusti
ciao
Ziosilvio
12-08-2005, 09:31
quesito:
ho un circuito lungo 4.182 km e faccio un giro in 1.51 (1 minuto e 51 secondi)
a quanta velocità andavo?
i miei calcoli sono:
V=(4.182 *1000)/((3600*1)+(60*51))
V*=(V*1000)/2
V=252.48 kmh
mi hanno detto che è errato ma non mi hanno detto perchè mi hanno detto che è troppa la velocità.
In un'ora ci sono 60 minuti e 3600 secondi, non il contrario.
Se calcoli la velocità in metri al secondo, l'espressione dovrebbe essere:
V = (4.182*1000) / (1*60 + 51)
A questo punto converti in chilometri orari, che corrisponde a moltiplicare per 3.6.
In un'ora ci sono 60 minuti e 3600 secondi, non il contrario.
Se calcoli la velocità in metri al secondo, l'espressione dovrebbe essere:
V = (4.182*1000) / (1*60 + 51)
A questo punto converti in chilometri orari, che corrisponde a moltiplicare per 3.6.
bhè grazie..........
V=(4.182*1000)/(60*1+51)*3.6
135.62
dovrebbe essere corretto ora
invece per il contrario?
intanto ci provo
allora per il contrario cioè trovare il tempo
la formula è:
t=(4182/135.62)*3.6
il risultato è espresso in secondi che è = 111.01 secondi
che corrisponde infatti a 1.51
perfetto!
Fenomeno85
12-08-2005, 10:38
potresti anche fare una cosa migliore visualizzando hh:mm:ss :) dato che nessuno ti dirà 1.51 ore :D
~§~ Sempre E Solo Lei ~§~
grazie anche a te ho dovuto fare ancora meglio ho espresso il tutto in
//Tempo
txtHelper.SetForegroundColor( D3DXCOLOR( 0.0f, 1.0f, 0.0f, 1.0f ) );//Verde
wsprintf(str, L"AI by okay -- Day %d Time %0.2d:%0.2d:%0.2d %0.1d:%0.2d:%0.3d ", dwGiorni, dwOre, dwMinuti, dwSecondi, dwDecimi, dwCentesimi, dwMillesimi);
txtHelper.DrawTextLine(str);
cmq per i tempi sul giro mi hanno passato i dati di Estoril e pare (non sono ferrato in materia di moto) che i tempi sono espressi in min, sec e millesimi tipo:
DATI ESTORIL
NUMERO PILOTI:20
----------
PROVE LIBERE VENERDI MATTINA:
BIAGGI:Compie 11 giri
1- 2.38.374
2- 1.59.337
3- 3.22.592
4- 12.07.445
5- 1.56.488
6- 1.54.388
7- 1.49.548
8- 1.59.736
9- 1.46.482
10- 1.43.714
11- 1.49.287
ho chiesto il perchè di questo dato 12.07.445 e mi hanno detto che è perchè si è fermato ai box per varie cose ecc,ecc.
cmq grazie
ci sentiamo poi
p.s. per convertire da secondi ho fatto così (se può essere utile a qualcuno)
//test secondi
int sec=111;
int m=0;
int s=0;
while(sec>0){
sec-=60;
if(sec>-1){
m++;
s=sec;
}
}
ciao
Fenomeno85
12-08-2005, 11:06
è dura vedere un giro di un ora :D ... cmq per convertire è meglio usare mod fai prima e meno calcoli :) ... - calcoli + ottimizzazione :D
~§~ Sempre E Solo Lei ~§~
è dura vedere un giro di un ora :D ... cmq per convertire è meglio usare mod fai prima e meno calcoli :) ... - calcoli + ottimizzazione :D
~§~ Sempre E Solo Lei ~§~
infatti lo faccio:
//tempo
dwSecondi = (timeGetTime() - m_dwStartT) / 1000; //secondi
if(dwSecondi>0){
dwDecimi = (timeGetTime() - dwSecondi)% 10; //decimi di secondo
dwCentesimi = (timeGetTime() - dwDecimi) % 100; //centesimi di secondo
dwMillesimi = (timeGetTime() - dwCentesimi) % 1000; //millesimi di secondo
}
if (dwMillesimi>=1000)
dwMillesimi=0;
if (dwCentesimi>=100)
dwCentesimi=0;
if (dwDecimi>=10)
dwDecimi=0;
... ma intendi di usarlo anche per la conversione da sec totali a min e secondi invece di usare il cilco while?
Fenomeno85
12-08-2005, 12:44
infatti lo faccio:
//tempo
dwSecondi = (timeGetTime() - m_dwStartT) / 1000; //secondi
if(dwSecondi>0){
dwDecimi = (timeGetTime() - dwSecondi)% 10; //decimi di secondo
dwCentesimi = (timeGetTime() - dwDecimi) % 100; //centesimi di secondo
dwMillesimi = (timeGetTime() - dwCentesimi) % 1000; //millesimi di secondo
}
if (dwMillesimi>=1000)
dwMillesimi=0;
if (dwCentesimi>=100)
dwCentesimi=0;
if (dwDecimi>=10)
dwDecimi=0;
... ma intendi di usarlo anche per la conversione da sec totali a min e secondi invece di usare il cilco while?
si era proprio quello di eliminare il ciclo while :)
~§~ Sempre E Solo Lei ~§~
da quello che ho postato ho tolto decimi e centesimi in quanto con i millesimi si ottiene tutto
un'ultima cosa per questo 3d
conosci o conoscete un sito dove sono documentate queste formule?
che non siano scritte in maniera scientifica ma per esmpio come l'ho scritta io.
per qualsiasi cosa in fisica
per es.: t = S/V
oppure spazio di frenatura
tempo di reazione
gittate proiettili
aderenze ecc,ecc
insomma un sito dove spieghino chiaro queste formule scritte da programmer per sviluppo ecc, ecc
ciao
Fenomeno85
12-08-2005, 13:58
da quello che ho postato ho tolto decimi e centesimi in quanto con i millesimi si ottiene tutto
un'ultima cosa per questo 3d
conosci o conoscete un sito dove sono documentate queste formule?
che non siano scritte in maniera scientifica ma per esmpio come l'ho scritta io.
per qualsiasi cosa in fisica
per es.: t = S/V
oppure spazio di frenatura
tempo di reazione
gittate proiettili
aderenze ecc,ecc
insomma un sito dove spieghino chiaro queste formule scritte da programmer per sviluppo ecc, ecc
ciao
ti devi semplicemente guardare la formula fisica e riscriverla nel linguaggio che vuoi :)
~§~ Sempre E Solo Lei ~§~
un'ultima cosa
adesso parlo di prg
diciamo che il circuito non è in km ma uso dei vertici per la lunghezza mentreil tempo è lo stasso del cronometro.
Ora penso di fare le conversioni.
percorso=4.182
V=(4.182*1000)/(60*1+51)*3.6
devo convertire 4.182 e il 1000 che sono i metri per il mio modello e sistema fisico
dato che nella pista non uso i metri o km ma uso la lunghezza di un Path di vertici.
Insomma il mio circuito è lungo:
float TotPath=0.0f;
for(int i=0; i<NumVertex; i++){
TotPath+=Path[i].Length;
}
TotPath è il totale dei segmenti del circuito
per farti capire è una spline (per le prove che sto facendo è costituita da 13 vertici). Ogni segmento o vettore ha una sua lunghezza. il totale dei 13 segmenti o vettori è TotPath che potrebbe simulare i km totali ma per i metri come faccio?? mi manca la misura dei metri da sapere e poi potrei applicare la formula sopra.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.