Hacker News new | ask | show | jobs
by virtualritz 1274 days ago
This is standard knowledge in product design.

Most people doing font design also have a keen understanding of this.

Even if often more intuitively that through maths.

That said, in 2D you can get away with tangent continuity (C1) and stuff looks good.

I.e. while people may be able to tell the difference between a square with corners that have been rounded using quadratic arcs and one that uses cubic arcs or is a superellipse of some sort, these are all still looking fine.

In 3D, outlines will also look ok but a soon as you have shading anything that is not curvature continuous (C2) will stick out sorely.

The term most often used for the visual artifact that ensures is 'broken highlights' (see the photos in the article).

For example, if you write displacement or bump shaders and you transition between ('smooth') functions and want to maintain a smooth surface appearance, smoothstep()[0] is not enough. It is only C1 continuous.

You need a higher order variant, e.g. Ken Perlin's own improved version that is C2 continuous[1].

CAD software usually has zebra strip analysis shading which makes these things stick out so they can be fixed by rebuilding/retopologizing surfaces.

[0] https://en.m.wikipedia.org/wiki/Smoothstep

[1] https://en.m.wikipedia.org/wiki/Smoothstep#Variants

1 comments

All major roads do this too. If the transition from a straight line to moving on a circular path happened instantly, then drivers would have to instantly turn their steering wheels to the correct angle for the turn. Very very occasionally i'll encounter a turn with that discontinuity and it feels really unsafe and jarring. I wouldn't be surprised if some residential roads were intentionally designed this way to help limit speed.