Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was expecting the same.

I don't agree with a lot of what Jobs did, but he was absolutely right about rounded rectangles.

> Bill's technique used the fact the sum of a sequence of odd numbers is always the next perfect square (For example, 1 + 3 = 4, 1 + 3 + 5 = 9, 1 + 3 + 5 + 7 = 16, etc). So he could figure out when to bump the dependent coordinate value by iterating in a loop until a threshold was exceeded. This allowed QuickDraw to draw ovals very quickly.

Still blows my mind. I have a hankering to try to blind-rewrite this algorithm knowing only the above.



That would be a variant of Bresenham's circle algorithm: https://en.wikipedia.org/wiki/Midpoint_circle_algorithm

Certainly a fun exercise...


Were square roots really so slow that integer addition in a loop was faster??


68000 processor on the Mac didn't support floating point operations.


I wouldn't be surprised if that is still the case. Rule of thumb is that sqrt is on the order of 10x as expensive as integer addition, though this obviously depends on a lot of factors.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: