Sketchpad

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

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

Історія[ред.ред. код]

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

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

Обладнання (залізо)[ред.ред. код]

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

Програма[ред.ред. код]

Арка моста із розрахунками зробленими в 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 September 2007). The Human-Computer Interaction Handbook: Fundamentals, Evolving Technologies and Emerging Applications, Second Edition. CRC Press. с. 5. ISBN 978-1-4106-1586-2. Процитовано 1 March 2013. 
  2. «As We May Think». The Atlantic. Jul 1 1945. Процитовано August 28, 2013. 
  3. «The CAD/CAM Hall of Fame». American Machinist (Penton Media). November 1, 1998. Процитовано March 18, 2013. 
  4. «Sketchpad Айвена Сазерленда і сила випадку». Computerra. 2012 November 9. Процитовано August 28, 2013. 

Джерела[ред.ред. код]

Додатково[ред.ред. код]

Nuvola apps kaboodle.svg Зовнішні відеофайли
Nuvola apps kaboodle.svg Sketchpad demo: Part 1 Part 2, YouTube