Вот решение, хотя и не особо умное.
На основании формы вашей пластинки вы можете вычислить, насколько близко пластинка может добраться до другой пластинки без наложения (может потребоваться определенное вращение). Пусть это расстояние между центрами будет d. Создайте 2d массив для вашего дисплея с некоторым разрешением, чтобы он полностью содержал ваш круг.
Массив может иметь ноль или 1 значение. 0 означает, что вы можете поместить новую снежинку там, что вы не можете. Пометьте все за пределами круга как 1. Теперь выберите случайный центр для хлопьев. Когда вы поместите его туда, отметьте все точки в радиусе d вокруг него с помощью 1. Создайте еще одну случайную точку. Если это 1, продолжайте генерировать другую случайную точку, пока не найдете 0. Как только вы ее найдете, поместите туда новую снежинку и отметьте все вокруг нее радиусом d. Иногда, когда хлопья находятся слишком близко, вам придется поворачивать их соответствующим образом, чтобы они не перекрывались.
Как только вы дойдете до конца, поиск пустого места может занять все больше и больше времени. В этот момент вы можете просканировать массив, составить список пустых точек, а затем просто выбрать случайные точки оттуда.