scatter 操作

语法

  • scatter(domain, nPoints, distributionType) { operations }
  • scatter(domain, nPoints, gaussian, scatterMean, scatterStddev) { operations }

参数

  1. domain - 选择器
    { surface | volume | scope } - 点的分布位置。 请注意,volume 仅在应用于封闭表面几何时才适用;即如果网格未封闭,则该操作将回退到 surface
  2. nPoints - 浮点型
    要分布的点数。
  3. distributionType - 选择器
    { uniform | gaussian } - 随机分布类型。
  4. scatterMean - 选择器
    { center | front | back | left | right | top | bottom } - 范围中要用作高斯正态分布的平均值的位置。 默认值为 center
  5. scatterStddev - 浮点型
    高斯正态分布的标准差。 请注意,此参数也可以采用相对坐标给出(并将产生依据范围维度的特定于轴的标准差)。 默认值为 0.16。
  6. operations
    要执行的一系列 CGA 操作。

说明

scatter 操作用于将点形状置于当前形状的几何内部或上方。 参数 nPoints 用于确定创建的点数。 第一个参数 domain 用于选择点的分布位置。 可以使用两个不同的随机分布(uniformgaussian);可选参数平均值用于描述点聚类相对于当前形状的中心位置。 当前可以设置为 center(默认值)、front, back, left, right, topbottom。 可选参数 deviation 用于描述标准差。

请注意,此参数也可以采用相对坐标给出(并将产生依据范围维度的特定于轴的标准差)。 默认情况下,偏差值设置为 '0.16。

scatter 操作不会影响子项形状的旋转,除非域设置为 surface。 然后将子项的范围定向为 y 方向与表面法线相对应。

注:
  • 子项形状的范围大小设置为 0。
  • 子项形状几何仅包含一个折点,您可能想要使用 i 操作插入几何。

示例

表面上的点分布

表面上的均匀点分布。

Init-->
   scatter(surface, 100, uniform) { Leaf }
   
Leaf-->
   primitiveCube()
   s(0.2,0.3,0.1)
   color("#ff0000")
表面上的均匀点分布

表面上的高斯正态点分布。

Init-->
   scatter(surface, 100, gaussian) { Leaf }
   
Leaf-->
   primitiveCube()
   s(0.2,0.3,0.1)
   color("#ff0000")
表面上的高斯正态点分布

同样为高斯正态点分布;分布平均值移至范围左侧,并使用较小的标准差。

Init-->
   scatter(surface, 100, gaussian, left, '0.1) { Leaf }
   
Leaf-->
   primitiveCube()
   s(0.2,0.3,0.1)
   color("#ff0000")
范围左移的高斯正态点分布

在本主题中