AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

 

 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 : 2188
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

_________________
Spoiler:

L'IRC du cbna: IRC du cbna
projets terminés: prédation mouse vs keyboard ACII OC_ nintendo nightmare fuyez lavanville
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 : 9180
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

_________________
calculer un angle entre deux droites Runningpotato1calculer un angle entre deux droites TvF6GED calculer un angle entre deux droites MdetltS
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 : 9180
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...

_________________
calculer un angle entre deux droites Runningpotato1calculer un angle entre deux droites TvF6GED calculer un angle entre deux droites MdetltS
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
-
» Angle négatif vers Angle positif.
» Calculer si une courbe en vrai
» Calculer les performances / demande de mémoire
» besoin aide pour calculer les pentes
» [Résolu] Calculer la direction avec une vitesse x et y

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: