Показать сообщение отдельно
Старый 10.01.2002, 12:51
C2Plus вне форума Посмотреть профиль Отправить личное сообщение для C2Plus Посетить домашнюю страницу C2Plus Найти все сообщения от C2Plus
  № 5  
C2Plus
  акула
 
Аватар для C2Plus

Регистрация: Mar 1999
Адрес: не проживает.
Сообщений: 2,077
Отправить сообщение для C2Plus с помощью ICQ
Тут Все просто. Тебе нужно найти на сколько меняется широта при изменении позиции курсора по Х на 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

Примерно так, я мог где-то ошибиться, ты уж извини. :)
Успехов. :)