如何在一个圆圈内创建一个圆圈数组?

平面设计 adobe-illustrator 插画脚本 信息图形 数据可视化
2022-02-21 17:23:40

我希望将 750 个实心圆圈放置在一个圆形内的随机数组中,本质上是这个信息图的静态版本 在此处输入图像描述

我考虑过散点图(但这似乎与手动放置每个圆圈一样痛苦)、变换效果和混合工具(但这些似乎是线性的,或者需要沿着路径进行,而不是在路径内)。我想知道我是否需要为此编写脚本,但我以前从未这样做过,所以如果你能准确地说明我应该如何处理这件事,我会喜欢它吗?

一位用户建议制作一个自定义画笔,但是这不允许我指定确切的圈数(我需要确保有 750 个)。我之前没有提到的一件事是,一旦绘制了 162 个圆圈,我想选择并更改它们的颜色,因此它们需要保持可编辑状态。

4个回答

粒子系统

我的方法是使用粒子生成器。但我知道的只有 3D 图像。

所以我会使用 Blender,你可以在其中定义粒子的数量。

由于您需要更改其中一些的颜色,我将创建两个基础对象(一个对象是要重复的粒子的形状)来创建两个粒子系统。

一个系统有 162,另一个系统有 588。

然后我会为粒子和容器选择一种自发光材质,这样我的最终渲染看起来是平坦的。

如果您需要“白色”分离,您可以准备菲涅耳材料。如果角度与相机平行,这会使材料看起来是一种颜色,并且如果该表面的角度发生变化,颜色也会发生变化。

查找有关如何实现此目的的特定教程:https ://www.google.com/search?q=blender+particle+systems

为确保您拥有准确数量的粒子,生成的粒子数量较少,因此您可以对它们进行计数并确认。

如果您将它们“掉落”到某个高度,您将在分布中产生一些随机性。

您可以将其渲染为合适的尺寸。但是,如果您在圆圈之间留下空隙,您可以尝试追踪它们。

喷一下

另一种方法是使用 Illustrator 中的“喷涂”工具。

基本思想是你准备一个圆圈的符号,选择喷涂工具,然后……喷涂。

您可以随时选择一层中的所有对象进行自动计数。(文件信息)

您可以准备不同的图层,比如说每个图层有 50 个对象,这样您就可以跟踪那里有多少对象。

这种方法的缺点是一些圆圈可以一个在另一个之上重叠。

我意识到这个问题现在已经过时了,但是尽管如此,通过在@Rafael 在他的回答中提出的建议之一中进一步详细说明,解决答案似乎是一个很好的挑战。

  1. 创建一个符号 - 一个简单的圆圈,带有一个笔划和一个填充(如果您愿意,也可以没有笔划)。单击并将其拖到符号面板中 - 并给它一个新名称。

  2. 使用 Symbol Sprayer Tool - 然后在 Symbols 面板中,选择您创建的符号。双击该工具以显示其设置。如果您正确选择工具的强度和密度,这些点将不会重叠。您可能必须尝试设置才能使其正常工作。

  3. 单击Window> Document Info,然后Objects从菜单中选择视图。

  4. 单击Object>Expand以不时展开符号集,然后在 Document Info 窗口中您将看到有多少个 Symbol Instances。

  5. CTRL使用+ Z(撤消)撤消展开。这会将其重新转换为符号集。继续喷涂到符号集的中间以添加更多点。

  6. 通过不时重复步骤 4 和 5 继续检查数字。当您接近所需的数字时,在使用“扩展”技巧检查数字之间单击更少的次数,就像以前一样。如果您确实接近该数字,请一次单击一个,直到您获得所需的确切数字。如果超调,可以使用CTRL+Z撤消。

  7. 完成后,单击Object>Expand两次。这会将所有符号变成对象。

  8. 要为点着色,请单击Object> Live Paint> Make- 然后Select> Deselect

  9. 使用 Live Paint Bucket 填充不同颜色的点。为此,请选择一种填充颜色,将鼠标悬停在要更改的点上并在其中单击。您甚至可以单击并拖动 Live Paint Bucket 以一次将其应用于多个点。

这是我使用上述技术创建的示例。我用它精确地制作了 550 个点。请注意,我使用指南来标记圆圈的中间,这样我就可以每次都在完全相同的位置喷涂符号。

使用这些技术创建的艺术品示例

将 750 • 个项目符号字符放在一个圆形文本框架中怎么样?

圆形框架

要获得不规则分布,请为前两个字符设置不同的基线距离并复制/粘贴它们直到获得 750 个字符。

基线

更改颜色自动勾勒文本,取消分组并使用此脚本

结尾

这是一个有趣的问题,所以我编写了一个小脚本来生成一个圆圈,其中包含指定数量的小圆圈。你可以在这里玩它:

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

生成的圈子