Sketchpad (Скетчпад — альбом [блокнот] для ескізів; або — робот-кресляр) — революційна комп'ютерна програма, створена Айваном Сазерлендом 1963 року як докторська дисертація. За неї він отримав Премію Тюрінга 1988 року і Кіотську премію 2012 року. Вона стала першим програмним забезпеченням, яке започаткувало принцип взаємодії людини з комп'ютером (HCI)[1] безпосередньо, інтерактивно — а не шляхом введення командних інструкцій (на той час — за допомогою перфокарт).

Sketchpad
Айван Сазерленд презентує Sketchpad (UVC via IA: video and thumbnails)
Типанімація, креслення, САПР.
АвторАйвен Сазерленд (англ. Ivan Sutherland)
РозробникАйвен Сазерленд
Перший випуск1963
ПлатформаLincoln TX-2 — комп'ютер Массачусетського Технологічного інституту

Sketchpad вважають родоначальником сучасних програм автоматизованої розробки (CAD), а також проривом у розвитку комп'ютерної графіки в цілому. Наприклад, графічний користувацький інтерфейс, відомий як GUI, бере свій початок зі Sketchpad'у — так само як і найсучасніші програми, які побудовані на використанні об'єктно-орієнтованого програмування. Крім того, Айван Сазерленд унаочнив можливості використання комп'ютерної графіки як для технічних, так і художніх завдань (доповнивши свою ідею нового, інтерактивного способу взаємодії людини і комп'ютера).

Історія

ред.
 
Світлове перо Sketchpad

Сазерленд перебував під сильним враженням від ідеї Memex, висунутої Ванневаром Бушом (англ. Vannevar Bush) у статті «Як ми можемо думати» (англ. "As We May Think"), яку було опубліковано в часописі «The Atlantic Monthly» влітку 1945 року.[2] Sketchpad надихнув Дуґласа Енґельбарта на проектування і розроблення On-Line System[en] у Стенфордському дослідницькому інституті (SRI) у 60-х роках XX ст. Sketchpad стала першою програмою, яка коли-небудь використовувала термін «Графічний інтерфейс користувача» (GUI) — іще до того, як він став загальновживаним; плотер «X-Y точок дисплея» і нещодавно винайдене світлове перо. У цій програмі вперше з'являються такі терміни, як «об'єкт» і «приклад»; а також містилась передтеча (власне, передбачено винахід за десятиліття до появи цього феномену) об'єктно-орієнтованого програмування. Основною ідеєю програми стало: створення графічного малюнку з якого можна створити безліч дублікатів. Якщо користувач змінював оригінальний малюнок, то відбувалася автоматична зміна і у всіх його дублікатах. Іншим важливим компонентом у Sketchpad стало те, що користувач міг легко коригувати геометричні властивості через інтерфейс — так, довжина лінії або кут між двома лініями автоматично виправлялися.

Обладнання (залізо)

ред.

Sketchpad була створена на Lincoln TX-2 (1958) — комп'ютері в Массачусетського Технологічного інституту, який мав 64 тисячі 36-розрядних слів[en]. Із 36 бітів, доступних для зберігання кожного пікселя на дисплеї, 20 було надано для збереження координат місця для системи відображення, а решта 16 — для адреси n-компонента: елемента, який відповідав за додавання цього місця для відображення. 1963 року більшість комп'ютерів працювали в пакетному режимі і здійснювали ввід-вивід за допомогою перфокарт або накопичувачів на магнітній стрічці; комп'ютерами могли користовуватися тільки професійні програмісти, або студенти технічного університету. Проте, значний обсяг робіт у Sketchpad було пов'язано з інтерактивним режимом використання екрана CRT ТХ-2. Коли Сазерленд завершував працювати з ним, то мусив переналагоджувати його знову на роботу в пакетному режимі (іншими словами, зі своєї супер-передової технології майбутнього він переналагоджував систему до стандартного для 1960-х років способу роботи комп'ютера).

Програма

ред.
 
Арка моста із розрахунками зробленими в Sketchpad

Айвен Сазерленд вирішив «навчити» комп'ютер розуміти креслення, які людина вводила безпосередньо на екран за допомогою світлового пера. Першим етапом на цьому шляху стає малювання прямих ліній. Користувач вводив пером початкову точку, на пульті комп'ютера натискав клавішу LINE — а світовим пером вказував кінцеву точку. Другим, більш складним методом — стало рисування кола. Для цього Сазерленд вводить поняття «обмежувача» англ. (constraint), що описує межі різних об'єктів, які використовувала програма «Sketchpad». До того-ж, він запропонував використовувати поняття «n-компонент», у якому основною одиницею відображення стає сам компонент. Так, якщо вибрати компонент «відрізок», що є сукупністю двох компонентів точок «X» та «Y» осі координат, — за допомогою «обмежувача» ми задаємо відношення між візуальними об'єктами (двома точками). У свою чергу трикутник складається із трьох компонентів «відрізок» (і обмежувач стосуватиметься уже компонентів «відрізок»). Якщо ми вводимо в «обмежувачі» поняття «паралельності» між двома відрізками, то можемо змінювати параметри одного із них, і програма автоматично змінить інший і зробить його паралельним до першого. Так само, якщо вводимо поняття «рівності», автоматично вирівнювалися усі кути багатокутника, перетворюючи його в рівнобедрений.

Третім етапом стає рекурсія. Для масштабування об'єктів програмі не потрібно було перемальовувати кожен об'єкт по-новому. Рекурсія дозволяла користувачу Sketchpad зґенерувати ту кількість елементів, яка була потрібна, і зобразити їх у різних масштабах чи кутах огляду, просто перерахувавши значення їх компонентів. Для зберігання даних і швидкого виведення рисунку на екран, Сазерленд вводить поняття «кільцева структура» — замкнений буфер, що містив у собі покажчики n-компонентів. Батьківські компоненти у кільцевій структурі мали назву — «курка» англ. (hen), дочірні — курчата англ. (chicken)

Sketchpad дозволяв не тільки рисувати — але й візуалізувати розрахунки інших програм, які необхідні на етапі проектування. Так, при створенні проекту аркового мосту, проектувальник міг отримати дані про напруги, що виникають у різних точках конструкції.

Значення і наслідки

ред.

Sketchpad став справжнім «одкровенням» у розвитку комп'ютерної графіки.[3] Крім того, він унаочнив можливості комп'ютера для повсякденного використання у праці спеціалістів високого класу, таких як проектувальники, архітектори, дизайнери, інженери тощо. Створені креслення стало можливо тримати у пам'яті комп'ютера і легко змінювати за необхідності. Та, можливо, найбільшим досягненням як програми, так і самого Айвана Сазерленда, стала стимуляція розвитку людино-машинної взаємодії, що врешті-решт привело до створення всім відомого графічного інтерфейсу таких операційних систем, як Windows, Mac OS і прикладних програм, таких як ArchiCAD, Mathcad, CorelDraw тощо.[4]

Примітки

ред.
  1. Sears, Andrew; Jacko, Julie A. (19 вересня 2007). The Human-Computer Interaction Handbook: Fundamentals, Evolving Technologies and Emerging Applications, Second Edition. CRC Press. с. 5. ISBN 978-1-4106-1586-2. Архів оригіналу за 13 жовтня 2013. Процитовано 1 березня 2013.
  2. As We May Think. The Atlantic. Jul 1 1945. Архів оригіналу за 1 вересня 2013. Процитовано 28 серпня 2013.
  3. The CAD/CAM Hall of Fame. American Machinist. Penton Media. 1 листопада 1998. Архів оригіналу за 1 лютого 2013. Процитовано 18 березня 2013.
  4. Sketchpad Айвена Сазерленда і сила випадку. Computerra. 2012 November 9. Архів оригіналу за 29 жовтня 2013. Процитовано 28 серпня 2013.

Джерела

ред.

Додатково

ред.
  Зовнішні відеофайли
  Sketchpad demo: Part 1 Part 2, YouTube
  • Yares, Evan (February 2013). 50 Years of CAD. Design World: 66-71. Архів оригіналу за 13 листопада 2013. Процитовано 30 серпня 2013.
  • Sutherland, Ivan Edward (September 2003), Sketchpad: A Man-Machine Graphical Communication System (PDF), preface by Alan Blackwell and Kerry Roddenphone, University of Cambridge, ISSN 1476-2986, Technical Report No. 574, UCAM-CL-TR-574, архів оригіналу (PDF) за 28 травня 2018, процитовано 3 листопада 2007.
  • ——— (30 January 1963), Sketchpad: A Man-Machine Graphical Communication System (PDF), Lincoln Laboratory, Massachusetts Institute of Technology via Defense Technical Information Center, Technical Report No. 296, процитовано 3 листопада 2007[недоступне посилання з лютого 2019].
  • Sketchpad, Youtube, Google, архів оригіналу за 26 грудня 2011, процитовано 30 серпня 2013.