|
||
Overview The
prototype application of the SQbS project evolved from the need to
demonstrate that the developed spatial theories are appropriate to describe
spatial scenes, in our context a sketch. Our goal was to build a working
software prototype that was easy and intuitive to use and that has some basic
sketch interpretation capabilities. Such, the application was supposed to be
able to detect objects automatically and to generate and compute a relational
network between these objects. |
||
The result is a PC/Windows based prototype application that
lets a user draw and edit a sketch with a mouse or a pen. The current version
of the application (1.1b)
detects objects automatically and can differentiate between written text and
drawn objects. Objects are evaluated, simplified, and classified into region
and line objects. A relational network (Association Graph) consisting of a
set of relevant binary object relation is generated. These relations are
computed based on our spatial
theory about spatial relations. Users can browse through all important
parameters of detected objects and relations and view the sketch on different
levels of representation. As an additional feature, the new version of Sketcho
allows a user also to query a sketch against a small toy database. A database,
in this context, is essentially a set of previously drawn sketches, such you
can create your own database. Each sketch is stored in an ASCII file using a
simple format (The format is described in the User’s
Guide). Because sketches and entire databases can be re-processed, Sketcho
can also use and process sketches that have been generated by alternative
programs. The theoretical
foundation of the prototype is based on three research areas that have been
investigated previous to the implementation.
Currently the following files can be downloaded (via
anonymous ftp): Programs
and Libraries:
Additional Databases:
Publications
concerning the prototype:
Data Model The
prototype implementation is programmed in an object-oriented environment and the
data model is object-oriented as well. The programming languages used are C
and C++ and the implementation platform is a standard PC with a Microsoft
Windows 95/98 operating system. The graphical functions rely on the MFC
library (Microsoft Foundation Classes) provided with the Microsoft compiler. The general data model of the prototype application is shown in the figure above. The sketch is the highest order data object and it consists basically of drawn objects and relations between those objects. Objects on the other hand consist of primitive drawing strokes and sketch elements that are derived from these strokes. The sketch class is the principal data storage class. Each sketch has only one single sketch object, but the application can have more than one sketch open at the same time. Each sketch object is a unique entity with its own functionality and its own data space. Originally an object is defined as a set of stokes that has been considered belonging to the same entity. A stroke is an unintelligent polygon that is created when the virtual ink starts to pour out of the pen and is closed or completed when the user lifts the pen. Sketch elements, finally, are the "intelligent" form of strokes that is, they have a type (Region, Line, or Point) and they have some higher order functionality. There are two types of relations supported by our the prototype, binary relations and multiple relations, both are derived from the same class. Obviously a binary relation links two objects and a multi relation more than two object with each other (Multiple relations so far only conceptually implemented that is they have no functionality and must be defined manually). Relations are autonomous entities within a sketch, similarly to sketched objects. The major difference between sketch objects and relations-beside interface and data space-is that objects are drawn and relations are not. That is, relations are in general not explicitly specified by the user, but derived based on the configuration of the sketch. Automatic Object Association Query Processing |
||
[Home] [Concept] [Potential
Applications] [Spatial
Theory] [User
Interface] |
||
|