Закруглені кути - вони всюди!


Про тому, як Стів Джобс вивчав роботу своїх підлеглих під мікроскопом, ходять легенди. Але ось зовсім реальний випадок, коли талановита робота від « чарівного стусана » Стіва перетворилася геніальним творінням, яке стало частиною історії не тільки Apple.
Травень 1981 року.
Розповідає Енді Херцфельд .
Велику частину часу Білл Аткінсон працював вдома, але як тільки він досягав якихось вагомих успіхів — відразу поспішав в Apple, щоб хто-небудь оцінив його старання. В цього разу він прийшов в офіс проекту Macintosh, який розташовувався в « Вежах Тексако » ;, щоб показати свіжі процедури промальовування овалів, створені на основі реально хитрих алгоритмів.
Білл додав новий код в програму QuickDraw (тоді вона ще називалася LisaGraf), через що процес малювання овалів і кіл став дуже швидким. На Макінтош це було непростим завданням, оскільки математика кіл включала в себе операцію вилучення кореня, а процесор 68000, на якому працювали Lisa і Macintosh, що не підтримував операції з плаваючою комою. Однак Білл придумав хитрий спосіб обійти це обмеження, організувавши обчислення геометрії кола тільки підсумовуванням і вирахуванням — навіть обійшовшись без множення і ділення, які 68000 підтримував, але виконував досить повільно.
В своїй методиці Білл використовував правило, згідно з яким сума непарних чисел завжди приводила до ідеального квадрату (наприклад, 1 + 3 = 4, 1 + 3 + 5 = 9, 1 + 2 + 5 + 7 = 16 і ; т. д.). Таким ось чином, шляхом циклічного підсумовування і додаткового вирахування, він міг обчислювати необхідні координати. Ця, на перший погляд, проста техніка забезпечила дуже швидку промальовування овалів в QuickDraw.

Білл запустив свою демку і швидко — набагато швидше, ніж ви думаєте — заповнив екран Лізи овалами різної величини. Однак Стіва Джобса щось турбувало.
— Ну, кола і овали — це круто, — сказав Стів. — Але як ти намалюєш прямокутники зі округленими кутами? Ми це теж можемо?
— Ні, для цього у нас немає способу, — відповів Білл. — Так і по правді це було б дуже важко зробити, не думаю, що це нам потрібно.
Думаю, Білл трохи образився, що Стів НЕ радів швидкої промальовуванні овалів, а хотів ще більшого. Тим часом Стів пішов в наступ.
— Закруглені кути всюди! Поглянь на цю кімнату!
Звичайно, там було багато таких предметів: настінна дошка, кілька столів і стільців. А потім Стів показав на вікно:
— А тепер подивися на вулицю: там їх ще більше, майже скрізь, куди б ти не глянув!
Стів навіть переконав Білла пройтися з ним по найближчого кварталу, показуючи на кожен округлений кут, який тільки попадався на очі. Коли ж їм зустрівся на шляхи знак « парковка заборонена » зі округленими кутами, фокус спрацював.
— Гаразд, здаюся, — сказав Білл. — Я перевірю, так чи це складно, як я думав.
І він пішов додому працювати. В « Вежі Тексако » Білл повернувся на наступний день з широкою посмішкою на особі. Його нова демка малювала прямокутники з ідеально округленими кутами практично так само швидко, як прості прямокутники. Додавши новий код в LisaGraf, новий примітив він назвав RoundRects. В протягом наступних декількох місяців RoundRects окопалися у багатьох частинах призначеного для користувача інтерфейсу і незабаром стали його невід'ємною частиною.
Енді Херцфельд — американський вчений і винахідник, який з +1979 по 1984 рік брав участь в розробці програмного забезпечення для « Макінтош » ;. Після відходу з Apple в різні роки заснував три компанії, а в 2005 році прийшов на роботу в Google. Саме Херцфельд зіграв ключову роль в розробці « кіл » соціальної мережі Google +.
Джерело: Folklore.org .