Introdução:
As atuais plataformas da Intel e da Macintosh apresentam poder suficiente
para executar programas gráfico em 3D interativos sem aceleradores
de hardware. Atualmente, os sistemas são gerados de forma muito
difícil de serem aprendidos, requerendo muitos meses de treinamento
especializado e impõem um longo tempo dos desenvolvedores para observarem
as mudanças os resultados de mudanças no código, fazendo
as mudanças serem também muito difícil. Neste artigo,
os autores propõem construir mundos e ambiente 3D interativos de
tal forma que os usuários finais possam criar e experimentar sem
treinamento em 3D interativo.
Alice, um ambiente que se presta a concepção de ambientes
3D interativos, onde o processo de concepção foi iniciado
na University fo Virginia e tem sua fase final de concepção
na Carnegie Mellon University , e tem como propósito a redução
de barreiras de treinamento e educação, de forma a permitir
a qualquer um experimentar uma nova forma de gráfico 3D interativo.
Para tanto, pretende atacar o problema em três fontes: " a linguagem
de programação, as primitivas e as abstrações
usada para descreve o comportamento e a animação de objetos
tridimensionais, e o ambiente de desenvolvimento que é usado como
suporte para o autor."
Uma breve
descrição de Python:
Alice usa Python, uma linguagem interpretada escrita por Guido
van Russon, para ser linguagens de scripts. Python é linguagem
de alto nível, orientada a objetos com uma sintaxe simples e fácil
de ser aprendida. Alguns analistas a comparam com um pseudocódigo
que roda. Porque Python é interpretada, e por esta
razão efeitos de mudanças podem ser vistos em segundos. Em
contraste com C ou C++, onde autores são forçados a refazer
todo o processo de compilação, Python possibilita
rápida visualização de mudanças e por esta
razão tornou Alice tão extensível quanto necessário.
Primitivas e Abstrações:
As atuais API´s para criação de 3D forçam autores
ao bom conhecimento de processos de renderização. A função
de escala presente em muitas API´s é um bom exemplo. A função
não somente muda o tamanho dos objetos, como afeta as translações
subsequentes. "Nossos testes mostraram que isto é um comportamento
altamente não intuitivo." Assim, uma das preocupações
da equipe foi constituir um programa que não exija do usuário
um pleno conhecimento de matrizes homogêneas 4X4 para tais operações.
As matrizes e as referências às direções X,
Y, Z foram removidas, de forma a que os usuários não fiquem
expostos ao entendimento de implementações que fundamentam
os processos em Computação Gráfica. Ao invés
de direções X, Y, Z que não são intuitivas,
Alice usa mover objetos para cima/baixo, esquerda/direita, frente/trás.
Um outro problema com as atuais API´s é que somente provêm
operações primitivas. " Nós temos tentado prover um
grande número de comandos em alto nível para especificar
comportamentos dos diversos objetos." Em complemento, no caso de Alice,
os paramêtros de duração de animações
podem facilmente serem definidos. Animações complexas nascem
do simples DoInOrder ou DoTogether.
Alice é
fácil:
Muitos trabalhos têm tentado criar sistemas que sejam fáceis
de forma a viabilizar um comportamento cognitivo para concepção
de mundos tridimensionais. Algumas contribuições do livro
Image and Mind e do livro The Nature of the Left-Right Coding
foram importantes para ajudar a analisar a forma de pensar sobre comportamento
de objetos em 3D. Tais fundamentos foram usados para o projeto de abstrações
comportamentais providas na Alice API. Alice está sendo usada em
salas de aulas, e sua versão beta já foi capturada
por mais de 5000 pessoas. Alice roda em Win´95 e não requer
aceleradores de hardware.
Observações
de análise:
A versão alpha de Alice foi apresentada na UIST´96. A versão
beta de Alice usa Direct3D e DirectSound do DirectX - versão 3 e
usa VisualBasic para GUI. A página de Alice está em http://alice.virginia.edu.
|