| | [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. | |
| | Auteur | Message |
---|
Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. Lun 28 Juil 2014 - 22:00 | |
| Bonjour ! J'ai un gros problème, je cherche à orienter mon vecteur(x,y) par rapport à un angle, avec cosinus et sinus, mais le mieux que j'ai réussi, c'est un résultat cohérent, mais avec une variation du signe toutes les updates. x) Merci par avance.
Dernière édition par Chlorodatafile le Mar 29 Juil 2014 - 10:26, édité 1 fois |
| | | Craki Utilisateur confirmé: Rang ****
Messages : 1496 Localisation : Dans l’univers de métamatière
| Sujet: Re: [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. Lun 28 Juil 2014 - 23:29 | |
| Précise ton problème, parce qu'à part utiliser les coordonnées (r cos a ; r sin a), on peut rien faire pour toi. _________________ |
| | | Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. Lun 28 Juil 2014 - 23:50 | |
| Je comptais éditer mais un truc m'a pris trop de temps. - Code:
-
function math.vector:rotate(a) local Ca, Sa = math.cos(a), math.sin(a) return self:reset(self.x*Ca-self.y*Sa,self.x*Sa+self.y*Ca) end Voilà le bout de code concerné, j'ai essayé avec r*cos,r*sin, ça m'a donné un truc ... genre elliptique ? |
| | | red-error Utilisateur confirmé: Rang ****
Messages : 1015 Projet Actuel :
| Sujet: Re: [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. Mar 29 Juil 2014 - 1:35 | |
| - Chlorodatafile a écrit:
- Je comptais éditer mais un truc m'a pris trop de temps.
- Code:
-
function math.vector:rotate(a) local Ca, Sa = math.cos(a), math.sin(a) return self:reset(self.x*Ca-self.y*Sa,self.x*Sa+self.y*Ca) end Voilà le bout de code concerné, j'ai essayé avec r*cos,r*sin, ça m'a donné un truc ... genre elliptique ? Hmm, bizarre, normalement ça marche. Ca viendrait pas d'autre part? Si c'est un vecter dont le X et Y font juste la longueur et pas qu'il aie un point d'application spécial, et c'est des flottants? Sinon y'a la méthode bourrin qui bugge si y==0 (je sais pas si tu as atan l'arctangeante et sqrt la racine²) - Code:
-
function math.vector:rotate(a) local Angle = math.atan(self.y/self.x) local Len = math.sqrt(self.x*self.x+self.y*self.y) local Ca, Sa = math.cos(Angle+a), math.sin(Angle+a) return self:reset(Len*Ca,Len*Sa) end
|
| | | onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. Mar 29 Juil 2014 - 9:14 | |
| Ton code est bon, le problème doit venir d'ailleurs. Cpas juste une histoire d'angles en radians/degrés? Sinon t'as du te foirer dans son utilisation, je vois pas d'autre chose a moins que reset soit appelé avant le calcul des paramètres, ou a peu près en même temps (ce qui m'étonnerais énormément) |
| | | Chlorodatafile Utilisateur confirmé: Rang *****
Messages : 2929 Localisation : Belfort Projet Actuel :
Paralights
| Sujet: Re: [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. Mar 29 Juil 2014 - 10:18 | |
| En fait, c'est pire que ça, je doit le reset du changement d'angle et non l'angle final, d'où le pb, que j'ai réalisé en me réveillant ce matin. Au moi le code est bon, merci. - red-error a écrit:
- Chlorodatafile a écrit:
- Je comptais éditer mais un truc m'a pris trop de temps.
- Code:
-
function math.vector:rotate(a) local Ca, Sa = math.cos(a), math.sin(a) return self:reset(self.x*Ca-self.y*Sa,self.x*Sa+self.y*Ca) end Voilà le bout de code concerné, j'ai essayé avec r*cos,r*sin, ça m'a donné un truc ... genre elliptique ? Hmm, bizarre, normalement ça marche. Ca viendrait pas d'autre part? Si c'est un vecter dont le X et Y font juste la longueur et pas qu'il aie un point d'application spécial, et c'est des flottants? Sinon y'a la méthode bourrin qui bugge si y==0 (je sais pas si tu as atan l'arctangeante et sqrt la racine²) - Code:
-
function math.vector:rotate(a) local Angle = math.atan(self.y/self.x) local Len = math.sqrt(self.x*self.x+self.y*self.y) local Ca, Sa = math.cos(Angle+a), math.sin(Angle+a) return self:reset(Len*Ca,Len*Sa) end
J'ai math.atan, et math.atan2 pour parer au cas du ==0. math.atan2(self.y,self.x) |
| | | Contenu sponsorisé
| Sujet: Re: [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. | |
| |
| | | | [Resolu] Orienter un vecteur 2D avec un angle avec cosinus et sinus. | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |