2015-04-24 1 views
0

Quelqu'un peut-il me montrer comment convertir les coordonnées de l'écran en complexes? Cette photo montre les détails spécifiques à propos de la conversion Conversion des coordonnées de l'écran en coordonnées complexes

Fournir avec les étapes de la façon dont vous obtenez une relation entre les deux serait très appréciée.

Merci

+0

Ceci n'est pas une question de programmation. Cette astuce, êtes-vous sûr que vous voulez -2 dans le coin supérieur gauche, et non pas -1? –

+0

yeh im sure ses -2 et non -1 – gmoney

+0

Explorer les littéraux définis par l'utilisateur –

Répondre

1

écran -> Complexe

Conversion:

screenPointX .. X coordinate on the screen 
screenPointY .. Y coordinate on the screen 
screenWidth .. width of the screen 
screenHeight .. height of the screen 
re   .. real component of resulting complex 
im   .. imaginary component of resulting complex 

re = 3 * screenPointX/screenWidth - 2 
im = 1 - 2 * screenPointY/screenHeight 

Exemple C++ mise en œuvre:

template<class T> 
std::complex<T> screenToComplex(
    T screenPointX, 
    T screenPointY, 
    T screenWidth, 
    T screenHeight) 
{ 
    T re = 3 * screenPointX/screenWidth - 2; 
    T im = 1 - 2 * screenPointY/screenHeight; 
    return std::complex<T>(re, im); 
} 

Juste pour réarranger l'inverse.

0
 
Screen coordinate [0,0]   -> Complex coordinate [-2, 1] 
Screen coordinate [width,height] -> Complex coordinate [1, -1] 

Screen X coordinate [x]   -> Complex coordinate [-2 + 3*x/width] 
Screen Y coordinate [y]   -> Complex coordinate [1 - 2*y/height] 
+0

Utilisez 'y/height' au lieu de' x/height'. –

+0

@BetaCarotin, merci. c'est réparé. –