I recently got tip on a 3D version of round rectangles, called octasphere: <a href="https://prideout.net/blog/octasphere/" rel="nofollow">https://prideout.net/blog/octasphere/</a><p>It's not a direct-to-screen rendering technique like the article, rather a way to procedurally construct the 3D mesh based on few parameters (W,H,D, radius, # of subdivisions). Just like rectangles in 2D, boxes in 3D are too simple and have harsh sharp edges. Adding rounded edges makes them nicer to look at. Additionally, the octasphere method gives you capsules and spheres and everything in-between.<p>Edit: Oh look - there's a front page article that talks about this in-depth: <a href="https://wwwtyro.net/2021/09/24/rounded-box.html" rel="nofollow">https://wwwtyro.net/2021/09/24/rounded-box.html</a>
Windows 11 just re-introduced rounded rectangles for window borders, and I kind of like it. Also seems we're leaving flat surfaces behind for something more skeuomorphic again.
It is amazing that in those days, interface design belonged more to R&D departments (having people from academia) than marketing and design. For example, professors, PHDs and their students (Jef Raskin, Bill Atkinson) worked on Macintosh design. Similarly at Xerox Park.
I am curious why the rounded rectangle would be hard to draw. The circle primitive is already going to exploit symmetry and draw four (or eight) symmetric points at a time, computing them centered at (0,0) and shifting them to the center of the circle. Why would it be hard to shift those four pixels by four different centers (the four corners of the rectangle plus/minus the radius)? Filling them would not be any harder, either, and drawing thick lines would be harder but---again---just as hard as drawing a circle with thick lines.
this made me think, what's the math for a rounded rectangle then <a href="https://math.stackexchange.com/questions/1649714/whats-the-equation-for-a-rectircle-perfect-rounded-corner-rectangle-without-s" rel="nofollow">https://math.stackexchange.com/questions/1649714/whats-the-e...</a>