У меня был этот код< /p>
Код: Выделить всё
def round_to_grid_center(coordinate,grid_spacing=0.5 ):
offset = grid_spacing / 2
return round(((coordinate - offset) / grid_spacing)) * grid_spacing + offset
[img]https://i .sstatic.net/XPSuzucg.png[/img]
поэтому я добавил это исправление. У меня это работает, но я уверен, что есть более эффективный метод округления координат до ближайшего центра квадрата сетки. Пожалуйста, дайте мне знать!
Код: Выделить всё
def round_to_grid_center(coordinate,grid_spacing=0.5 ):
#temp fix for round down error
if ((coordinate % 0.5)== 0 and (coordinate % 1 )!= 0):
offset = grid_spacing / 2
return round(((coordinate + 0.01 - offset) / grid_spacing)) * grid_spacing + offset
else:
offset = grid_spacing / 2
return round(((coordinate - offset) / grid_spacing)) * grid_spacing + offset

Подробнее здесь: https://stackoverflow.com/questions/792 ... rid-square
Мобильная версия