Как создать массив кругов внутри круга?

Я хочу разместить ровно 750 заполненных кругов в случайном массиве внутри круглой формы, по сути, статической версии этой инфографики . введите описание изображения здесь

Я рассматривал точечные графики (но это кажется таким же болезненным, как и ручное размещение каждого круга), эффект преобразования и инструменты смешивания (но они кажутся линейными или требуют движения, а не внутри пути). Интересно, нужно ли мне писать это в сценарии, но я никогда раньше этого не делал, поэтому было бы здорово, если бы вы могли рассказать, как именно я должен это сделать?

Один пользователь предложил сделать собственную кисть, однако это не позволяет мне указать точное количество кругов (мне нужно убедиться, что их 750). Одна вещь, которую я не упомянул ранее, это то, что я хочу выбрать и изменить цвет 162 кругов после того, как они были нарисованы, поэтому они должны оставаться редактируемыми.

Это хорошая ссылка, Скотт, но она не дает мне возможности указать точное количество кругов, которое мне нужно. Я отредактировал свой вопрос, чтобы уточнить разницу.
Боюсь, ответ в штатском максимально близок: graphicdesign.stackexchange.com/a/13688/3270 Illustrator не предлагает внутренней функции для автоматического распределения определенного количества объектов в пределах определенной области (кроме график разброса).
есть хороший шаг для подхода к программированию на mathematica stackexhange.
Вы можете вычислить площадь Y квадрата шириной X, где X — диаметр круга площадью 750, сделать квадрат из Y кругов, нарисовать над ним круг, а затем удалить все, что не входит в круг (используя навигатор?). Просто мысль.

Ответы (4)

Система частиц

Мой подход будет использовать генератор частиц. Но единственные, которые я знаю, предназначены для 3D-изображений.

Поэтому я бы использовал Blender, где вы можете определить количество частиц.

Поскольку вам нужно изменить цвет некоторых из них, я бы создал два базовых объекта (объект — это форма частицы, которая будет повторяться), чтобы создать две системы частиц.

Одна система с 162, а другая с 588.

Затем я выберу самосветящийся материал для частиц и контейнера, чтобы мой окончательный рендер выглядел плоским.

Если вам нужно «белое» разделение, вы можете подготовить материал Френеля. Это заставляет материал выглядеть одним цветом, если угол параллелен камере, и цвет меняется, если угол этой поверхности изменяется.

Ищите конкретное руководство о том, как этого добиться: https://www.google.com/search?q=blender+particle+systems .

Чтобы убедиться, что у вас есть точное количество частиц, сгенерируйте меньшее их количество, чтобы вы могли их подсчитать и подтвердить.

Если вы «бросите» их с некоторой высоты, у вас будет некоторая случайность в распределении.

Вы можете сделать это приличного размера. Но если вы оставите зазор между кругами, вы можете попытаться обвести их.

Распылите это

Другой способ сделать это — использовать инструмент «Распылитель» внутри Illustrator.

Основная идея заключается в том, что вы готовите символ круга, выбираете распылитель и... распыляете.

В любой момент вы можете выделить все объекты в одном слое для автоматического подсчета. (Информация о документе)

Вы можете подготовить разные слои, скажем, каждый с 50 объектами, чтобы вы могли отслеживать, сколько там объектов.

Недостаток этого метода в том, что некоторые круги могут накладываться друг на друга.

Я понимаю, что этот вопрос уже устарел, но, тем не менее, мне показалось, что было бы неплохо поработать над ответом, углубившись в подробности в одном из предложений, которые @Rafael сделал в своем ответе.

  1. Создайте символ — простой круг с обводкой и заливкой (или без обводки, если хотите). Щелкните и перетащите его в палитру «Символы» и дайте ему новое имя.

  2. Используйте инструмент «Распылитель символов» — затем в палитре «Символы» выберите созданный вами символ. Дважды щелкните инструмент, чтобы открыть его настройки. Если вы правильно подберете интенсивность и плотность инструмента, точки не будут перекрываться. Возможно, вам придется поэкспериментировать с настройками, чтобы заставить его работать правильно.

  3. Щелкните Window> Document Infoи выберите Objectsпредставление в меню.

  4. Нажимайте Object> Expand, чтобы время от времени расширять набор символов, после чего в окне «Информация о документе» вы увидите, сколько существует экземпляров символов.

  5. Отмените расширение с помощью CTRL+ Z(отменить). Это превращает его обратно в набор символов. Продолжайте распылять в середину набора символов, чтобы добавить больше точек.

  6. Продолжайте проверять номер, как и раньше, время от времени повторяя шаги 4 и 5. По мере того, как вы приближаетесь к требуемому числу, щелкайте меньше раз между проверкой чисел с помощью трюка Expand, как и раньше. Если вы действительно близки к этому числу, нажимайте по одному, пока не получите точное требуемое число. Если вы промахнулись, вы можете использовать CTRL+ Zдля отмены.

  7. Когда вы закончите, нажмите Object> Expandдва раза. Это превратит все символы в объекты.

  8. Чтобы раскрасить точки, нажмите Object> Live Paint> Make-, а затем Select> Deselect.

  9. Используйте Live Paint Bucket, чтобы заполнить точки разными цветами. Для этого выберите цвет заливки, наведите указатель мыши на точку, которую хотите изменить, и щелкните внутри нее. Вы даже можете щелкнуть и перетащить Live Paint Bucket, чтобы применить его к нескольким точкам одновременно.

Вот пример, который я создал, используя методы, описанные выше. Я использовал его, чтобы сделать ровно 550 точек. Обратите внимание, что я использовал направляющие, чтобы отметить середину круга, чтобы каждый раз наносить символы в одном и том же месте.

Пример работы, созданной с использованием этих техник

Я не пользователь Illustrator, но как вам удалось так идеально распределить круги, то есть без перекрытий?
@filip Прочитайте шаг 2 в ответе

Как насчет того, чтобы поместить 750 • маркеров в круглую текстовую рамку?

Круг кадр

Чтобы получить неравномерное распределение, установите другое базовое расстояние для первых двух символов и скопируйте/вставьте их, пока не получите 750 символов.

Базовый уровень

Меняйте цвета автоматически, выделяя текст, разгруппируя и используя этот скрипт

Конец

Это была интересная задача, поэтому я написал небольшой скрипт для создания круга с заданным количеством меньших кругов внутри него. Вы можете поиграть с ним здесь:

https://jsfiddle.net/filipux/uL0q1x6g/

созданные круги