# Sketchpad

Sketchpad (também conhecido como Robot Draftsman) foi um editor gráfico desenvolvido por Ivan Sutherland, no MIT, em 1963, durante sua tese de PhD, pela qual ele recebeu o Turing Award e 1988 e o Kyoto Prize em 2012. Por vários motivos é um marco na Informática, sendo o primeiro editor gráfico orientado a objetos (no sentido que conhecemos o termo, atualmente). Não apenas era possível colocar bits coloridos no canvas (cavalete), mas criar objetos que poderiam ser manipulados distintamente dos outros. E, mais importante ainda, o Sketchpad permitia que fosse definido um "master drawing" (desenho mestre), a partir do qual seriam criadas "instance drawing" (desenhos instanciados). Cada um dos desenhos instanciados seria semelhante ao desenho mestre e se este fosse alterado, todas as instâncias seriam alteradas da mesma forma. As ideias implementadas no Sketchpad foram o ponto de partida para a herança em orientação a objetos, onde estrutura e comportamento são passados de alguns objetos para outros.
A terceira versão do Sketchpad estendeu seu sistema de duas dimensões para três dimensões. Foi o primeiro editor gráfico a implementar as tradicionais vistas ortogonais com vistas em perspectiva em escalas diferentes.
Ele pioneira a interação humano–computador (HCI), e é considerado o ancestor dos programas de Desenho assistido por computador (CAD) modernos assim como grandes avanços no desenvolvimento de computação gráfica em geral. Por exemplo, a interface gráfica do usuário (GUI) foi derivada do Sketchpad assim como programação orientada a objetos moderna. Usando o programa, Ivan Sutherland mostrou que computer graphics poderiam ser usados tanto para arte como para objetivos técnicos além de demonstrar um novo método de interação humano–computador.

## História

Veja História das interfaces gráficas do usuário para uma discussão detalhada sobre o desenvolvimento das GUI.

## Software

O Sketchpad foi o primeiros programa a utilizar uma interface gráfica do usuário completa.
A maneira inteligente como o programa organiza seus dados geométricos foi pioneiro no uso de "mestre" ("objetos") e "ocorrências" ("instâncias") em computação e mostraram o caminho para a programação orientada a objetos. A ideia principal era de ter um desenho mestre que poderia ser instanciado em muitas duplicatas. Se o usuário muda o desenho mestre, todas as instâncias mudariam também.
Restrições geométricas foi outra invenção importante no Sketchpad, deixando que o usuário facilmente restringir propriedades geométricas no desenho, por exemplo, o comprimento de uma linha ou o ângulo entre duas linhas pode ser fixado.
Como uma revista especializada disse, claramente Sutherland "broke new ground in 3D computer modeling and visual simulation, the basis for computer graphics and CAD/CAM". Pouquíssimos programas podem ser chamados precedentes para suas conquistas. Patrick J. Hanratty é as vezes chamando de "pai do CAD/CAM" e escreveu PRONTO, um linguagem de controle numérico computadorizado na General Electric em 1957, e escreveu software CAD enquanto trabalhava para a General Motors começando em 1961. Sutherland escreveu em sua these que a Bolt, Beranek and Newman tinha um "programa similar" e T-Square foi desenvolvido por Peter Samson e um ou mais colegas estudantes no MIT em 1962, ambos para o PDP-1.

## Hardware

Sketchpad rodava no computador Lincoln TX-2 (1958) no MIT, e tinha 64k de palavras de 36 bits. O usuário desenhava na tela com o recém inventado a caneta óptica, que transmitia informações sobre sua posição por meio de computar em que momento a luz da varredura do monitor de tubo de raios catódicos era detectada.
Para configurar a posição inicial do caneta óptica, a palavra "INK" era exibida na tela, em que ao se tocar inicializava o program com um cruz branca para continuar acompanhando os movimentos da caneta óptica relativos a posição anterior. Dos 36 bits disponíveis pra armazenar cada posição no display no registro de display, 20 davam as coordenadas da posição para o sistema de display e os 16 restantes davam o endereço do enếsimo componente elemento responsável por adicionar o ponto ao display.
O TX-2 foi uma máquina experimental e o hardware mudava frequentemente (nas quarta-feiras de acordo com Sutherland). Por 1975, a caneta óptica e o tubo de raios catódicos que haviam sido usados tinham sido removidos.

## Publicações

O programa Sketchpad foi parte integrante da tese de Ph.D. no MIT e perifericamente relacionado a Computer-Aided Design project naquele momento. Sketchpad: A Man-Machine Graphical Communication System.