Calcul d'un "score" points sur graphe 3D
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
jinines
- Membre Naturel
- Messages: 13
- Enregistré le: 19 Mai 2008, 11:17
-
par jinines » 19 Mai 2008, 11:30
Bonjour,
J'aimerais pouvoir calculer un "score" pour des points qui sont sur un graphe 3D. ça pourrait être par exemple un scrore par rapport à l'éloigenement à l'origine.
Les points ont 3 coordonnées (x, y, z)
Exemple: (2, 10, 3.6)
(4, 1, 7.9)
(4, 10, 10.7)
x est un entier entre 0 et 4, y est un entier entre 0 et 10 et z est un réel.
Je dois réussir à donner tous mes points sur une échelle (donc calculer leurs "scores") par rapport à la distance de l'origine.
Je ne vois pas du tout comment faire...
En 2D, j'aurais calculer la distance par rapport à la 1ère diagonale, mais là...mystère et boule de chewin-gum...;-)
Merci de votre aide !
-
XENSECP
- Habitué(e)
- Messages: 6387
- Enregistré le: 27 Fév 2008, 19:13
-
par XENSECP » 19 Mai 2008, 11:44
Si j'ai bien compris tu cherche la distance d'un point (x,y,z) à l'origine (0,0,0) dans l'espace (R^3), c'est ça ?
-
jinines
- Membre Naturel
- Messages: 13
- Enregistré le: 19 Mai 2008, 11:17
-
par jinines » 19 Mai 2008, 12:21
Si tu penses que c'est une bonne façon de calculer un score, oui c'est ça...
En fait je cherche à calculer quels sont les points les plus intéressants pour moi: sachant que les valeurs les + interessantes pour moi sont:
pour x=4 (le max), y=10 (le max) et z le plus grand possible.
Donc j'imagine que si je calcule la distance par rapport à l'origine, je n'aurai plus qu'à prendre les points ayant la distance la + grande par rapport à l'origine.
Mais je sais pas faire...
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 04:25
-
par ffpower » 19 Mai 2008, 12:26
Si j ai bien compris,tu veux donner une valeur a un tel triplet..Mais ca depend de ce que tu veux:par exemple qu est ce qui doit valoir le plus entre (4,10,0) et (3,9,10000)?soit un peu plus precis sur ce que tu veux et on devrait pouvoir t aider
-
XENSECP
- Habitué(e)
- Messages: 6387
- Enregistré le: 27 Fév 2008, 19:13
-
par XENSECP » 19 Mai 2008, 12:29
J'avoue que c'est pas très clair....
ça doit être pour un prgm de jeu ?!
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 04:25
-
par ffpower » 19 Mai 2008, 12:31
Je suppose^^
-
jinines
- Membre Naturel
- Messages: 13
- Enregistré le: 19 Mai 2008, 11:17
-
par jinines » 19 Mai 2008, 12:33
Non, c'est pour du traitement automatique des langues. je suis informaticienne, et pas matheuse...;-(
Je veux trouver un moyen de classer mes triplets du "plus fort au moins fort":
x= 4 c'est la + forte valeur
y=10 c'est la + forte valeur
z=réel le + grand possible
Je sais dire quel est le + fort en les regardant, mais il me faudrait un moyen de formaliser ça avec une formule.
Merci pour votre aide ;-)
-
jinines
- Membre Naturel
- Messages: 13
- Enregistré le: 19 Mai 2008, 11:17
-
par jinines » 19 Mai 2008, 12:36
Par exemple: entre a=(2, 10, 3.6) et
b=(4, 1, 7.9) et
c=(4, 10, 10.7)
le classement de mes triplets du plus fort au moins fort serait:
c, b, a
Y'a-t-il un moyen de formaliser ça ??
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 04:25
-
par ffpower » 19 Mai 2008, 12:52
T a pas répondu sur mon exemple..
-
jinines
- Membre Naturel
- Messages: 13
- Enregistré le: 19 Mai 2008, 11:17
-
par jinines » 19 Mai 2008, 14:00
Sur ton exemple: a=(4,10,0) et b=(3,9,10000)
x ayant plus d'importance que y, qui lui en a plus que z.
C'est donc a qui est le + "fort".
peut-être est-il possible d'avoir une formule avec des pondérations différentes (des coef) pour x, y et z ?
Est-ce qu'une formule du genre existe ??
merci
-
Jean_Luc
- Membre Relatif
- Messages: 158
- Enregistré le: 25 Avr 2008, 10:17
-
par Jean_Luc » 19 Mai 2008, 14:15
Salut,
Si tu as un maximum sur z alors oui tu peux appliquer un système de pondération sinon ce n'est pas possible et tu seras obliger de faire une ou plusieurs comparaisons. (Si le but c'est d'ordonner les points ?)
Ex:
- Code: Tout sélectionner
fonction EstPlusGrandQue(point a,point b) {
if( a.x > b.x ) return true;
else if( a.x==b.x ) {
if( a.y > b.y ) return true;
else if( a.y==b.y ) {
return a.z>b.z;
}
}
return false;
}
-
jinines
- Membre Naturel
- Messages: 13
- Enregistré le: 19 Mai 2008, 11:17
-
par jinines » 19 Mai 2008, 14:24
Que veux-tu dire par "maximum surr z" ?
z est le nombre qui peut être le + grand (en terme d'intervalle) mais ça doit être le "moins important" dans ma pondération.
-
Jean_Luc
- Membre Relatif
- Messages: 158
- Enregistré le: 25 Avr 2008, 10:17
-
par Jean_Luc » 19 Mai 2008, 14:30
J'ai bien compris. Mais ton z, est-il quelconque ou a-t-il un maximum (l'intervalle est-il borné) comme tu en as spécifié un pour x et y ?
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 04:25
-
par ffpower » 19 Mai 2008, 14:37
Je propose 11x+y+z/(z+1)
-
Jean_Luc
- Membre Relatif
- Messages: 158
- Enregistré le: 25 Avr 2008, 10:17
-
par Jean_Luc » 19 Mai 2008, 14:50
Oui, bien joue :lol3: si z est positif ca marchera. (J'avais pas pense au fait que x et y sont des entiers).
-
jinines
- Membre Naturel
- Messages: 13
- Enregistré le: 19 Mai 2008, 11:17
-
par jinines » 19 Mai 2008, 14:54
z n'est pas borné, c'est un réel positif. il est borné à gauche mais pas à droite.
-
Jean_Luc
- Membre Relatif
- Messages: 158
- Enregistré le: 25 Avr 2008, 10:17
-
par Jean_Luc » 19 Mai 2008, 14:58
Dans ce cas, tu peux te servir de la formule proposé par ffpower :we:
-
jinines
- Membre Naturel
- Messages: 13
- Enregistré le: 19 Mai 2008, 11:17
-
par jinines » 19 Mai 2008, 15:00
:we:
Bon je vais réfléchir un peu plus à mon problème, merci d'avoir essayé de m'aider.
-
ffpower
- Membre Complexe
- Messages: 2542
- Enregistré le: 13 Déc 2007, 04:25
-
par ffpower » 19 Mai 2008, 15:27
pas de probleme^^
Ma formule donne un score entre 0 et 55,apres tu peux aussi multiplier par exemple par 100/55=20/11 pour avoir un score sur 100
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 31 invités