• 05 Juin 2026, 01:25:00


Auteur Sujet: [Resolu]Calcule Rotation y en fonction d' une position[Par sim]  (Lu 854 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
salut tout le monde comme vous le savez peut être je suis en train de faire un FS missile.


Mais pour y arriver ( enfin pour faire un truc réaliste ) il m' as fallut des calcules assez complexe pour mon niveau scolaire lol, j' ai tout de même réussi à le faire vu mon amour pour les maths lol.


Mais maintenant que mon calcule est réussi (surtout qu' il était base sur de la 2D) je veut passer au même calcule mais en 3D donc encore plus dur pour moi qui connait que les formules,
pour calcule l'aire dans un volume lol.


Bon passons au chose sérieuse donc, voila j' ai la rotation du missile ( la Z ) qui est bonne elle fixe bien le joueurs, mais je veut que la rotation y ( celle qui permet de point sur la hauteur) pointe sur le joueurs, je suis donc allez voir mon prof de math qui m' as aider j avais tout compris puis j' ai noter la formule sur une feuille mais j' ai oublie le reste  :-\ .

je vous donne quand même la formule


donc c' est :

La racine carre de x au carrer + y au carre  et tout ca divisez par une position z.
voila si quelqu' un peut m' aider ca me ferais super plaisir, je sais très bien que je recevrais pas d' aide tout de suite, car peu sont ceux qui s' y connaisse (je parle de sim et syg lol ou même hardcoder enfin ptetre lol )


Donc si on peut m' aider je suis prenneur ;)
« Modifié: 07 Septembre 2009, 22:27:18 par sasuke78200 »



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Calcule Rotation x en fonction d' une position
« Réponse #1 le: 07 Septembre 2009, 15:46:00 »
Salut,

comme tu le dit, il s'agit simplement de quelques opérations mathématiques,

en fait tu peut utiliser la même technique que pour l'angle en Z, sauf que cette fois, ce sera en X, un truc de se genre:

ObjectRot(playerid, objectid)
{
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
new Float:xo,Float:yo,Float:zo;
GetObjectPos(objectid,xo,yo,zo);
x = x - xo;
y = y - yo;
z -= zo;
new Float:Rot = atan2(y,x);
x = floatsqroot(x * x + y * y);//ca nous prend la distance totale horizontale, pas moyen de controuner la racine carrée
new Float:Rot2 = atan2(z, x);
SetObjectRot(objectid, rot2, 0,Rot-180);//ensuite tu ajuste ici
}

sauf que là, il faudra jouer selon les trucs de gta, je ne sais pas comment les angles sont placés...

Par exemple tu devras peut-être placer la valeur dans l'axe Y de rotation

ou encore inverser z et x dans le atan2

++Sim++





Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Calcule Rotation x en fonction d' une position
« Réponse #2 le: 07 Septembre 2009, 17:41:14 »
Merci j' ai reussi grace au code mais il faut utiliser la rotation y =) ( moi j' ai confondu x et y -_-"   donc tu as suivit mon code lol)

Ca :
SetObjectRot(objectid, rot2, 0,Rot-180);//ensuite tu ajuste icidevient ca:
SetObjectRot(objectid, 0,Rot2,Rot-180);//ensuite tu ajuste ici

Et puis c' est bon merci beaucoup sim =)



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog