
10.01.2002, 12:51
|
|
|
  акула
Регистрация: Mar 1999
Адрес: не проживает.
Сообщений: 2,077
|
Тут Все просто. Тебе нужно найти на сколько меняется широта при изменении позиции курсора по Х на 1. Тоже самое с Y. Это будет шаг сетки. Затем, отталкиваясь от одной известной точки, получаем смещение этой сетки.
Затем произхводим примерно следующее преобразование:
A(100, 90) == PIXEL1(X=50, Y=60);
B(60, 80) == PIXEL2(X=10, Y=50);
L1 = A(X) - B(X) = 40;
L2 = PIXEL1(X) - PIXEL2(X) = 40
StepX = L1/L2 // получаем шаг сетки по Х
аналогично для Y
Далее смещение:
OffsetX = A(X) - PIXEL1(x);
OffsetY = A(Y) - PIXEL1(Y);
далее собствено:
XCalc = (_Xmouse * StepX) + OffsetX
YCalc = (_Ymouse * StepY) + OffsetY
Примерно так, я мог где-то ошибиться, ты уж извини. :)
Успехов. :)
|