среда, 14 января 2015 г.

Вдогонку.

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


#!/usr/bin/env python3
# -*- coding: utf-8 -*-
 
#  Copyright 2014 denis8424 <denis8424blender@gmail.com> )))

# шаг ячейки

step = 2.0
# координата указателя мыши
x = 13.1
# рассчет ближайшей меньшей координаты ячейки
minX = (x//step)* step
# рассчет ближайшей большей координаты ячейки
maxX = minX + step
# смотрим, что получилось
print('minX-', minX, 'maxX-', maxX)
# временное расстояние
tempDist = 10000
# итоговая координата ячейки
pointX = 0
# берем поочередно меньшую и большую ближайшую координату
for koord in [minX, maxX]:
    # считаем расстояние между ней и координатой курсора
    dist = abs(koord - x)
    # если расстояние меньше временного
    if dist < tempDist:
        # то временная дистанция = полученной
        tempDist = dist
        # а итоговая координата = текущей
        pointX = koord
# любуемся на то, что получилось.
print('koord-', pointX)

Комментариев нет:

Отправить комментарий