Petit problème mathématique qui me pique comme une tique

Résolu
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010 - 19 mars 2008 à 00:47
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010 - 19 mars 2008 à 12:26
Pour faire un graphique maison, avec des line, et des shape j'ai besoin de connaître la position de la ligne "0" facile me direz-vous ben je dois dire que celà ce complique, quand on à un nombre positif (993982) et
négatif (-1993863) et 37 lignes donc => ((993982 + abs(-1993863)) /37)  donc j'ai l'incrément des lignes

donc mon problème est le suivant : je met une ligne pour situer le 0 et ensuite j'ai besoin de ce 0 pour placer mes shape.... si quelqu'un à une idée.... ce serait simpat. Merci pour votre attention... si celà ne vous parrait pas clair... je me tiens à votre disposition....

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
19 mars 2008 à 04:34
Salut
Va falloir réviser tes cours !
Dans l'explication, je ne te parle que de la coordonnée Y, c'est à dire la verticale.
L'horizontale étant plus facile à maitriser, je te laisse la calculer ;-)

   Incrément = (ValeurMaxi - ValeurMini) / Nombre d'incréments
Ce qui revient au même que ton calcul, mais qui ne fait pas apparaitre de valeur absolue inutile.
   Incrément = ( 993982 - ( -1993863) ) / 37

   Y = A * X   +  B
Ca ne te rappelle rien ?

Dans ton cas :   B Le décalage dû à ton origine négative, donc B -1993863
   A = Ton incrément (calculé ci-dessus)
   X = Le n° de l'incrément, de 0 à 37
   Y = La valeur entre -1993863 et +993982

Maintenant, le positionnement à l'écran :
Les coordonnées graphiques partent du coin supérieur gauche pour les 0 (de gauche à droite et de haut en bas)
Ca complique la compréhension.
0 correspondra donc à ton maxi, et 1000 à ton mini (valeurs au pif) :
   Incrément = (GraphMax - GraphMin) / Nombre d'incrément
   Incrément = ( 0 - 1000 ) / 37
Et
   T = C * X + D   (idem à l'autre, avec des lettres presque différentes pour bien dissocier)
En coordonnées d'écran, les valeurs seront :   D Le décalage dû à ton origine en bas, donc D 1000
   C = Ton incrément (calculé ci-dessus)
   X = Le n° de l'incrément, de 0 à 37, ça ne change pas
   T = La valeur entre 0 et 1000

Puisque ces deux séries doivent corespondre à la même zone, on va mettre X en commun :
A partir de    Y = A * X   +  B
On déduit que   X = ( Y - B ) / A
Puis de    T = C * X + D
on déduit que   X = ( T - D ) / C
Ensuite, égalité :
   ( Y - B ) / A = ( T - D ) / C
A partir de là, il nous faut trouver T (la coordonnée graphique) en fonction de Y (ta donnée physique) :
   T = ( ((Y-B)*C) + A*D ) / A
ou encore
   T = ((Y-B)*C/A) + D
A, B, C et D étant des constantes (tes mini-maxi physiques et graphiques), tu obtiendras donc facilement T à partir de Y

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_Sator Messages postés 351 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 6 octobre 2010
19 mars 2008 à 12:26
Je te remercie infiniement pour les explications que tu m'as donné mais tu as raison je devrais reprendre mes cours, mais à mon âge il y aurait trop à réaprendre....

merci encore @+

:)Sator :)

ps: si il ni avait pas de faute d'orthographe dans ce texte, il y a fort à parier que ce texte ne serait pas de moi...
0
Rejoignez-nous