Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: KevinLastra en Agosto 19, 2017, 05:39:40 PM

Título: Problema con Mathf.?
Publicado por: KevinLastra en Agosto 19, 2017, 05:39:40 PM
Muy Buenas, estoy trabajando un poco con el sonido y sus fisicas con esta operacion
 

r = 1;
Pdbm = 43;
PmW = 10^(Pdbm/10) / 1000  //transforma dbm a watts
I = PmW / 4*(PI) * r^2 // calcula la intensidad a la distancia deseada
Pdbm = 10Log( i / 10^-12) //transforma de Watts a dbm

 
Con esto lo paso a Unity
 

float CalcI(int Pdbm, float d){
float PmW = Mathf.Pow(10,( Pdbm / 10)) / 1000;
float I = PmW / 4 * Mathf.PI * Mathf.Pow(d, 2);
float Pdbm_ = Mathf.Log(10*(PmW/Mathf.Pow(10,-12)));
}


Pdbm = 43
d = 1

 
el resultado deberia ser 122.#######
 
pero no me sale el resultado que deberia salir y no se porque, creo que es por lo que es la primera ves que uso Mthf entonses talves no estoy usando los correctos.
 
 
 
Grasias por su atencion
Título: Problema con Mathf.?
Publicado por: lightbug en Agosto 19, 2017, 06:03:04 PM
Hola, me parece que esto lo tenes mal, metes el 10 dentro del logaritmo:
 

float Pdbm_ = Mathf.Log(10*(PmW/Mathf.Pow(10,-12)));

 
 
 

10 log(x) -- distinto a ---    log(10*X) ---> log(10) + log (x)