140 likes | 228 Views
Interaction and Transformation in AUI3D. Mark Watson Cmpt856 April 2004. Motivations. A simple and powerful system for developing interfaces Desire for interaction between multiple programs Languages seem like the ideal solution. Motivations.
E N D
Interaction and Transformation in AUI3D Mark Watson Cmpt856 April 2004
Motivations • A simple and powerful system for developing interfaces • Desire for interaction between multiple programs • Languages seem like the ideal solution
Motivations • 3-Dimensional interfaces are still a new problem • It would be beneficial to have an environment to prototype and experiment with interaction techniques
Languages • Can be far more readable than GUI code normally is • Allows high degree of abstraction • As languages can be highly structured, analysis of a statement is simple • Supports source-to-source transformations
Abstract UI Language (AUI) • Functional language to describe and support plastic UIs created by K. Schneider and J. Cordy in 2001 • Language featured Canvases, Gel (Graphical Elements) and Pins to hold them together • Prototyped in Haskell
AUI Expression canvas<200,200>{<box <35,35>(Fill Black), <50,40>>, <oval <45,28> (Fill Clear), <100, 20>>}
AUI3D Expression space<200,200, 200>{<box<5,5>(Fill Solid), <0,0,-15>, [45, 45, 0]>}
The Containment Metaphor • In 2 Dimensions, we can ‘stack’ objects • In 3 Dimensions, there are two metaphors, ‘inside’ and ‘on.’
Simple Transformations • Swapping Pins • Composing • Following • Destruction • Rotations and Movement
Swapping Pins space{<box(<2,2,2>)<0,0,-10>,[30,30,30]>, <box(<3,3,3>….) <-10,0,-15>, [30,30,90]>} space{<box(<3,3,3>…)<0,0,-10>, [30,30,30]>, <box(<2,2,2>) <-10,0,-15>, [30,30,90]>}
Composing space{<box(<1,1,1>)<0,0,-1>>, <box(<3,3,3>) <-10,0,-15>, [30,30,90]>} space{<box(<3,3,3>){<box(<1,1,1>)<0,0,-1>>} <-10,0,-15>, [30,30,90]>}
View Transformations • We can manipulating the view port is simple in OpenGL and can be beneficial • How to model this: • As a transformation on the space • Introducing a concept of ‘view’ that can then be transformed
Conclusions • Essential concepts, like pinning and transformation remain unchanged • New properties, like orientation and the view port are required • AUI is a proper subset of AUI3D