1.4.0 Update
I have just released v1.4.0 of PGS and I’m once again presenting some of the new functionality here:








I have just released v1.4.0 of PGS and I’m once again presenting some of the new functionality here:








This library is incredible, thank you! Previous releases included a javadoc jar which I used to create a PGS docset for Dash via their javadocset tool. Would it be possible to get the updated javadocs as well?
Thanks again!
Thanks!
I’ve now added the javadoc jar to the release on Github.
I’ve recently released 2.0, which takes the codebase to Java 17.
With the new update, PGS is now finally available on Processing’s contribution manager as “Geometry Suite for Processing”.
A few examples of new features:




New features, and various enhancements and fixes. Available in contribution manager or Github.


Hi hi
Thank you for PGS Michael! ![]()
I’ve been having fun with it from OPENRNDR and created things like this:
I’m writing because I just tried the Sponge feature and I’m getting unexpected results, and I’m not sure if I’m using it wrong, if something is wrong on the OPENRNDR side, or it’s something else.
Is it expected that createSponge returns a PShape of type PShape.PATH ? I was expecting it to have children for each hole…
Also… is this a good place to ask? Or better on GitHub?
Thanks!
Hey, please you’re using it!
Github is generally better, but we can stay here for now.
The type and childcount are expected. Holes are defined via Processing contours. Might there be a PShape rendering issue with OPENRNDR that doesn’t properly account for Processing’s strange way of defining holes? (i.e)
This is what I get for those args (albeit a different width/height):
Thank you for the useful link! Sounds like it will help me figure out the issue ![]()
Update:
The issue was in the conversion from PShape to ShapeContour ![]()
Hi! In the PGS readme in GitHub (down at the moment) I see an image labeled “Multiplicatively Weighted Voronoi”.
When I try this program:
import micycle.pgs.*;
import java.util.List;
PShape design;
void setup() {
size(600, 600);
List<PVector> points = PGS_PointSet.random(50.0, 50.0, width - 50.0, height - 50.0, 50);
println(points.size());
double[] bounds = { 30.0d, 30.0d, width - 30.0d, height - 30.0d };
design = PGS_Voronoi.multiplicativelyWeightedVoronoi(points, bounds, true);
}
void draw() {
background(0);
shape(design);
}
it produces this image
but it doesn’t have the nice curves I see in the readme:

Do you have any curves to spare? ![]()
Thank you ![]()
The MWVD uses the .z value of each point for the multiplicative weight of the site.
Since all your weights are equal (0), you effectively get a regular voronoi diagram.
(PGS_PointSet.applyRandomWeights() might be of use).