calculer un angle entre deux droites Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment : -20%
-200€ Smart TV LG 65″ 4K QNED MiniLED
Voir le deal
799 €

 

 calculer un angle entre deux droites

Aller en bas 
4 participants
AuteurMessage
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

calculer un angle entre deux droites Empty
MessageSujet: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyDim 4 Juil 2010 - 20:24

bonjours a tous,
j'ai un petit probleme d'angle, j'aimerai trouver un angle entre deux droites, comme ceci
calculer un angle entre deux droites Angle10

j'ai chercher sur google, mais j'ai trouver que ca : http://www.javafr.com/forum/sujet-CALCULER-ANGLE-PARTIR-DEUX-DROITES_419848.aspx

mais il me donne n'importe quoi
pourriez vous m'aidez ?

PS : ici c'est un angle entre deux droites, mais si vous avez un autre technique pour trouver l'angle, allez y happy1
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
PHENIXprod
Utilisateur confirmé: Rang ****
PHENIXprod


Messages : 835

calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyDim 4 Juil 2010 - 20:43

Tu calcule la direction de la première droite, de la seconde, tu les compare et les soustrait non? Tu peux calculer la direction d'une droite avec point_direction.
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyDim 4 Juil 2010 - 21:11

c'est ce que je fais actuellement mais il y a une petit erreur, c'est quand la direction passe de 0 a 360, ca fausse tout, heureusement que c'est pas fréquent, que ca se vois pas comme sa, mais c'est toujours ca
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
supmaster004
Utilisateur confirmé: Rang *****
supmaster004


Messages : 2189
Localisation : x=23.256842 y=43.456879
Projet Actuel : Faire des parodies de jeux en 1h

calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyDim 4 Juil 2010 - 22:05

y a une solution pour eviter les passages de modulo
bon ça nécessite pas mal de théorie.
hum hum

[prepa]

alors d'abord tu veux l'angle absolu entre les deux droites.

soit le vecteur directeur de ta camera:
Code:
xcam=cos(obj_cam.direction*pi/180)
ycam=-sin(obj_cam.direction*pi/180)

tu peux utiliser lenghtdir si tu veux super

de mème avec le carré
Code:

xcar=cos(point_direction(camera.x,camera.y,carre.x,carre.y)*pi/180)
ycar=-sin(point_direction(camera.x,camera.y,carre.x,carre.y)*pi/180)

voilà maintenant regardons la formule du produit scalaire

ps=xcam*xcar+ycam*ycar
ps=|cam|*|car|*cos(theta)

eh oui! avec cam et car des vecteurs normés donc |cam|=|car|=1

on a donc

Code:
theta=arccos(xcam*xcar+ycam*ycar)

theta est une valeur absolue (et en radians en plus beh )
il faut donc l'algebriser

et là, je te sors la formule qui tue tout, sin(theta)=det(cam,car)

avec det un déterminant d'ordre 2 (si si) il suffit donc d'en connaitre le signe

Code:
deter=xcam*ycar-xcar*ycam

angle=0
if deter>0 angle=theta*180/pi
if deter<0 angle=-theta*180/pi

voilà, tu met dans ton step exclusivement les trucs entre balises de code, le reste c'est la démo :lng:
[/prepa]

"angle" est ce que tu cherches en degrés


edit: ce que je viens de te dire, ça marche que dans une base directe, ce qui n'est pas le cas de gm avec ses angles inversés par rapport aux axes x,y
donc si ça marche pas, c'est qu'il faut inverser les signes <,> dans la dernière partie du code
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyDim 4 Juil 2010 - 23:35

wow...
je vais voir ca, c'est beacoup de calcul tout ca ouh
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyLun 5 Juil 2010 - 0:37

difference_angles(angle1, angle2)
Code:

return (((floor(argument1-argument0+.5) mod 360)+540) mod 360)-180
ou si tu veux que des angles positifs
Code:

return ((((floor(argument1-argument0+.5) mod 360)+540) mod 360)+180)mod 360
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyLun 5 Juil 2010 - 0:40

onilink_ a écrit:
difference_angles(angle1, angle2)
Code:

return (((floor(argument1-argument0+.5) mod 360)+540) mod 360)-180
ou si tu veux que des angles positifs
Code:

return ((((floor(argument1-argument0+.5) mod 360)+540) mod 360)+180)mod 360
ah ouais bien ! c'etait tout con de faire disparaitre l'erreur dit plus tot !
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyLun 5 Juil 2010 - 0:44

au moins la tu niveau perf y a pas mieux, parce que les fonctions arccos et compagnies :gniah:
Enfin tout dépend du nombre d'utilisations aussi...
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
glcraft


Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites EmptyLun 5 Juil 2010 - 11:10

En fait je fait un ramassage de cube a la HL2, d'ailleur je suppose que vous avez compris que c'était en 3D, je voulais aussi demander si c'était possible de faire la même chose mais en 3D, sinon c'est pas grave, j'ai crée une fonction d3d_point_distance pour compenser ca
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Contenu sponsorisé





calculer un angle entre deux droites Empty
MessageSujet: Re: calculer un angle entre deux droites   calculer un angle entre deux droites Empty

Revenir en haut Aller en bas
 
calculer un angle entre deux droites
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Difference de deux angle
» Créer une ligne entre deux objets.
» vérifier si une variable est entre deux score
» Jump entre deux séquences. GMS2
» Script collision entre deux lignes

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide confirmés-
Sauter vers: