我正在尝试使用 OPENGL 或 P3D 库通过 Processing.org 以 3D 显示 SVG 文件。此处记录的问题(以及其他地方:1、2和不受欢迎的库 hack)是这些渲染器不支持复杂的形状(那些有孔或复杂中断的)。
是否有图形的 SVG 替代品,或者我可以使用的其他库?
以下是图像文件和代码示例。第一个图像使用默认渲染器:
此图像使用 OPENGL 3D 库。你可以看到它很难重现 SVG 文件。
我已经发布了这个草图的压缩包,下面有图片和代码。取消注释 OPENGL 行并注释默认行以查看问题。
import processing.opengl.*;
float wh = 0;
void setup() {
//size(600, 600, OPENGL); // use OPENGL
size(600, 600); // use default library
background(255);
smooth();
}
void draw() {
wh = random(40, 200);
PShape s;
String file = "gear" + ceil(random(0, 12)) + ".svg";
s = loadShape(file);
shape(s, random(-20, width), random(-20, height), wh, wh);
}