Changement de repère

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Khel
Messages: 5
Enregistré le: 19 Aoû 2019, 10:19

Changement de repère

par Khel » 19 Aoû 2019, 10:40

Bonjour à tous,

J'essaye de récupérer les coordonnées d'un point dans une texture alors que j'ai pour information ses coordonnées à l'écran.

Voici un schéma pour vous aider à comprendre.

Image

J'ai une texture en 640x480 (en bleu) dont je n'ai qu'une partie qui est affichée dans mon écran (en vert) qui a comme résolution 1536x2080.

J'ai pour informations :
_ Les repères sont dirigés dans le même sens,
_ La résolution de la texture et de l'écran,
_ Les coordonnées de mon pixel à l'écran (x,y),
_ Le haut de mon écran et de ma texture sont les mêmes (le 2048ème pixel de l'écran affiche le 480ème texel).

J'espère que vous pourrez m'aider et j'aimerais si possible avoir tout votre raisonnement pour savoir où je fais des erreurs.

Merci d'avance,
Cordialement,
Khel

EDIT : Je souhaite avoir les coordonnées dans le repère bleu, je les ai à la base dans le repère vert.
Modifié en dernier par Khel le 19 Aoû 2019, 11:29, modifié 2 fois.



lyceen95
Membre Complexe
Messages: 2263
Enregistré le: 14 Juin 2019, 23:42

Re: Changement de repère

par lyceen95 » 19 Aoû 2019, 10:53

L'étape n°1, c'est de données des noms clairs aux variables :
(x,y) = coordonnées du pixel dans le repère bleu
(x1,y1) = coordonnées du pixel dans le repère vert
Pour trouver y1, c'est facile :
y1 = 2048*y/640

Pour trouver x1, c'est un tout petit peu plus compliqué, mais en plus, avec les infos que tu donnes, on ne peut pas répondre.
La partie en vert est plus petite que la partie en bleu. Ca c'est ok. A priori, elle est centrée ( le milieu du rectangle vert coïncide avec le milieu du rectangle bleu). Mais on ne sait pas si la largeur du rectangle vert vaut la moitié de la largeur du rectangle bleu, ou les 3 quarts,ou ... ...
Il faut donc une information de plus.
Par exemple, il faut dire : quand x=100, x1 = 0 (autrement dit , le 1er trait vert passe par les points x=100)

Khel
Messages: 5
Enregistré le: 19 Aoû 2019, 10:19

Re: Changement de repère

par Khel » 19 Aoû 2019, 11:07

Le problème c'est que je n'ai pas ces informations, sinon cela aurait été nettement plus simple.
Toutes les informations que j'ai je vous les ai fournis.

EDIT : Et c'est dans le repère vert que j'ai les coordonnées, donc je les veux dans le repère bleu

lyceen95
Membre Complexe
Messages: 2263
Enregistré le: 14 Juin 2019, 23:42

Re: Changement de repère

par lyceen95 » 19 Aoû 2019, 12:03

Quand tu as fait ton dessin, tu as choisi de dessiner un rectangle vert dont la largeur est à peu près la moitié du rectangle bleu. C'est par hasard, c'est voulu ?
Le rectangle vert à l'air d'être centré par rapport au rectangle bleu, mais c'est juste une impression.

Tu imagines bien que ces 2 informations sont essentielles. Si tu ne les as pas, tu ne peux pas calculer les coordonnées dans le nouveau repère.
Si tu connais 2 points (le point en haut à droite et le point en bas à gauche), après, ça roule, les formules sont simples. Mais si tu ne connais aucun point, pas de solution.

Khel
Messages: 5
Enregistré le: 19 Aoû 2019, 10:19

Re: Changement de repère

par Khel » 19 Aoû 2019, 13:37

Mea culpa je n'ai pas précisé que le milieu du rectangle vert et bleu sont confondus.

Après que le rectangle vert soit à peu près la moitié du rectangle bleu est du pur hasard, je ne sais absolument pas s'il fait 12, 30, ou 80% du rectangle bleu. En prenant des mesures approximatives (donc à ne pas prendre en compte pour les calculs), il s'avèrerait que le rectangle vert corresponde à environ 60% de la surface bleue.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: Changement de repère

par fatal_error » 19 Aoû 2019, 14:00

hi,

mais ce qui est affiché à l'écran, c'est quoi la relation avec la zone bleue?
c'est l'image compactée (idem la totalité de la zone bleue est dans la zone verte, mais "à l'échelle")?
la vie est une fête :)

Khel
Messages: 5
Enregistré le: 19 Aoû 2019, 10:19

Re: Changement de repère

par Khel » 19 Aoû 2019, 14:17

En aucun cas la totalité de la zone bleue est dans la zone verte.

On va mettre une vraie image ce sera peut-être plus simple pour vous.
Toute l'image correspond à la zone bleue.
La zone verte correspond à ce qui est affichée à l'écran.

Image

La partie de gauche et de droite qui ne sont pas dans le cadre vert ne seront jamais affiché à l'écran.

lyceen95
Membre Complexe
Messages: 2263
Enregistré le: 14 Juin 2019, 23:42

Re: Changement de repère

par lyceen95 » 19 Aoû 2019, 14:50

J'ai l'information manquante : L'image ne doit pas être déformée.
2048 unités sur le repère vert correspondent à 480 unités sur le repère bleu.
Donc 1536 unités sur le repère vert correspondent à 480*1536/2048 = 360 unités du repère bleu.
Donc sur les 640 'colonnes' du dessin, on n'affiche que les 360 colonnes centrales.

Je considère que dans l'image totale les x vont de 0 à 639 (et pas de 1 à 640)
On affiche les 360 colonnes centrales, donc on zappe les 140 premières colonnes et les 140 dernières.

Qand x=140, x1=0 ; quand x= vaut 499, x1 vaut 1535 , donc la formule pour trouver x1 en fonction de x est :
x1 = (x-140) *1536/ 360
Ou pour trouver x en fonction de x1 : x= 140 + 360 * x1/1536

Khel
Messages: 5
Enregistré le: 19 Aoû 2019, 10:19

Re: Changement de repère

par Khel » 19 Aoû 2019, 15:39

Super, merci.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 58 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