Je ne suis pas de mathématicien, mais je suis en quelque sorte dans le développement de jeux comme passe-temps. P>
N'ayant jamais rien étudié au-delà des mathématiques de base, j'ai beaucoup de difficulté à comprendre comment inverser l'angle de quelque chose, face à la direction opposée, le long de l'axe X et sur l'axe Y. P>
Une image dit plus de 1000 mots (des mots spécialement infensés): http://img156.imageshack.us/i/wihwin.png/ p>
Je veux fondamentalement inverser la direction des objets de canon adhérés à un robot. Lorsque le robot change de droite à droite pour faire face à gauche, je fais Pour le mettre en d'autres termes, je travaille en 2D, donc je veux un angle faisant face à la droite à gauche. Mes angles sont définis: p>
Je veux quelque chose qui vise avec un angle de 91 de se transformer en 89 lorsqu'il est inversé. Il n'y a pas d'axe z présent. Toute personne serait si gentille de m'aider avec ça? P> (180 - angle) code> comme tout le monde m'a suggéré, mais elle inverse littéralement l'angle, ce qui rend les canons à visionner lorsqu'ils viennent tomber. Donc, je dois faire autre chose, mais cela échappe à mes connaissances. P>
5 Réponses :
Cela dépend de la façon dont vous définissez votre angle. Si vous le définissez relatif à l'axe X, l'angle est en effet (180 - alpha). P>
Oui, mais contrairement à l'image que j'ai ajoutée, je reçois la ligne rouge dans le quadrant inférieur à la place ...
@Misshalberd: C'est probablement parce que vous ne définissez pas votre angle par rapport à l'axe X comme indiqué dans votre diagramme. Je m'attends à ce que vous puissiez définir cela par rapport à l'axe Y?
En regardant votre diagramme, les angles que vous avez marqués sont les mêmes - vous avez simplement changé le point de départ. Si vous vouliez réellement mesurer l'angle de sorte que 0 deg est tout droit, il est Ainsi, si vous avez visé à 45 degrés, lorsque vous inverserez, il est 360-45 = 315 degrés p> 360 - X Code> P>
Oh mon, j'avais l'intention du centre d'être commun, j'aurais dû dessiner des flèches sur eux, mais ça ressemblerait à "vitesse" à la place ...
Où est-ce que votre point d'angle zéro de degré et où se trouve à 90 degrés? P>
Si zéro est tout droit, vous pouvez simplement faire -1 * angle code>. p>
En réponse à votre édition Ce que vous voulez, c'est
M_PI - x
Ceci est assez difficile à répondre sans connaître un peu plus sur la manière dont les canons sont définis dans votre jeu, mais je vais essayer de donner des pointeurs. P>
On dirait que votre canon est visualisé depuis le côté et vous voulez qu'il se retourne de droite à gauche mais en gardant le canon tourné vers le haut. Le calcul dépend de quelle direction 0 est et si les angles sont exécutés dans le sens des aiguilles d'une montre ou dans le sens contraire des aiguilles d'une montre. P>
Si l'angle de 0 a le canon pointé vers le haut, l'angle est mesuré de tout droit, dans le sens des aiguilles d'une montre. Par conséquent, l'angle d'inverse sera endommagé. Si des angles négatifs ne fonctionnent pas, utilisez (360-angle). P>
Si l'angle de 0 a le canon pointant vers la droite et un angle de 45 points en bas à droite, les angles de canon orientés vers le haut sont de 180 à 360 avec 270 étant droitiers. Par conséquent, pour inverser un angle, vous utiliseriez (540-angle). P>
Si l'angle de 0 a le canon pointant vers la droite mais un angle de 45 points vers le haut à droite, les angles de canon sont de 0 à 180. Pour inverser l'angle, utilisez (180-angle). p>
J'espère que cela aide! Lee. P>
"-ange" travaillé! Au moins dans l'aspect rendu. Je dois vérifier si le moteur considère l'objet en tant que visant dans la bonne direction. Il est étrange cependant, je jure que la poussée d'un objet avec angle 0 rend ça aller à la droite au lieu de monter. Je vais expérimenter plus loin, merci!
Vous inversez-vous l'angle dans l'axe de droite? On dirait que vous faites z = 180-z au lieu de x = 180-x. Sinon, veuillez essayer d'expliquer davantage quel est le problème.
Ainsi, l'angle du canon est-il lié au système de coordonnée du robot ou de l'indépendance? Assurez-vous également de vérifier si vos angles sont mesurés en degrés ou en radians
Vous avez vraiment besoin d'obtenir votre système de coordonnées épinglé avant de la résoudre.