68,535 research outputs found
Semi-Automated SVG Programming via Direct Manipulation
Direct manipulation interfaces provide intuitive and interactive features to
a broad range of users, but they often exhibit two limitations: the built-in
features cannot possibly cover all use cases, and the internal representation
of the content is not readily exposed. We believe that if direct manipulation
interfaces were to (a) use general-purpose programs as the representation
format, and (b) expose those programs to the user, then experts could customize
these systems in powerful new ways and non-experts could enjoy some of the
benefits of programmable systems.
In recent work, we presented a prototype SVG editor called Sketch-n-Sketch
that offered a step towards this vision. In that system, the user wrote a
program in a general-purpose lambda-calculus to generate a graphic design and
could then directly manipulate the output to indirectly change design
parameters (i.e. constant literals) in the program in real-time during the
manipulation. Unfortunately, the burden of programming the desired
relationships rested entirely on the user.
In this paper, we design and implement new features for Sketch-n-Sketch that
assist in the programming process itself. Like typical direct manipulation
systems, our extended Sketch-n-Sketch now provides GUI-based tools for drawing
shapes, relating shapes to each other, and grouping shapes together. Unlike
typical systems, however, each tool carries out the user's intention by
transforming their general-purpose program. This novel, semi-automated
programming workflow allows the user to rapidly create high-level, reusable
abstractions in the program while at the same time retaining direct
manipulation capabilities. In future work, our approach may be extended with
more graphic design features or realized for other application domains.Comment: In 29th ACM User Interface Software and Technology Symposium (UIST
2016
Programmatic and Direct Manipulation, Together at Last
Direct manipulation interfaces and programmatic systems have distinct and
complementary strengths. The former provide intuitive, immediate visual
feedback and enable rapid prototyping, whereas the latter enable complex,
reusable abstractions. Unfortunately, existing systems typically force users
into just one of these two interaction modes.
We present a system called Sketch-n-Sketch that integrates programmatic and
direct manipulation for the particular domain of Scalable Vector Graphics
(SVG). In Sketch-n-Sketch, the user writes a program to generate an output SVG
canvas. Then the user may directly manipulate the canvas while the system
immediately infers a program update in order to match the changes to the
output, a workflow we call live synchronization. To achieve this, we propose
(i) a technique called trace-based program synthesis that takes program
execution history into account in order to constrain the search space and (ii)
heuristics for dealing with ambiguities. Based on our experience with examples
spanning 2,000 lines of code and from the results of a preliminary user study,
we believe that Sketch-n-Sketch provides a novel workflow that can augment
traditional programming systems. Our approach may serve as the basis for live
synchronization in other application domains, as well as a starting point for
yet more ambitious ways of combining programmatic and direct manipulation.Comment: PLDI 2016 Paper + Supplementary Appendice
Direct Manipulation-like Tools for Designing Intelligent Virtual Agents
If intelligent virtual agents are to become widely adopted it is vital that they can be designed using the user friendly graphical tools that are used in other areas of graphics. However, extending this sort of tool to autonomous, interactive behaviour, an area with more in common with artificial intelligence, is not trivial. This paper discusses the issues involved in creating user-friendly design tools for IVAs and proposes an extension of the direct manipulation methodology to IVAs. It also presents an initial implementation of this methodology
Automated sequence and motion planning for robotic spatial extrusion of 3D trusses
While robotic spatial extrusion has demonstrated a new and efficient means to
fabricate 3D truss structures in architectural scale, a major challenge remains
in automatically planning extrusion sequence and robotic motion for trusses
with unconstrained topologies. This paper presents the first attempt in the
field to rigorously formulate the extrusion sequence and motion planning (SAMP)
problem, using a CSP encoding. Furthermore, this research proposes a new
hierarchical planning framework to solve the extrusion SAMP problems that
usually have a long planning horizon and 3D configuration complexity. By
decoupling sequence and motion planning, the planning framework is able to
efficiently solve the extrusion sequence, end-effector poses, joint
configurations, and transition trajectories for spatial trusses with
nonstandard topologies. This paper also presents the first detailed computation
data to reveal the runtime bottleneck on solving SAMP problems, which provides
insight and comparing baseline for future algorithmic development. Together
with the algorithmic results, this paper also presents an open-source and
modularized software implementation called Choreo that is machine-agnostic. To
demonstrate the power of this algorithmic framework, three case studies,
including real fabrication and simulation results, are presented.Comment: 24 pages, 16 figure
Recommended from our members
The dynamics of search, impasse, and representational change provide a coherent explanation of difficulty in the nine-dot problem
The nine-dot problem is often used to demonstrate and explain mental impasse, creativity, and out of the box thinking. The present study investigated the interplay of a restricted initial search space, the likelihood of invoking a representational change, and the subsequent constraining of an unrestricted search space. In three experimental conditions, participants worked on different versions of the nine-dot problem that hinted at removing particular sources of difficulty from the standard problem. The hints were incremental such that the first suggested a possible route for a solution attempt; the second additionally indicated the dot at which lines meet on the solution path; and the final condition also provided non-dot locations that appear in the solution path. The results showed that in the experimental conditions, representational change is encountered more quickly and problems are solved more often than for the control group. We propose a cognitive model that focuses on general problem solving heuristics and representational change to explain problem difficulty
- …