Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

подскажите обратную формулу


ВладОшин ©   (2015-12-21 09:04:00) 

в стороннем приложении имею коорд.сетку X/Y,
X и Y от -400 до 0 и до 400 включительно
координата внутри представлена одним числом

Методом проб выяснил, что так
 Z := (400-Y)*801 + (400+X) +1;

Наоборот наверняка тоже можно, т.е. из Z получить X и Y
но я что-то не соображу с утра и не попадаю )
надо тут что-то аля
(не попало, но как-то так должно быть)
 X := (Z mod 800) - 400 ;
 Y := (Z div 800) - 400 -1;


ВладОшин   (2015-12-21 09:43:00) [1]


> Рамиль ©   (21.12.15 09:36) [4]

да, вернее, похоже
спасибо


Рамиль   (2015-12-21 09:36:00) [2]

А так не вернее?
Y = 400-(Z-1) div 801;
X = (Z-1) mod 801-400;


ВладОшин   (2015-12-21 09:32:00) [3]


> Sha ©   (21.12.15 09:19) [1]

ну да
у меня 400 и 400 в голове, + = 800
дурацкий 0 посредине ))


ВладОшин   (2015-12-21 09:30:00) [4]

во, так похоже
 X := (Z mod 801) - 400 - 1;
 Y := 400 - (Z div 801);


Sha   (2015-12-21 09:19:00) [5]

ВладОшин ©   (21.12.15 09:04)  

зачем делишь на 800, если умножаешь на 801?


Наверх

Титульная страница Поиск, карта сайта Написать письмо