2015-04-24 8 views
0

Может кто-нибудь, пожалуйста, покажите мне, как конвертировать из экранных координат в комплекс? На этом рисунке показаны конкретные подробности об конверсии Преобразование координат экрана в сложные координаты

Предоставление с помощью шагов, как вы получите отношения между двумя, будет действительно оценено.

Благодаря

+0

Это не вопрос программирования. Помните, вы уверены, что хотите «-2» в верхнем левом углу, а не '-1'? –

+0

yeh im sure its -2, а не -1 – gmoney

+0

Исследуйте определяемые пользователем литералы –

ответ

1

Экран -> Комплекс

Конверсия:

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 

Пример C++ реализация:

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); 
} 

Просто переставить другой путь вокруг.

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

Используйте 'y/height' вместо' x/height'. –

+0

@BetaCarotin, спасибо. это фиксированная. –

Смежные вопросы