La conversion entre cartésiens et les coordonnées de l'écran

Pour mon jeu j'ai besoin de fonctions de conversion entre les deux systèmes de coordonnées. Eh bien, il est principalement question de mathématiques, mais ce dont j'ai besoin est le C++ le code pour le faire et un peu d'explication sur la façon de résoudre mon problème.

Écran coordiantes:

a) le coin en haut à gauche est 0,0

b) pas moins de valeurs

c) droit += x (le plus est la valeur de x, la plus à droite est le point)

d) bas +=y

Cartésien de coordonnées 2D:

un) point milieu est (0, 0)

b) les valeurs négatives existent

c) droit += x

d) bas -= y (moins il y, le plus bas est le point)

J'ai besoin d'un moyen facile de traduire à partir d'un système à l'autre et vice versa. Pour ce faire, (je pense) j'ai besoin de savoir où est le point (0, 0) [coin en haut à gauche dans l'écran des coordonnées] placé dans les coordonnées cartésiennes.

Il y a cependant un problème que pour certains point en coordonnées cartésiennes après le traduire à l'écran, la position en coordonnées d'écran peut être moins, ce qui est un non-sens. Je ne peux pas mettre coin supérieur gauche de l'écran de coordonnées (-inifity, +infini) coordonnées cartésiennes...

Comment puis-je résoudre ce problème? La seule solution que je vois est de la place de l'écran (0, 0) en coordonnées cartésiennes (0, 0) et n'utiliser que le quartier IV de système cartésien, mais dans ce cas, à l'aide de système cartésien est inutile...

Je suis sûr qu'il existe des moyens pour traduire à l'écran des coordonnées en coordonnées cartésiennes et vice-versa, mais je suis en train de faire quelque chose de mal dans ma pensée que les valeurs négatives.

l'écran de coordonnées cartésien? quand at-elle devenue non-cartésien?
il veut avoir des coordonnées négatives
l'axe Y est différente à l'écran et cartésienne.
Je vais prendre votre parole, mais je pensais Cartésien signifie simplement qu'il est R^2 avec L2 métrique (en.wikipedia.org/wiki/Cartesian_coordinate_system). Vous pouvez le retourner de toute façon que vous voulez tant que le retournement/transformation est une isométrie.
eh bien, vous avez raison, mais je pense que la question est understable.

OriginalL'auteur user1873947 | 2013-02-14