Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Alfonsos1 en Mayo 16, 2010, 07:27:47 PM

Título: Si eres bueno en matematicas ayudame!!!
Publicado por: Alfonsos1 en Mayo 16, 2010, 07:27:47 PM
Para el juego que estoy haciendo presiso utilizar una funcion (matematica) pero no logro encontrarla.

Por funcion me refiero por ejemplo a:

f(x) = 2*x+3

otro ejemplo:

f(x) = 2*x^2+0.5*x+23

--------

La funcion que presiso requiere de las siguientes caracteristicas:
la funcion siempre deve ser cresiente
f(0) = 0
f(180) = 180
f(90) = 105 0 aproximado
La pendiente en el punto x=0 tiene que ser 0
La pendiente en el punto x=180 tiene que ser 0
La pendiente en el punto x=90 tiene que ser de 2 o 3 aproximadamente
La concabidad desde x=0 asta x=90 tiene que ser positiva
La concabidad desde 90 asta 180 tiene que ser negativa

LES DEJO UNA IMAGEN ADJUNTA PARA QUE LES QUEDE MAS CLARO
Título: Re: Si eres bueno en matematicas ayudame!!!
Publicado por: soccer2008 en Mayo 17, 2010, 02:19:27 PM
Hazlo con un for si es q quieres hacerlo de forma creciente XD XD XD
Título: Re: Si eres bueno en matematicas ayudame!!!
Publicado por: knd144 en Mayo 17, 2010, 04:30:29 PM
Es que en verdad esto est? tremendo, no es una funci?n sim?trica  :'(

le he intentado pero esta canijo esto  ???
Título: Re: Si eres bueno en matematicas ayudame!!!
Publicado por: SP_Christian en Mayo 17, 2010, 04:38:30 PM
La interpolacion no es una cosa que todo el mundo sepa hacer...
Mejor dinos para que requieres tal funcion a ver si se puede ayudar de alguna otra forma : /
Título: Re: Si eres bueno en matematicas ayudame!!!
Publicado por: Alfonsos1 en Mayo 17, 2010, 06:36:29 PM
CitarMejor dinos para que requieres tal funcion a ver si se puede ayudar de alguna otra forma

Me dificil esplicar para que es, pero tiene que ver con la direccion a la que se tiene que mover una nave para entrar dentro de su respectiva nave padre.

De momento me las estoy arreglando con 2 funciones distintas, 1 para cuando x es menor a 90 y otra cuando x es mayor a 90

if(x<90)
{
y = (x+x*x/540);
}
else
{
y = (5.39835*sqrt(x)+0.59763*x);
}

es lo mas sercono que pude encontrar, mi idea era hacer solo una funcion sin tener que usar el if(x<90) pero es lo que hay  :-[
Título: Re: Si eres bueno en matematicas ayudame!!!
Publicado por: antonio en Mayo 21, 2010, 02:04:53 PM
La grafica que pretendes hacer es muy parecida a un trozo de la funcion
Y=sen(x). Puedes investigar por ahi (recuerda que la el valor que toma la x en la funcion es un angulo y este tendra que ser en radianes).

Título: Re: Si eres bueno en matematicas ayudame!!!
Publicado por: knd144 en Mayo 21, 2010, 05:05:30 PM
De hecho, se parece m?s a la tangente:
y=tan(x)
aun que la pendiente es inversa.

Mira, una aproximaci?n con la f?rmula de la tangente ser?a:

(7.5(tan((x)/60)))+90

Aun que como dije, la pendiente es inversa y la formula inexacta  :-[

espero de algo te sirva  ???