Autor Tema: Pasar de int a float  (Leído 1445 veces)

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Pasar de int a float
« en: Enero 03, 2014, 11:15:25 pm »
Hola a todos. Tengo un problema importante y no consigo solucionarlo.
Quiero hacer el coseno de un ángulo, pero cos() sólo recibe float y angle es int. ¿Cómo puedo pasar de int a float?
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

MythomizeR

  • Full Member
  • ***
  • Mensajes: 166
  • Karma: 3
    • Zonatube
Re:Pasar de int a float
« Respuesta #1 en: Enero 04, 2014, 01:20:03 am »
Hola,

¿No te deja directamente?
¿Ni siquiera haciéndole un "cast" al dato?, por ejemplo:

cos((float)angulo);

No he visto una función que te convierta directamente, pero supongo que no tengas problema con el casting como te he dicho.

Otra opción:
cos(atof(itoa(angulo)));

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re:Pasar de int a float
« Respuesta #2 en: Enero 04, 2014, 02:45:02 pm »
Vale, al final el problema era que Bennu trabaja con los ángulos en miles de grados (180º=180000) y yo se lo pasaba en grados  ;D
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

laghengar

  • Hero Member
  • *****
  • Mensajes: 642
  • Karma: 8
Re:Pasar de int a float
« Respuesta #3 en: Enero 04, 2014, 11:12:25 pm »
Y los valores que te devuelve son correctos?
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Yawin

  • Hero Member
  • *****
  • Mensajes: 1091
  • Karma: 45
  • La primera persona que ha "demosceneado" en Bennu.
Re:Pasar de int a float
« Respuesta #4 en: Enero 04, 2014, 11:27:03 pm »
Ahora sí xDD Es que, claro, el coseno de 270 es -1 y me daba 0,00000... porque tenía que pasarle 270000 y yo le pasaba 270
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

laghengar

  • Hero Member
  • *****
  • Mensajes: 642
  • Karma: 8
Re:Pasar de int a float
« Respuesta #5 en: Enero 05, 2014, 09:46:25 pm »
ok, yo es que he tenido problemas con cos porque me devolvía valores erroneos, conociendo lo de ponerlo en miligrados. Daré por hecho que no me volverá a pasar. Gracias.
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6422
  • Karma: 166
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re:Pasar de int a float
« Respuesta #6 en: Enero 10, 2014, 08:51:00 pm »
Ojo: en Bennu hay dos módulos de funciones trigonométricas, si no recuerdo mal. Una usaba floats y otra ints, como hemos usado desde tiempos de DIV (mod_mathi y mod_math). Puedes usar una u otra en función de la que cargues ;)
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)