Вместо того, чтобы спрашивать «как определить количество шариков внутри каждой маленькой области», вы должны спрашивать «для каждого шара, в какой области находится этот шарик».
Я не думаю, что это очень хорошая проблема для вас, потому что это относительно простая задача программирования (я надеюсь), но это очень сложная проблема геометрии. Самым сложным будет определение областей.
Как говорится, вот как я подхожу к математической задаче:
Смоделируйте каждую линию как линейное уравнение: y = mx + c. Область будет определяться тем, какие уравнения влияют на нее и является ли y> или <значением y строки. В основном это означает, что каждая область определяется как ряд математических ограничений. </p>
Чтобы проверить, находится ли точка внутри области, для каждого ограничения этой области введите значение x точки в уравнение и сравните значение y точки с значением y линии при этом значении x. Если точка удовлетворяет каждому ограничению, она называется находящейся внутри области.
Чтобы определить, в какой области находится точка, просто примените этот процесс для каждой области, пока одна из них не вернет значение true. Затем добавьте эту точку в список точек этой области. Затем вы можете просто посчитать количество точек в каждой области.
Если это кажется трудным, это потому, что это так. Я бы предложил отложить это на время.