Calculer X d'après Y sur une diagonale

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
renaud63
Messages: 3
Enregistré le: 22 Jan 2009, 17:43

Calculer X d'après Y sur une diagonale

par renaud63 » 22 Jan 2009, 17:55

Bonjour à tous,

En vrai, j'ai quitté le lycée depuis des lustres. Et j'étais nul en math.
Aujourd'hui je suis webmaster et je suis en train de créer un script de génération d'image avec texte dans une diagonale. Alors je tente de vous exposer mon truc :

Soit un carré de 500 de côtés.
Dans ce carré, une bande diagonale de gauche à droite dans laquelle doit s'insérer mon texte :

- est de 30 de largeur
- commence à Y=0 - X=25 / X=55
- se termine à Y=440 / Y=470 - X=500

Une fonction de mon langage de prog me donne le Y du début du texte, en fonction de la taille de la police et, bien sûr, de la phrase que je veux écrire.

Et donc, le long de cette diagonale, en connaissant Y, comment calculer le X ?
Je m'excuse par avance si j'ai mal formulé...
Et je ne doute pas que cette question est fastoche pour vos brillants cerveaux, mais moi....je sèche.

Merci d'avance.



phryte
Membre Irrationnel
Messages: 1406
Enregistré le: 05 Juil 2008, 18:09

par phryte » 22 Jan 2009, 18:09

Bonjour.
Tu peux essayer :
y1=-0.988*x+24.72
y2=-0.988*x+54.38

Lemniscate
Membre Relatif
Messages: 300
Enregistré le: 18 Jan 2009, 20:55

par Lemniscate » 22 Jan 2009, 18:19

Salut,

En fait ta diagonale est le graphe d'une fonction affine. C'est à dire que Y = a.X+b (a multiplié par X) sur ta diagonale. Il te faut déterminer les nombres a et b.
or tu as déjà 2 valeurs : (X=25,Y=0) et (X=500,Y=440) (j'ai pas compris pourquoi t'as mis des valeurs aux choix mais passons)

donc tu as 0 = a.25 + b d'une part et 440 = a.500 + b.

donc b = -a.25, tu remplaces dans la 2e équation : 440 = a.500 - a.25 tu factorise : 440 = a.(500-25)=a.475
D'où a=(440/475)=(88/95)
Tu remplace a par sa valeur et tu obtient : b = - (88/95).25
Après factorisation : b=-(440/19) que tu trouve à la calculatrice.

Donc Y = (88/95).X - (440/19) sur ta diagonale.

Voilà !

NB : 88/95=0,92631578947368421052631578947368
440/19=23,157894736842105263157894736842
D'après ma calculatrice windows

renaud63
Messages: 3
Enregistré le: 22 Jan 2009, 17:43

par renaud63 » 22 Jan 2009, 18:29

Merci pour vos réponses...
Ou la la ma pauvre tête...

Je vais tenter de décortiquer ce que vous avez écrit.
Mais pour être bien sûr qu'on parle bien de la même chose,
voici le carré dont je parle, avec sa diagonale....et même
une phrase exemple.

Image

Je précise : je sais calculer Y, mais je ne connais pas d'avance la longueur de la phrase qui va être écrite. Je dois donc recalculer X en fonction de Y à chaque fois.

Lemniscate
Membre Relatif
Messages: 300
Enregistré le: 18 Jan 2009, 20:55

par Lemniscate » 22 Jan 2009, 18:43

LOL ! Bon en voyant ta figure je comprends mieux !
Déjà tu as fait, ce me semble, une erreur en recopiant tes valeurs.

Je crois, d'après ta figure que :
- commence à Y=0 - X=25 / X=55
- se termine à Y=-440 / Y=-470 - X=500

Donc en fait à une valeur de X (sur l'axe horizontal) correspond plusieurs valeurs de Y (sur l'axe vertical), il s'agit de la zone bleue, sauf pour X=25!

De même à une valeur de Y correspond plusieurs valeur de X (sauf pour Y = -470), c'est toujours la zone bleue.

Pour t'en persuader, fixe par exemple une valeur de X comprise entre 26 et 500, trace la droite correspondante sur ton dessin (ce sera une droite verticale qui passe par le point (X=,Y=0). Ta droite coupera la zone bleue en plusieurs points.

Si tu veux tu peux trouver les équations des droites (diagonales) qui délimitent ta surface bleue par la méthode que je t'ai proposée. Mais je crois que phryte les a trouver.

Oublies les résultats numériques que j'avais trouvé car j'étais parti de mauvaises valeurs...

renaud63
Messages: 3
Enregistré le: 22 Jan 2009, 17:43

par renaud63 » 22 Jan 2009, 18:54

Arghhh !

Y'a pas un truc simple qui dirait que si Y = 105, alors X = 120, par exemple ?

Voila la fonction qui me donne la position de Y centré :

[PHP]
$size = imagettfbbox($taille_police,$angle,$police,$texte);
[/PHP]

Que j'appelle comme ceci :
$size = imagettfbbox(16, -45 , "Verdana", "ma jolie phrase centrée dans la diagonale");

et $size est un tableau PHP qui contient :

0 Coin inférieur gauche, abscisse
1 Coin inférieur gauche, ordonnée
2 Coin inférieur droit, abscisse
3 Coin inférieur droit, ordonnée
4 Coin supérieur droit, abscisse
5 Coin supérieur droit, ordonnée
6 Coin supérieur gauche, abscisse
7 Coin supérieur gauche, ordonnée

...D'un rectangle "virtuel" qui entoure le texte.

Avec ça, je sais calculer Y, mais (comme un naze), pas X !

phryte
Membre Irrationnel
Messages: 1406
Enregistré le: 05 Juil 2008, 18:09

par phryte » 22 Jan 2009, 19:12

Tu peux essayer : y1=-0.988*x+24.72 y2=-0.988*x+54.38

Selon ta convention tu peux essayer aussi :
Tu peux essayer :
y1=0.988*x-24.72
y2=0.988*x-54.38

Lemniscate
Membre Relatif
Messages: 300
Enregistré le: 18 Jan 2009, 20:55

par Lemniscate » 22 Jan 2009, 19:43

Bon ben je crois que je ne comprends pas ta question... Peut-être veux tu calculer, pour un Y donné, le X correspondant qui se trouve "au milieu" de ta bande bleue diagonale ? Si oui, tu peux trouver cette valeur, par la même méthode que je t'avais proposée. Tu peux aussi prendre les éuations de phryte :

y1=-0.988*x+24.72
y2=-0.988*x+54.38

et prendre la "moyenne" des deux, tu auras alors : Y=-0.988*X+(54.38+24.72)/2 c'est à dire : Y = -0.988*X + 39.55. Ainsi pour Y donné tu auras le X correspondant, qui se trouve au milieu de la bande...

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 113 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite