I wanted to play with this in OpenSCAD; here is G1 vs G2
include <BOSL2/nurbs.scad>
$fn=16;
back(400) cuboid([200,200,100],rounding=50,edges="Z");
pts=subdivide_path(square([200,200],center=true),8);
linear_extrude(100) polygon(nurbs_curve(pts,2,splinesteps=$fn/4,type="closed"));