Como calcular la arcotangente
#1

Es para una pijadilla que se me acaba de ocurrir.

He visto que se puede calcular la tangente con Floatattan Floatcos, para el coseno y Floatsin para el seno, pero no sale la arcotangente ni el arcoseno ni el arcocoseno, alguna idea?
Reply
#2

Busca en a_samp.inc
pawn Код:
native Float:asin(Float:value);
native Float:acos(Float:value);
native Float:atan(Float:value);
native Float:atan2(Float:x, Float:y);
Un ejemplo de uso para calcular бngulo entre 2 posiciones en el plano (Autor: Kye).
pawn Код:
stock Float:AngleBetweenPoints(Float:fX1, Float:fY1, Float:fX2, Float:fY2)
{
    new Float:angle = atan2(fY1 - fY2, fX1 - fX2) * 180.0 / 3.14; //arcotangente de la pendiente de la recta convertida a decimales.
        return angle;
}
Reply
#3

Y realmente tiene alguna utilidad?
Reply
#4

Quote:
Originally Posted by SuperMarioRol
Посмотреть сообщение
Y realmente tiene alguna utilidad?
Son funciones trigonomйtricas, y pueden ser muy ъtiles en algunos casos, cuando obtienes la posiciуn enfrente del jugador estбs usando las funciones trigonomйtricas seno y coseno.
Tienen sus usos, quizб estбs scripteando algo y por ejemplo se te ocurre: їCуmo puedo hacer para obtener el бngulo que hay entre el jugador 1 y el 2?
Entonces ahн tendrнas que usar atan2 (corrнjanme si me equivoco).
Reply
#5

Sincronizar animaciones, seguir a un player, etc. Si lo piensas bien puedes obtener buenos resultados.

En el server de mi comunidad tenemos activado el comando "/saludara" que sincroniza ambas animaciones y бngulos entre 2 players.
Reply
#6

Esa ultima me gusta...por ejemplo la animacion del beso...interesante...
Reply
#7

Quote:
Originally Posted by SuperMarioRol
Посмотреть сообщение
Y realmente tiene alguna utilidad?
si, se usan mucho cuando scripteas cosas medio complejas, en las que trabajas con posiciones y necesitas cominar los angulos con puntos en el plano x ejemplo.
su utilidad solo se limita a nuestras ideas.

Quote:
Originally Posted by MrDeath
Посмотреть сообщение
Son funciones trigonomйtricas, y pueden ser muy ъtiles en algunos casos, cuando obtienes la posiciуn enfrente del jugador estбs usando las funciones trigonomйtricas seno y coseno.
Tienen sus usos, quizб estбs scripteando algo y por ejemplo se te ocurre: їCуmo puedo hacer para obtener el бngulo que hay entre el jugador 1 y el 2?
Entonces ahн tendrнas que usar atan2 (corrнjanme si me equivoco).
no te voy a correjir x no te equivocaste
Reply
#8

Quote:
Originally Posted by Wangulen
Посмотреть сообщение
Busca en a_samp.inc
pawn Код:
native Float:asin(Float:value);
native Float:acos(Float:value);
native Float:atan(Float:value);
native Float:atan2(Float:x, Float:y);
Un ejemplo de uso para calcular бngulo entre 2 posiciones en el plano (Autor: Kye).
pawn Код:
stock Float:AngleBetweenPoints(Float:fX1, Float:fY1, Float:fX2, Float:fY2)
{
    new Float:angle = atan2(fY1 - fY2, fX1 - fX2) * 180.0 / 3.14; //arcotangente de la pendiente de la recta convertida a decimales.
        return angle;
}
Muchas gracias, en el samp.inc no se me ocurrio mirar, jajaja, solo mire en la wiki

Quote:
Originally Posted by SuperMarioRol
Посмотреть сообщение
Y realmente tiene alguna utilidad?
Muchнsimas utilidades, por ejemplo es pco util pero bueno, quieres medir la altura de la torre pero solo tienes una cuerda que sabes que mide X metros, pues coges la cuerda y la pones en la punta de la torre un extremo, y luego el otro extremo en el suelo formando un бngulo agudo, pues si sabes que la cuerda mide X y la cuerda mide Y puedes hallar la altura de la torre, es un ejemplo sencillo de aplicaciуn de la trigonometrнa

Quote:
Originally Posted by Wangulen
Посмотреть сообщение
Sincronizar animaciones, seguir a un player, etc. Si lo piensas bien puedes obtener buenos resultados.

En el server de mi comunidad tenemos activado el comando "/saludara" que sincroniza ambas animaciones y бngulos entre 2 players.
Si, pero si no me equivoco hay que trabajar con vectores cosa que no es nada sencilla.. a no ser.. que eso como esta hecho їcon vectores? porque asн una forma "sencilla" que veo es cogiendo el faceangle y representбndolo en polares o cartesianas
Reply
#9

Quote:
Originally Posted by mark.18
Посмотреть сообщение
Si, pero si no me equivoco hay que trabajar con vectores cosa que no es nada sencilla.. a no ser.. que eso como esta hecho їcon vectores? porque asн una forma "sencilla" que veo es cogiendo el faceangle y representбndolo en polares o cartesianas
en realidad no estoy seguro de que funcione xq no lo he probado, pero para sincronisar 2 jugadores, podrias tomar el angulo(donde mira) de uno, y setear el angulo(donde mira) del otro jugador al opuesto del otro, de este modo quedarian enfrentados. y si funciona seria mucho mas rapido q calcular tangentes cosenos o senos, y ni hablar del uso de vectores
Reply
#10

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
en realidad no estoy seguro de que funcione xq no lo he probado, pero para sincronisar 2 jugadores, podrias tomar el angulo(donde mira) de uno, y setear el angulo(donde mira) del otro jugador al opuesto del otro, de este modo quedarian enfrentados. y si funciona seria mucho mas rapido q calcular tangentes cosenos o senos, y ni hablar del uso de vectores
La verdad es que si, jaja me sorprende como aveces vamos a lo dificil jaja
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)