G0-G3 corners, visualised: learn what "Apple corners" are
56 points
3 days ago
| 9 comments
| printables.com
| HN
junon
2 hours ago
[-]
If anyone wants a good primer into curves, Freya Holmér has an amazing deep dive into continuity.

https://youtu.be/jvPPXbo87ds?si=7IbeklF4p9qg1F6X

reply
dgroshev
14 minutes ago
[-]
It's a lovely video! I linked it in the description, and I strongly recommend the other videos too.
reply
LiamPowell
4 hours ago
[-]
These corners are so close that they're going to have no practical difference when 3D printing them, the maximum deviation between G1 and G3 is only 0.1mm. You need to exaggerate the effect much more to show the difference.

> 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.

reply
ricardobeat
2 hours ago
[-]
> the maximum deviation between G1 and G3 is only 0.1mm

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.

reply
LiamPowell
1 hour ago
[-]
I may have measured incorrectly in the provided model then. That's still pushing things at 3D printer scales, especially when you don't have a polished surface. I also think an internal corner might be more noticeable by feel.
reply
kergonath
1 hour ago
[-]
> the maximum deviation between G1 and G3 is only 0.1mm. You need to exaggerate the effect much more to show the difference.

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.

reply
baq
9 minutes ago
[-]
> be felt with the fingers

reminded me of https://en.wikipedia.org/wiki/Achim_Leistner

reply
dgroshev
10 minutes ago
[-]
It seems small in absolute terms, but it's suprisingly visible, even to "normal" people, which was the entire point of making a physical object!

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.

reply
ricardobeat
3 hours ago
[-]
One thing they don’t mention is that smooth G2/G3 corners will print horribly (with FDM) if added to vertical corners, there just aren’t enough layers even with a 0.2mm nozzle. You can see they use a straight chamfer on the example piece.

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.

reply
Someone
2 hours ago
[-]
Apple is 3D-printing Apple-like objects (https://www.apple.com/newsroom/2025/11/mapping-the-future-wi...), so one can hope this will trickle-down to hobbyist price points some time in the future.
reply
supermatt
1 hour ago
[-]
There was a kickstarter for a $3000 SLS printer a while ago. Formlabs (who have over 50% of the SLS market) promptly bought the company and shut down the kickstarter - and gave backers a $1000 coupon towards their $30000 SLS printers...
reply
javawizard
29 minutes ago
[-]
That pissed me off so much.

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.)

reply
hobofan
21 minutes ago
[-]
> I wish they'd tried

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.

reply
kergonath
1 hour ago
[-]
Each method has its limitations. The technique they use (melting powder with lasers) is completely different to what people typically do at home (using either photosensitive resin or filaments).
reply
VBprogrammer
1 hour ago
[-]
Working within the limitations of a medium is a skill as old as time. Often work arounds for the limitations become design features that people come to expect. 3d prints typically use more chamfers than fillets for exactly this reason.

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.

reply
owobeid
2 hours ago
[-]
Are there good ways of achieving this in tools like Blender and Illustrator? My best result so far in Illustrator was to round corners first and then apply a small amount of smooth but it looks a bit wonky.
reply
EZ-E
3 hours ago
[-]
I thought this was going to talk about all the competing, different corners radiuses on MacOS windows

(is plural of radius radiuses? or radii?)

reply
ZiiS
3 hours ago
[-]
I am sure we can now obsess over their different continuities as well as radii. (Either is fine)
reply
ZiiS
3 hours ago
[-]
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"));
reply
atoav
3 hours ago
[-]
As someone who modeled surfaces like this for a living:

  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.

reply
kuschku
1 hour ago
[-]
This same effect also shows up in other fields:

- 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

reply
javawizard
24 minutes ago
[-]
Well now I'm curious: what's the limit of G<n> as <n> goes to infinity?

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)

reply
baq
2 hours ago
[-]
sounds like every step needs one more derivative to be continuous...?
reply
d--b
2 hours ago
[-]
This is also what's happening in an elevator. You not only want the speed to increase slowly, you also want the acceleration to increase slowly, cause that's what actually makes your guts go down. And the best way to do this is to have the acceleration of the acceleration continuous.

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

reply
andrewingram
1 hour ago
[-]
I'm always reminded of snap, crackle and pop (https://en.wikipedia.org/wiki/Fourth,_fifth,_and_sixth_deriv...) for this topic. Essentially it's not enough to just have continuous acceleration, you have to ease into it (low snap), you can probably go into further derivatives for ultra smoothness but maybe not worth it?
reply
quietbritishjim
1 hour ago
[-]
As your link says, acceleration is 2nd derivative of position, so rate of change of acceleration is 3rd derivative, often called jolt. As you say, you want acceleration to vary slowly, so it's low jolt that you want.

Snap (or jounce), crackle and pop are 4th/5th/6th derivative. They're probably less of a problem.

reply
nkrisc
34 minutes ago
[-]
I’ve also heard it called “jerk”.
reply
LiamPowell
2 hours ago
[-]
G and C continuity have slightly different meanings. You can have curves that are G^n but not C^n and vice-versa. I'll leave it to you to find a maths textbook that gives a better explanation than I would if I attempted to here.
reply
fennecfoxy
1 hour ago
[-]
It's just a corner with a huge radius...idk why the cult has suddenly attributed this to Apple. Perhaps because of the ridiculous court case.
reply
echoangle
1 hour ago
[-]
No, it’s not a circular shape, that’s the entire point of the article.
reply