加工中的形状联合?

Shape union in processing?

我正在学习处理并尝试创建一个包含复杂形状(路径)的 SVG 文件,它应该是六边形和矩形的并集。但是,不幸的是,我在 PShape 上找不到任何集合操作。

我在 Processing 论坛上发现了有用的 ErraticGenerator answer。这个想法是使用 g.js 库和 p5js 绘图方法。

在 index.html 中包含脚本:

<script src="https://cdn.rawgit.com/nodebox/g.js/master/dist/g.min.js"></script>

草图示例:

function setup() {
  createCanvas(400, 400)
  noLoop()
}

function draw() {
  let rect = g.rect(50, 50, 100, 100)
  let ellipse = g.ellipse(100, 100, 100, 100)
  let union = g.compound(rect, ellipse, 'union')
  union.fill = null
  union.stroke = 'red'
  union.draw(drawingContext)
}

这也适用于 p5.js-svg!