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"));(is plural of radius radiuses? or radii?)
G0 Positional Continuity: The surfaces touch without gap, but there may be a sharp corner. Example: the corners of a cube
G1 Tangential Continuity: G0 but additionally the surfaces have the same slope (are tangential) at the point where they touch. Example: adding a circular fillet to the corners of a cube
This is where most basic CAD modellers would stop. The problem with just putting a cylindrical or a spherical fillet in a corner is that you basically go from a flat surface (zero curvature) to a surface with some curvature on a whim. If your surface is reflective that means you go from a flat mirror to a strongly distorting one instantly, this will visually appear as a edge even if there is none. Curvature btw. is just the reciprocal of radius (1/r)If we talk about forces (e.g. imagine a skateboard ramp) you go flat (no centripetal force) to circular (constant centripetal force) without any transition inbetween. In effect this will feel like a bump that can throw inexperienced skateboarders of their feet.
This means tangential transitions often do not cut it.
G2 Continuity: In addition to being G0 and G1 you additionally ensure the curvature is the same where both surfaces meet. This usually means instead of going from a flat surface into a circle you go into a curve that starta out flat and then bends slowly into a radius.
Now the curvature of a curve can be drawn as a curvature comb. You basically take the curvature at any point of the curve and draw the value as the length of a line that is perpendicular to the curve.G1 is if the perpendicular lines at the ends of the two curves align. G2 is if the curvature comb at the end of the two lines additionally has the same height (indicating the same curvature at the transition point).
G3 is basically just ensuring that the two curvature combs are tangential at the point where they meet. G4 is ensuring that the curvature combs are not only tangential, but have the same curvature. G5 is taking the curvature of the curvature...
By this point you may be able to sense a pattern.
In physics/mechanical engineering they have even names for these derivatives when we talk about motion (in this order):
position
velocity
acceleration
jerk
snap
crackle
pop
Also see: https://en.wikipedia.org/wiki/Jerk_%28physics%29- Why roller coaster loops aren't circular https://www.youtube.com/watch?v=3Kzl2suBE2w - Highway Engineering: Track transition curve https://en.wikipedia.org/wiki/Track_transition_curve
A truncated sine wave? (insofar as sine waves are their own derivative, shifted by 90 degrees, so if I'm doing my math right they would theoretically be G∞-continuous)
While dreaming up Apple-like objects I quickly discovered 3D-printing them with good surface finish is nearly impossible. Best we can do is Mac mini-like flat tops. Like most other manufacturing methods, its limitations heavily influence the design.
I was one of the backers and I was sooooo looking forward to an affordable home SLS printer. They'd done some incredible engineering, too, in service of getting the price point down to where it was.
Scaling up was going to be a massive challenge for them, but damn, I wish they'd tried instead of phoning it in early.
(Mind you, I'm sure Formlabs paid them handsomely. Would I make the same decision under the same circumstances? I honestly don't know. So far be it from me to judge them, but man do I wish someone would do something about Formlabs' ridiculous prices and monopoly over that space.)
I'm sure they've tried. From what I recall they've had serious reliability issues on the preview units. So I'd be skeptical if it would have even turned into a successfully delivered Kickstarter. They would have to deliver on that first before even concerning themselves with how to scale up.
So maybe they didn't even get handsomely paid in the acquisition, but were given an option to save face.
Most of the hobby grade printers are FDM, it's unlikely we'll evolve beyond the limitations of layer lines being a few tenths of a mm. UV resin printers however aren't ridiculously expensive and they have small enough layers that it's completely doable.
I just wish people would, as you are saying, work with and accept the inherent qualities of the medium rather than doing insane, foolish stuff like using carbon-fibre-filled filaments for surface finish.
Also, if you have that option, filler + sanding + paint can hide the layers completely, but preserve the overall shape.
In the end the position of the elevator is 3-continuous (why is it called G3? in France we call this C3). And the apple corner is just a graph of the position of an elevator wrt time. Mind blowing
Snap (or jounce), crackle and pop are 4th/5th/6th derivative. They're probably less of a problem.
I actually heard, many years ago, the higher derivatives referred to as "jerk" (3rd, as you said), "jolt" (4th) and "jounce" (5th). But that contradicts the Wikipedia article that says "jounce" is 4th derivative.
* reference: section 2.1 of https://graphics.stanford.edu/courses/cs348a-21-winter/Reade...
Blender has tools for at least basic nurbs modeling.
I am slightly skeptical on the need of this in 2d vector drawings (outside few very specific use cases). Big reason for having higher degree continuity of 3d surfaces in industrial design is that looking at reflection in mirror surfaces (like cars) makes the difference very obvious. For 2d drawings you can't really look at the side of it and see 1d reflection.
> a squircle doesn’t look like a square with surgery performed on it; it registers as an entity in its own right, like the shape of a smooth pebble in a riverbed, a unified and elemental whole.
But I seem to remember reading about Jobs or maybe Ive stating smooth pebbles as a source of inspiration for how objects should feel in the hand – I believe it was in the context of the first iPhone shape.
So you run into a weird situation where CAD software may pass around NURBS or B-splines with multiply inserted (or even fully inserted) knots, seriously reducing the need for using splines in the first place.
The problem is that splines are a really inconvenient and even unstable basis for doing numerical work... which is what all of CAD is.
Rhino also has really nice and performant curvature analysis tools, and a whole host of other tools for implementing Nurbs.
Alias is at least $5,000 / year per seat. Rhino is $995 for a perpetual license, with new versions coming out every 2.5 - 3 years and significant functionality upgrades each time.
McNeel also maintains OpenNurbs [1], an open source library [2] for the construction and use of Nurbs. This powers Rhino of course and is used in other software. I'm still waiting for someone to implement OpenNurbs natively and robustly on Linux. But I like the Rhino platform and McNeel as a company so much that I run it using wine.
[0] https://www.rhino3d.com/ Developed by McNeel Software [1] https://www.rhino3d.com/features/developer/opennurbs/ [2] https://github.com/mcneel/opennurbs
LiamPowell•2mo ago
> G3 continuous corners mean that the print head experiences smooth acceleration while printing such corners.
Axial acceleration is the key here, not just acceleration, that however does not matter if the controller does not output feedrate profiles with smooth acceleration to go along with it.
ricardobeat•2mo ago
In a small 100x100mm box, with a 12mm fillet, G1/G2/G3 corners already have a visible 0.5mm difference. What gives it away is the lack of a hard transition between the flat surface and the corner, that's very noticeable on a reflective surface.
On the mechanical side, I think the effect they refer to also comes down to that transition line - going from a straight line immediately into a curve (G1) which adds lateral forces, vs easing into that curve over a few more steps which avoids jerking the print head.
LiamPowell•2mo ago
anamexis•2mo ago
Consumer FDM 3D printers have an XY positional resolution on the order of 0.01 mm.
kergonath•2mo ago
Even if the difference is small, it can be very visible because of how light is scattered on the surface. This causes visible transitions when the splines intersect the sides. Depending on what you do, it might or might not matter, but there is a visible difference.
I cannot test, but I would think that it would also be felt with the fingers. Of course, it matters only if the surface is smooth enough in the first place.
baq•2mo ago
reminded me of https://en.wikipedia.org/wiki/Achim_Leistner
kergonath•2mo ago
dgroshev•2mo ago
I gave that object to a dozen people without explanation. Only one of them was a designer. All of them preferred G3 after comparing corners by look and touch for a few seconds. Honestly, I was surprised that it was this unanimous; I deliberately made the difference small.
Karliss•2mo ago
For a proper blind test it would help to have separate physical objects. Maybe even with varying corner sizes so that you can't easily rely on bigger=better intuition for comparing two corners of different objects.