Anuncios Google

Programar en lua (Parte 11º) Funciones matematicas.

Hoy aprenderemos funciones matematicas BASICAS, es decir lo simple.

estas funciones no son de suma y resta o multiplicacion y division, sino de redondeos, valores absolutos, etc.

Os pongo todo lo que es necesario:

math.abs (x)
 
Devuelve el valor absoluto de x.
 
math.acos (x)
 
Devuelve el arco coseno de x (en radianes).
 
math.asin (x)
 
Devuelve el arco seno de x (en radianes).
 
math.atan (x)
 
Devuelve el arco tangente de x (en radianes).
 
math.atan2 (y, x)
 
Devuelve el arco tangente de y/x (en radianes), pero usa los signos de ambos argumentos para determinar el cuadrante del resultado. (También maneja correctamente el caso en que x es cero.)
 
math.ceil (x)
 
Devuelve el menor entero mayor o igual que x.
 
math.cos (x)
 
Devuelve el coseno de x (se asume que está en radianes).
 
math.cosh (x)
 
Devuelve el coseno hiperbólico de x.
 
math.deg (x)
 
Devuelve en grados sexagesimales el valor de x (dado en radianes).
 
math.exp (x)
 
Devuelve el valor de ex.
 
math.floor (x)
 
Devuelve el mayor entero menor o igual que x.
 
math.fmod (x, y)
 
Devuelve el resto de la división de x por y.
 
math.frexp (x)
 
Devuelve m y e tales que x = m 2e, e es un entero y el valor absoluto de m está en el intervalo [0.5, 1) (o cero cuando x es cero).
 
math.huge
 
El valor HUGE_VAL, un valor más grande o igual que otro valor numérico cualquiera.
 
math.ldexp (m, e)
 
Devuelve m 2e (e debe ser un entero).
 
math.log (x)
 
Devuelve el logaritmo natural de x.
 
math.log10 (x)
 
Devuelve el logaritmo decimal (base 10) de x.
 
math.max (x, ···)
 
Devuelve el mayor valor de entre sus argumentos.
 
math.min (x, ···)
 
Devuelve el menor valor de entre sus argumentos.
 
math.modf (x)
 
Devuelve dos números, las partes entera y fraccional de x .
 
math.pi
 
El valor de pi.
 
math.pow (x, y)
 
Devuelve xy. (Se puede también usar la expresión x^y para calcular este valor.)
 
math.rad (x)
 
Devuelve en radianes el valor del ángulo x (dado en grados sexagesimales).
 
math.random ([m [, n]])
 
Esta función es un interface a rand, generador simple de números pseudo-aleatorios proporcionado por el ANSI C. (Sin garantías de sus propiedades estadísticas.)
 
Cuando se invoca sin argumentos devuelve un número pseudoaleatorio real uniforme en el rango [0,1). Cuando se invoca con un número entero m, math.random devuelve un número pseudoaleatorio entero uniforme en el rango [1, m]. Cuando se invoca con dos argumentos m y n enteros, math.random devuelve un número pseudoaleatorio entero uniforme en el rango [m, n].
 
math.randomseed (x)
 
Establece x como "semilla" para el generador de números pseudoaleatorios: iguales semillas producen iguales secuencias de números.
 
math.sin (x)
 
Devuelve el seno de x (se asume que está en radianes).
 
math.sinh (x)
 
Devuelve el seno hiperbólico de x.
 
math.sqrt (x)
 
Devuelve la raiz cuadrada de x. (Se puede usar también la expresión x^0.5 para calcular este valor.)
 
math.tan (x)
 
Devuelve la tangente de x (se asume que está en radianes).
 
math.tanh (x)
 
Devuelve la tangente hiperbólica de x. 


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

ayuda

un saludo a todos.

existe en lua una función para el redondeo a x cifras decimales? Algo asi como la función ROUND en otros lenguajes. Ej: Round (34.3456, 2) para redonder a 2 decimales. Aca veo ceil y floor pero no algo similar a mi necesidad.

 

Muchas gracias

Obtener el resto de una división

Me gustaría saber como puedo obtener el resto de una división en lua. Lo pregunto porque necesito saber si el resultado es 0, o sea, multiplo de ese número.

Imagen de Dioni0396

no existe, en este lua

por desgracia SI existe pero tengo la solucion, te dejo una operacion donde se divide 46 entre 5 y sale el resto, que en este caso seria 1. El codigo lo puedes usar para lo que quieras

a = 46
b = 5
c = ( a - ((a/b) * b))

Matematica pura.

PD: aqui te dejo la funcion basica, mas sencillo que lo otro:

math.fmod (x, y)
 
Devuelve el resto de la división de x por y. 

Las matematicas no son lo mio

Como habias puesto solo las 7 funciones de arriba, creia que eso era todo. El math.fmod es lo que necesitaba.

Imagen de Dioni0396

voy a actualizar el post, asi quedara mas completo

y todos podran ver ls funciones math.

Ahora si que hay donde elegir :)

Y ya puestos, con screen.print puedes cambiar el color del texto con el último parametro, pero se puede cambiar con alguna otra función el color del fondo de las pantallas, o solo se pueden poner "imagenes"?

 

Imagen de Dioni0396

Deberias crear un post explicando un poco

mas detalladamente sobre esto, porque no he entendido la pregunta.

Imagen de Draco el dragon

Creo que se refiere a que

Creo que se refiere a cuando no hay ningun bg mostrado en pantalla, lo "negro" que se muestra (que en realidad no es nada, simplemente no existe ningun bg) se pueda cambiar a otro color. Yo no se nada de Lua, por lo que no puedo dar una respuesta a la pregunta.

Exacto

A eso me refiero Draco. Si se puede cambiar ese "negro" por otro color, seria mas rápido que cargar un fondo y consumiria menos recursos.

Como ya comenté, yo nunca he programado para la DS, pero si que he programado algo en otros lenguajes y estas preguntas que hago son "estandar" en la mayoria, y lo que intento es adaptarme a lua con mis anteriores "experiencias". Y la impresión que me da es que es sencillo de aprender pero algo limitado (hablo solo con el poco tiempo que llevo usandolo)

Pero quiero seguir aprendiendolo (si no os cansais mucho de mis dudas) :D

Imagen de Dioni0396

Hum.....

No existe funcion que haga eso que dices, esa funcion solo la tiene lua de PSP, quiza algun dia NDS, pero de momento solo PSP, pero se puede hacer otra cosa, cargar un fondo de color, es decir te voy a dar una funcion  y lo unico que debes hacer es cargar el color y la pantalla, la funcion es sencillisima.

screen.drawFillRect(Pantalla,0,0,256,192,Color)

Lo que hace es crear un rectangulo del color que le digas. El rectangulo ocupa toda la pantalla.

Si encuentro algo te lo digo, pero de momento solo sugiero eso.

Gracias, por ahora usaré esto

Gracias, por ahora usaré esto que siempre será mejor que cargar toda una imagen.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.