Мы имеем входную (в метод) world-позицию клетки поля. Нам нужно получить grid-позицию нашей клетки
**Синяя** точка - левый нижний угол поля
**Красня** точка - входная world-позиция
**Розовая** точка - смещенная в центр клетки **красная** точка
<br>
### Находим центр у клетки
Чтобы явно понимать, какую клетку мы ищем, мы смещаем точку в центр, относительно клетки. Потому что явно непонятно, в какой клетке точка имеет отношение, потому что точка находится между 4-ями клетками.
1. Чтобы найти центр клетки, нам нужно поделить размер (длины сторон) клетки на 2.
2. Чтобы иметь координату с учетом центра клетки, нам нужно сместить координату и получить координату конкретной клетки.
![[Как рассчитать grid-позицию, имея world-позицию.png]]
<br>
### Нормализуем world-позицию клетки
Для дальнейших расчетов нам нужно нормализовать входную позицию. А именно, получить координаты входной точки относительно левого нижнего края поля.
Из входной world-позиции мы вычитаем world-позицию левого нижнего угла поля и получаем позицию входной точки относительно левого нижнего угла в world-единицах. Тем самым мы имеем нормализованную входную позицию (розовой точки).![[Как рассчитать grid-позицию, имея world-позицию38B54319-63E1-4EDD-B97F-9E47312591742.png]]
<br>
### Получаем позицию, выраженную в процентах
Для следующего расчета необходимо получить позицию в процентах (от 0 до 1) между левым нижним углом и правым верхнем углом.
Где 0 процентов - левый нижний угол поля, а 100% - правый верхний угол поля.
Нормализованную позицию мы делим на длину сторон поля и тем самым получаем позицию в процентах.
![[Как рассчитать grid-позицию, имея world-позициюF8637620-5265-43A1-BB7E-AAB5A9038455.png]]
<br>
### Получаем grid-позицию из позиции в процентах
Для получения grid-позиции осталось посчитать последнюю формулу.
Позицию в процентах умножаем на длину сторон, выраженную в клетках (grid-единицах).
В данном примере у нас поле размером 12 на 6 grid-единиц (единица измерения внутри поля)
Мы получаем grid-позицию (4, 10)
![[Как рассчитать grid-позицию, имея world-позицию96E257EB-39E4-4CC2-9E98-45C173C4E8A7.png]]