Return-Path: ftp@kohler.CS.Berkeley.EDU
Received: from hofmann.CS.Berkeley.EDU (hofmann.CS.Berkeley.EDU [128.32.35.123]) by coons.CS.Berkeley.EDU (8.8.3/8.8.2) with SMTP id NAA28574 for <ddgarcia@coons.cs.Berkeley.EDU>; Tue, 18 Feb 1997 13:59:02 -0800
Received: from kohler.CS.Berkeley.EDU (kohler.CS.Berkeley.EDU [128.32.35.31]) by hofmann.CS.Berkeley.EDU (8.6.11/8.6.6.Beta11) with ESMTP id NAA01093 for <ddgarcia@cs.Berkeley.EDU>; Tue, 18 Feb 1997 13:59:01 -0800
Received: (from ftp@localhost) by kohler.CS.Berkeley.EDU (8.8.3/8.6.9) id NAA02188 for ddgarcia@cs; Tue, 18 Feb 1997 13:59:00 -0800 (PST)
Date: Tue, 18 Feb 1997 13:59:00 -0800 (PST)
From: CS Anonymous FTP <ftp@kohler.CS.Berkeley.EDU>
Message-Id: <199702182159.NAA02188@kohler.CS.Berkeley.EDU>
To: ddgarcia@cs.Berkeley.EDU
Subject: WWW form from ubud.cs.berkeley.edu

VRP01_NAME1=Richard C. Davis
VRP02_NAME2=Jordan Smith
VRP03_TITLE=Virtual Art Studio with Clay Sculptor
VRP04_DESCR=	We have become very interested in the problem of how to
specify smooth surfaces.  Virtual Reality systems offer a way to
interact with smooth surfaces in an intuitive way.  A designer can
view a smooth, pliable surface in a depth view (with an HMD) and
interact with it as he would with clay, using a data glove or perhaps
just a 6 degree of freedom point tracker.  Since a designer seldom
wishes to specify a single object, ignoring all other objects in a
scene, a scene builder tool needs to integrate coherently with this
modeler.  We propose building a sculpting tool like the one described
(which we refer to as the workbench), and a scene builder to go with
it (which we call the gallery).

	The gallery is the virtual environment that holds all objects
in the world.  It allows the user to place and orient a library of
objects.  This library will start with simple primitives (boxes,
spheres, cylinders), but will later be augmented with the more complex
shapes that users create.  Objects can be moved in an intuitive way in
the gallery, with certain relationships being natural for certain
types of objects (i.e. wall objects will move up and down walls, floor
objects will be suspended over the floor, etc.).  Perhaps some kind of
grouping will also be supported.  Functions will support simple
placement of objects relative to each other.  When the user wishes to
deform an object, he will pull up the workbench.

	In the workbench mode, the user can sculpt a selected object.
The entire gallery may not be visible when this is done, but some of
it will be, so that the sculptor can get some idea of the environment
the object is placed in.  The object itself will be modeled as a
simple vertex mesh that behaves like clay.  There will be 4 principal
operations in this mode.  Viewing operations will allow the sculptor
to translate or rotate the object to get a better look (these changes
will not necessarily be reflected in the gallery).  Detail operations
will allow the sculptor to add/remove vertices of the mesh, so that
local control can be added or removed from certain places.  Selection
operations will allow the sculptor to select certain areas that should
remain rigid during deformation.  Finally, the deformation operation
is simply a push/pull operation that deforms the object in a
"pleasing" way.  We have had some interesting ideas of ways to select
between these operations.  The sculptor may be able to pull up the
workbench as a briefcase that expands whenever needed, or perhaps tools
will be placed on the sculptor's body (like a toolbelt, or pens in a
shirt pocket) and can be grabbed by the sculptor moving his hand to a
certain place on his body.

	We are not sure exactly how this deformation will be
implemented, but we feel it will be very close to the "deformable
tissue" described by Frank Tendick in his class project suggestion.
This could be implemented by some kind of mass/spring system, or some
other kind of local deformation.  The main idea is for changes to one
vertex or set of vertices to affect those around in in such a way that
tugging on one vertex moves the others in a more-or-less intuitive
way.  We do not, however, wish to fit a spline to the surface, because
we feel that may enforce too much structure on the topology of the
mesh.  Our early attempts have involved spreading out "spring forces"
from moved points.  We have not had much success at this point but we
are encouraged by Tendick's words on the subject.  " Unfortunately,
finite element methods for accurate modeling are orders of magnitude
too slow for real time. Several computationally efficient methods
exist to create deformable objects."  We would be very interested in
any other papers on the subject of "deformable tissue."

	Another nice feature would be the ability to take other
objects and press them into the object, again deforming it as if it
were clay and the other object were rigid (or deformable too,
perhaps).  The may be beyond our reach for this project, but it would
be a very nice feature.

	We hope to be able to export the scenes we create with this
tool to VRML so that they can be viewed with many Browsers.  The
gallery and workbench themselves, however, need more complex
interface tools to be worthwhile.  We hope to use the SGI machines
with a Head Mounted Display and a Data Glove, though a 6 degree of
freedom tracker may be sufficient.

