• Re: Bill Atkinson, rest in peace

    From Lawrence D'Oliveiro@ldo@nz.invalid to comp.misc,alt.lang.asm,comp.os.msdos.programmer on Mon Jun 16 23:18:04 2025
    From Newsgroup: alt.lang.asm

    On Mon, 16 Jun 2025 08:07:36 -0700, John Ames wrote:

    I don't know why they weren't added later (assuming they weren't,) but
    the reason RoundRects were a primitive unto themselves was performance.

    Au contraire. Atkinson was actually going to drop them from Macintosh QuickDraw (they were present in Lisa QuickDraw). There is an anecdote
    related somewhere on one of the Macintosh nostalgia sites where Steve Jobs took Bill out to the building grounds and walked him around a bit, showing
    him how often round rects occurred in nature and everyday surroundings,
    and therefore he *had* to include them as a drawing primitive.

    (No, I have no idea what examples of real-life round rects he came up
    with.)

    Plotting B|-zier curves in a generalized way requires *way* more math
    than Atkinson's technique, which doesn't even require multiplication:

    Oh, come on. De CasteljaurCOs algorithm was already well known. Decomposing
    a B|-zier into two sub-curves only requires additions and divisions by 2.
    As the pieces get smaller, they get closer to straight lines. Once each
    piece gets small enough, you draw it as a straight line; if itrCOs not small enough, you divide it and look at its sub-sub-pieces, and so on.

    Computing the deviations from a straight-line approximation for a curve segment does require multiplications and divisions, but the 68000 did have hardware integer multiply and divide, after all.
    --- Synchronet 3.21a-Linux NewsLink 1.2