среда, 10 августа 2011 г.

возможно это базис направления лонг тейлов. и еще меня эта история просто восхищает!


Май 1981 года.
Билл Аткинсон работал в основном из дома, но каждый раз когда у него получалось что-то особенное он спешил в Apple похвастаться. В этот раз он повяился в офисе в Texaco Towers чтобы показать реализацию рисования овалов, которая использовала очень хитрый алгоритм.
Билл добавил новый код к QuickDraw (который в то время все еще назывался LisaGraf), который рисовал окружности и овалы потрясающе быстро. Это не так просто было сделать на Макинтоше, поскольку это требует извлечение большого количества квадратных корней, в то время как 68000 процессор в Lisa и Macinthosh не поддерживал операции с плавающей запятой. Но Биллу удалось найти очень изящное решение, которое использовало только сложение и вычитание. Ему удалось обойтись даже без умножения и деления, что 68000 конечно умел, но делал это не очень быстро.
Его решение строилось на том факте, что сумма последовательных нечетных всегда является квадратом целого числа (например, 1 + 3 = 4, 1 + 3 + 5 = 9, 1 + 3 + 5 + 7 = 16, итд). Таким образом он мог вычислить когда в цикле нужно было увеличить соотвествующую координату. Это позволило QuickDraw рисовать овалы очень быстро.
Билл запустил демо и быстро заполнил экран Lisa овалами разной величины, быстрее чем кто-либо мог себе представить. Однако что-то беспокоило Стива Джобса. "Ладно, окружности и овалы это здорово, но как насчет прямоугольников со скругленными углами? Мы можем сделать это тоже?"
"Нет, это невозможно. Более того, я не думаю, что это вообще нам может когда либо понадобиться". Я думаю, что Билл был слегка растроен, что Стив не был в восторге от его новых алгоритмов и хотел чего-то еще.
Стив внезапно вошел в раж. "Скругленные прямоугольники окружают нас повсюду. Ты только посмотри вокруг себя." Действительно, он был прав, кругом было полно таких предметов. Затем он показал на улицу. "Посмотри снаружи, там их еще больше, они со всех сторон". Он потащил Билла на улицу и они сделали круг вокруг здания. Стив показывал на каждый скругленный прямоугольник, который встречался им на пути.
Наконец Стив и Билл подошли к знаку "No parking", который тоже обладал скругленными углами. "Ладно, я сдаюсь", сказал Билл. "Я посмотрю, что можно сделать". Он пошел домой и продолжил работу.
Билл вернулся в Texaco Towers на следующий день с большой улыбкой на лице. Он показал демку, которая рисовала прямоугольники с замечательно скругленными углами и делала это потрясающе быстро. Он добавил этот код в LisaGraf, назвав этот примитив "RoundRects". Через несколько месяцев скругленные прямоугольники проникли во все элементы пользовательского интерфейса и стали незаменимы.

нашел историю здесь.

1 комментарий: