Posté le 20/10/2012 17:16
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 90 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 20/10/2012 18:44 | #
Signe des différences? T'as pensé à Abs?
Citer : Posté le 20/10/2012 19:21 | #
Un angle n'est pas déterminé par 3 points?
My program is not working, I have no idea why.
My program is working, I have no idea why.
Citer : Posté le 20/10/2012 22:21 | #
Si. Il n'est pas possible de déterminé un angle entre deux points. Mais à mon avis, il veut dire entre deux points et l'origine
Citer : Posté le 21/10/2012 00:36 | #
Tout à fait Cartix, l'angle entre l'axe des abscisses et la droite AB
Citer : Posté le 21/10/2012 09:46 | #
Utilise les coordonnées polaires !
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 21/10/2012 10:36 | #
J'ai trouvé comment avoir l'angle, il faut faire
Int A->A
MOD(A,180)->A
ya-yb<0=>360-A->A
Et en plus prendre en compte les cas particuliers pour la division...
Le problème c'est que c'est vraiment lent pour mon jeu en temps réel. Donc j'ai pensé passer par les vecteurs et ça devrait fonctionner
Citer : Posté le 22/10/2012 19:04 | #
Fais des listes de calculs préétablis!
Citer : Posté le 10/11/2012 16:22 | #
J'arrive un peu après la bataille mais t'as pensé à arg(x+iy) ?
Ce qui donne pour ton cas :
arg((xa+iya)/(xb+iyb))->A
Cela ne marche pas si les points sont confondus avec l'origine.
Escape prison
Bloxorz
Free wheel
QR code
Nombre en or
RayCasting Engine
Mario Party
Zelda
et Planète Casio
Citer : Posté le 10/11/2012 18:11 | #
Pas bête du tout Puro
Merci beaucoup puisque c est encore d actualité !
Citer : Posté le 11/11/2012 00:23 | #
Personnellement, ce que j'utilise (en C surtout ) (ce code est directement tiré de l'une de mes fonctions, je n'ai pas modifié les variables, c'est donc un calcul d'angle sur 3 dimensions):
+vecteurAB.z*vecteurAC.z)/((sqrt(vecteurAB.x*vecteurAB.x+vecteurAB.y*vecteurAB.y
+vecteurAB.z*vecteurAB.z))*(sqrt(vecteurAC.x*vecteurAC.x+
vecteurAC.y*vecteurAC.y+vecteurAC.z*vecteurAC.z)))
Ajouté le 11/11/2012 à 00:30 :
Cela dit, je me relis, ce code est indigeste ^^, donc je vais le rendre lisible:
[green]//s est le produit scalaire de AB et AC (si je ne me trompe pas, je confond parfois)[/green]
s=vecteurAB.x*vecteurAC.x+vecteurAB.y*vecteurAC.y+vecteurAB.z*vecteurAC.z
[green]//b et c sont les distance entre B et A, et entre C et A[/green]
b=sqrt(vecteurAB.x*vecteurAB.x+vecteurAB.y*vecteurAB.y+vecteurAB.z*vecteurAB.z)
c=sqrt(vecteurAC.x*vecteurAC.x+vecteurAC.y*vecteurAC.y+vecteurAC.z*vecteurAC.z)
return acos(s/(b*c))
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 11/11/2012 10:23 | #
Tu as une petite erreur dans le code, tu as mis deux fois z
Cette manière est beaucoup trop lente en basic pour que je l'utilise.
Citer : Posté le 11/11/2012 14:31 | #
il s'est trompé entre z et y
Citer : Posté le 11/11/2012 14:42 | #
oui, pardon, j'avais pas vu cette erreur, effectivement, a la première ligne, j'ai confondu z et y.
Ajouté le 11/11/2012 à 14:52 :
J\'ai corrigé.
Cette manière est beaucoup trop lente en basic pour que je l\'utilise.
Effectivement, mais si on utilise les propriétés des listes, c\'est très rentable (de mon point de vue en tout cas):
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 11/11/2012 17:24 | #
Tu mes quoi dans tes listes ?
Citer : Posté le 11/11/2012 17:28 | #
les valeurs de x,y et z (respectivement, aux cases 1,2 et 3) mais l'ordre et le nombre de variables importe peux (j'aurais pu mettre y dans la case 1 et x dans la case 2, sans z) ce calcul est universel (ou presque, en tout cas, il marche autant pour la 3D que pour la 2D)
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)