Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1816 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  mouvement rectiligne - yaw, pitch

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mouvement rectiligne - yaw, pitch

n°2018797
Profil sup​primé
Posté le 24-08-2010 à 23:21:50  answer
 

Bonjour à tous !
J'aimerais savoir si un mouvement est rectiligne. Je dispose de ces informations :
yawA, pitch A, yawB, pitchB, yawC, pitchC.
Ces informations sont récupérées à 3 moments différent : T+0 => A, T+1 => B, T+2 => C;
A chaque étape (A, B ou C) la direction change. Au final on obtient un mouvement de A passant par B et allant à C.
J'aimerais savoir si le mouvement obtenu est rectiligne.
 
Le principe : http://en.wikipedia.org/wiki/Yaw,_pitch,_and_roll
 
D'ailleurs je n'arrive pas bien à comprendre le principe  [:mister yoda]  
Cela revient il à vérifier que les 3 points A, B, C sont alignés ou bien il faut utiliser le trigonométrie ?
Note : dans mon cas, je dois ignorer le roll.
 
Voilà, j'espère que mon post est compréhensible, sinon n'hésitez pas à me le faire remarquer !
Merci d'avance. :)

mood
Publicité
Posté le 24-08-2010 à 23:21:50  profilanswer
 

n°2018834
esox_ch
Posté le 25-08-2010 à 09:51:18  profilanswer
 

Si c'est pour voir s'ils sont alignés, les 2 techniques marchent. Par contre je pense que celle de contrôler si les 3 points sont alignés est un chouillat plus rapide, car n'utilisant pas de fonctions trigo.


Message édité par esox_ch le 25-08-2010 à 09:53:48

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2018846
Profil sup​primé
Posté le 25-08-2010 à 10:24:26  answer
 

Merci de ta réponse ;)
 
Donc je dois considérer que A, B et C ont comme abscisse yaw, et comme ordonnée pitch, et qu'ils sont alignés dans un repère orthogonal ?

n°2018886
esox_ch
Posté le 25-08-2010 à 11:31:43  profilanswer
 

Non non non. Tes Yaw et Pitch décrivent la position d'un solide par rapport à un système de coordonnées (comme le dit la première phrase). ça ne te dit rien sur le centre de masse du solide en question (donc sur sa position X,Y,Z).  
Si 2 "instances" du même solide ont les mêmes Yaw et Pitch, tout ce que tu peux en conclure c'est que les 2 instances sont orientées de la même manière, ça ne te dit rien par rapport à leur position X, Y et Z.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2019030
Profil sup​primé
Posté le 25-08-2010 à 22:03:33  answer
 

on est d'accord :D je sais que ça n'a rien à voir avec la position mais avec la direction. Mais je veux savoir si le changement de direction est réctiligne :  
 
Par exemple on a un objet O (dont on se fout complètement de la position).
Cet objet à une direction d1(yaw, pitch).
 
Puis il prend une direction d2, puis d3.
J'aimerais savoir si le mouvement ayant entrainé ces changements de direction est rectiligne, sans tenir compte de la position X, Y et Z; mais pourquoi pas, plus tard, prendre cet élément en compte. mais je n'en suis pas là :)
 
Donc ma question : est-ce qu'il suffit alors de vérifier que des points d1, d2 et d3 (avec x = yaw et y = pitch) seraient alignés dans un repère ?
 
;)

n°2019077
esox_ch
Posté le 26-08-2010 à 10:46:58  profilanswer
 

D'accord tu veux donc savoir si les 3 vecteurs sont colinéaires, c'est ça?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2019123
Profil sup​primé
Posté le 26-08-2010 à 13:28:44  answer
 

Voila. :)

n°2019131
esox_ch
Posté le 26-08-2010 à 14:07:36  profilanswer
 

Soit c'est moi qui comprend vraiment rien, soit la réponse est forcément non, à moins que les yaw et pitch soient toujours nuls, non?
J'veux dire, si t'as un vecteur direction donné, et que tu lui appliques une rotation (ce qui est la transformations ici considérée), le vecteur obtenu n'est colinéaire que si la rotation est faite sur un multiple de pi.  
Ou alors encore une fois, j'ai juste pas compris ce que ut veux faire (et dans ce cas là, peut-être qu'un dessin ne serait pas de trop :o )


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2020650
Profil sup​primé
Posté le 02-09-2010 à 10:31:26  answer
 

Re :o
Désolé pour le temps que je mets  à répondre, et merci encore à  toi
 
Alors je pense que je m'oriente vers une mauvaise solution.
Donc je vais tout t'expliquer :p
Il s'agit d'un FPS dont j'ai accès aux sources (pas de soucis).
Le joueur à une position x y z contenue dans un vecteur. Il a une direction yaw & pitch.
L'objectif : savoir si son mouvement est rectiligne. Pourquoi ? pour différencier un mouvement humain d'un bot (qui vise tout seul, mais qui produit des mouvements rectilignes).
 
Donc, en prenant 3 positions différentes (vec(x, y, z), et 3 directions différentes (yaw + pitch) à 3 instants différents (t1, t2 et t3) y a-t-il un moyen de vérifier si le mouvement est bien rectiligne ? (je parle toujours du la direction du viseur, pas du déplacement du joueur ;)).
 
Merci !

n°2020746
Dagnir
El Che vive
Posté le 02-09-2010 à 14:59:37  profilanswer
 

Comme disais mon prof de maths, rien ne vaut un petit crobard (sauf qu'il le disait en allemand) :o  
Si j'ai bien compris, ton problème c'est de savoir si on est dans le cas vert (bot) ou bleu (humain) ?
http://hfr-rehost.net/img227.imageshack.us/img227/7549/cssourcev.jpg
 
Dans ce cas là j'aurais tendance à dire naïvement qu'il suffit de vérifier si  
( pitch(B)-pitch(A) )  /  ( pitch(C)-pitch(A) ) = ( yaw(B)-yaw(A) )  /  ( yaw(C)-yaw(A) )
Si le personnage est immobile pas en tout cas.


---------------
Nous vous souhaitons de beaux rêves, c'est le cinéma gratuit.
mood
Publicité
Posté le 02-09-2010 à 14:59:37  profilanswer
 

n°2020758
Profil sup​primé
Posté le 02-09-2010 à 15:17:29  answer
 

Dans tous les cas c'est un joueur unique derrière, le but est de savoir s'il utilise un bot qui vise tout seul (donc avec des mouvements calculés de façon mathématique.).
 
Merci, je teste ta solution et je vous tiens au courant.

n°2020787
bjone
Insert booze to continue
Posté le 02-09-2010 à 17:07:01  profilanswer
 

Le yaw/pitch ne te donne rien, puisque le bot/joueur peut slider/sauter... (dumoins faire une translation non liée à l'orientation de l'avatar).
 
Et des joueurs humains qui ont une trajectoire rectiligne, ça existe (surtout sur console :D).
 
Tu veux faire quoi, choper les cheaters ?

Message cité 1 fois
Message édité par bjone le 02-09-2010 à 18:48:31
n°2020804
Profil sup​primé
Posté le 02-09-2010 à 17:45:09  answer
 

bjone a écrit :

Et des joueurs humains qui ont une trajectoire rectiligne, ça existe (surtout sur console :D).

sur certaines distances, pas possible dans notre cas :o mais le but est d'adapter tous les paramètres possibles pour éviter les faux positifs

bjone a écrit :


Tu veux faire quoi, choper les cheaters ?

:jap:  
J'essaie d'abord en local avec moi et des bots et j'observe les différences. Les méthodes précédentes (dont celle que je viens d'essayer) n'ont rien donné. :/

n°2020815
bjone
Insert booze to continue
Posté le 02-09-2010 à 18:34:12  profilanswer
 

Pour moi pour gauler les bots et les cheaters:
 
Tu crées un histogramme qui te donne la distribution du temps passé dans une atitude donnée:
 
Pour l'orientation avec le yaw/pitch, tu as un vecteur.
 
Tu prends un top et une orientation de référence, et tant que l'avatar est colinéaire (un dot de vecteurs entre l'orientation courante et la référence), tu continue à compter le temps.
 
Lorsque l'écart est trop important (>1°), tu prends le temps écoulé et tu rajoutes une occurence dans l'histogramme dans l'entrée correspondant à ce temps. (genre un histo de uint qui va de 10 ms à 4secs par pas de 10ms)
Ensuite tu reprends la nouvelle orientation comme référence et tu te remets à compter.
 
La même chose avec le vecteur de déplacement normalisé, en faisant le différentiel de position entre deux frames, par rapport à un vecteur de référence.
 
Déjà avec ça tu peux voir une diff stat entre un bot et un humain.
 
Un naab ou un bot aura un histogramme à droite, un mec nerveux qui contrôle tous ses angles aura un histogramme à gauche.
 
Pour les cheaters, c'est les temps de réaction qu'il faudrait plustôt prendre en compte.
 
Donc genre pour chaque joueur, voir comment il réagit lorsque un autre joueur rentre dans son frustum, et deviens géométriquement visible, et avec quelle vitesse et quelle "stabilité" il vise.
 
Donc genre un histogramme qui donne le temps de réaction (changement d'atitude) lorsque un joueur est dans le frustum mais caché, combien de temps il ne vise pas un joueur caché dans son frustum, combien de temps il ne se dirige pas vers ledit joueur, combien de temps il se dirige, combien de temps il est à 5° du (ou d'un) joueur caché.
Pareil pour un histogramme pour le joueur visible. (l'histo du temps de réaction, l'histo du temps d''établissement de la visée à 5° près )
 
Tu peux aussi faire un histogramme avec l'angle en abscisse et le temps en ordonnée lorsqu'un mec est visé dans les 10°.
 
Si l'histo te fais souvent un gros pic en ^ dans les 2°, tu sais qu'il marche pas qu'à l'eau.
Si il te fait un U, t'as un naab qui panique :D
 
(Alors peut-être pas en degrée, mais en % du fov, car forcément un sniper pétera plus facilement les scores)
 
Tu peux aussi faire un histo du comportement par rapport à une cible (je sais pas un truc qui donnerait le temps passé à accompagner une cible soit par le slide, soit à faire un changement d'orientation qui soit toujours dans le bon "sens" pour suivre la cible)
 
Enfin ce genre de trucs...


Message édité par bjone le 02-09-2010 à 18:54:46
n°2021102
Profil sup​primé
Posté le 03-09-2010 à 18:10:17  answer
 

Ok merci beaucoup :) je vais explorer toutes ces pistes ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  mouvement rectiligne - yaw, pitch

 

Sujets relatifs
mouvement avec inertie{RESOLU}[BATCH]Renomer fichier .jpg + MultiUpload
[C] mouvement d'un double pendule[Gestion du clavier] Mouvement fluide ?
contraindre le mouvement d'un clip dans une zonephotos en mouvement
mouvement d'une voitureAide : Détection de mouvement
[Résolu] Mouvement de la souris au-dessus d'un contrôle CStatic[MFC] Mouvement de la souris...
Plus de sujets relatifs à : mouvement rectiligne - yaw, pitch


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR