Multimodal Visualization of Geometrical Constructions 
Val~rie Bellynck 
Laboratoire LEIBNIZ- Institut IMAG 
46, avenue FElix Viallet 
38031 Grenoble Cedex- France 
Abstract 2 CabriII 
We present an environment for multimodal vi- 
sualization of geometrical constructions, includ- 
ing both graphical and textual realizations. The 
graphic interface is programmed by direct ma- 
nipulation, and this process is mirrored in the 
text. The text resembles a program written 
in a classical programming language, but no 
computer science knowledge is required. The 
guiding principle is that of textual and graph- 
ical equivalence: the same linguistic resources 
are used for graphical construction and for text 
generation. During construction, the names 
of several tools appear in pop-up menus. As 
the tools are used, their names are written in 
the text, and geometrical objects are simulta- 
neously drawn in the figure and written in the 
text. Text can be produced in a variety of " di- 
alects" according to the user's mother tongue. 
Moreover, the visualization system can be used 
for interfaces which include a facility for pro- 
gramming by demonstration (with macro defi- 
nitions) and can offer textual support for inter- 
action through other media. 
1 Introduction 
In this paper, we present an environment for 
multimodal (graphical and textual) visualiza- 
tion of geometrical constructions. We first 
present CabriII, the program on which this work 
is based. In the second section, we elaborate 
on the definition of macro-constructions using 
this software. Some of the reasons for introduc- 
ing such a textual view in a geometry program 
are explained in section three. The next section 
focuses on the choices that have guided de:vel- 
opment. The last section discusses results and 
perspectives. 
CabriII (or Cabri-g~om~tre II) is a direct 
manipulation program for interactive "explo- 
ration" of geometrical diagrams (Laborde, 85). 
Many mathematics teachers and mathemati- 
cians use it for teaching or for their own work. 
It is the result of a tight collaboration be- 
tween mathematicians, software researchers, ed- 
ucators, and teachers in everyday contact with 
pupils. 
Using this software, the user is immersed 
in an intelligent microworld. CabriII is an 
excellent learning environment for geometry 
(Laborde, 89), (Laborde, 95). Users construct 
geometrical diagrams and create new tools with 
macro-constructions. A teacher can profile the 
environment for specific learning tasks by em- 
bedding macro-constructions in his or her own 
tools. Through interactive manipulation of geo- 
metrical constructions, a pupil may for instance 
observe invariant properties and recognize them 
as constraints. All objects (for example, geo- 
metric objects and interface elements) are ma- 
nipulated directly. 
r ;:i :,fii:~iiii~7,, ::i~il, i-iiii:ii:-:~: 6~i~ili,,ri;i ::-~iii~: i: , ::7:-,'::i::! .... 
: "'"A   
Perpendicul.*ire ~ cetle df'oite ~. 
i I~I~ " ~~Ii'.~ 
i i i m li m ...... r ..... ll.'l'" ...... i i" " " 
Figure 1: diagram for a symetric construction 
91 
Figure 1 shows a geometrical diagram draw- 
ing in CabriII. The diagram represents a point 
A, a line D and some other geometrical objects 
used to construct the symmetrical point (called 
B) of point A with respect to the line. 
3 What is a macro? 
CabriII can store as "macros" construction 
methods which users try out. This term is com- 
monly used in the domain of programming by 
demonstration. 
The aim of writing a macro is to define a 
new tool by using a list of repeatedly invoked 
constructions (Sugiura, 96). For instance, it is 
possible to define a macro to construct the sym- 
metric point of a given point with respect to a 
line. 
As a matter of fact, CabriII does not store the 
whole construction, but only its "useful" part, 
determined automatically when the user indi- 
cates the "initial" and "final" objects of the con- 
struction. This method lets the user decide to 
construct a macro after embarking on a complex 
construction, rather than before. It also mini- 
mizes the length of the macro (which is strongly 
related to the number of objects retained). A 
consequence of this freedom is that a macro defi- 
nition has to pass a validation test which can fail 
for various reasons, such as omission of neces- 
sary initial objects, dependency loops (in which 
an initial object depends on a final object), etc. 
Figure 2 shows the dependencies between ge- 
ometrical objects in the definition of a construc- 
tion method for drawing the symmetric point of 
a given point. The method chosen is the same 
as in figure 1. The object names are written in 
order of their creation, from left to right. The 
names written in single quotes are the names 
displayed in the diagram, and arrows are used 
to represent object dependencies. The selected 
initial object names are surrounded by thin rect- 
angles, and the selected final objects by thicker 
ones. The macro creation process extracts the 
smallest graph that connects the final objects 
to the initial ones. 
Figure 2: Geometrical object dependencies 
Notice that the macro obtained may not cor- 
respond exactly to the user's expectations if 
s/he has made mistakes in certain construction 
choices. In that case, the user must debug the 
macro. Using the text form is far better for that 
purpose than redoing the whole construction. 
4 Why is a textual view used in 
geometry? 
In mathematics, graphical visualization is a fun- 
damental support for reasoning (Zimmermann, 
91). The appearance of dynamic geometry 
opens new doors by making the concept of di- 
agraming more accessible: simply drawing, by 
contrast, is more static and discrete. 
However, in purely graphical interfaces, the 
choices which guide the construction of various 
diagram objects can only be tracked down by 
observing their effect, i.e. by observing the rel- 
ative behavior of the objects throughout dia- 
gram deformations. There is no longer direct 
access to the causes, only to the consequences. 
The information displayed is not a complete his- 
tory including the creation, deformations and 
deletion of all objects, but rather only a record 
of the construction steps (dependencies) of the 
stored objects. One way to display all of the 
constraints for the whole diagram would be to 
display the program which drew the diagram. 
Similarly, we can observe that macro defini- 
tion is closely related to classical programming, 
so that a textual medium becomes an absolute 
must. We can also add to the software the 
full range of classical programming environment 
tools, such as a step-by-step replay tool asso- 
ciated with cursor progression, or a tool aiding 
visualization of the correspondence between ob- 
ject value and graphic rendering. Specific tools 
associated with the relevant domain (dynamic 
geometry) are also useful. For instance, the use 
of color allows visualization of dependencies be- 
tween objects, and aids debugging if the macro 
validation fails. 
5 Constraints, choices, and shape 
Given the target audience for this software, 
the programming langage chosen is as close as 
possible to the graphic interface. The display 
is based on the concept of textual and visual 
equivalence (Lecolinet, 96) - although in this 
case "graphical" might be a better term than 
92 
"visual". 
5.1 Text generation, object ubiquity 
Ubiquity is the ability to be in several places 
at the same time. In the case of a multimodal 
interface in a geometry program, ubiquity can 
be applied to geometrical objects such as points, 
straight lines, circles, conics, and so on as shown 
below: to construct a new geometrical object, 
the user selects a tool, then goes to the diagram 
and specifies the objects to which that tool is 
to be applied. Only objects whose types are ap- 
propriate for the current tool can be selected. 
CabriII produces demonstration strings which 
help the user to choose which objects to select 
and to understand how they will be used by 
the current tool. Alongside the construction, 
tools names are displayed in the textual area, 
and strings are simultaneously displayed in the 
textual area and under the cursor in the graph- 
ical area, along with the names which identify 
objects. 
5.2 Moves in construction sequences 
The user can revise a di.agram construction by 
clicking on recorder buttons. The geometri- 
cal objects appear in their drawing order with 
respect to the object dependency constraints 
(or disappear according to the selected recorder 
buttons). The corresponding text for that move 
in the sequence of effective objects is produced 
in two colors: flat black for the drawn objects 
and light blue for the object to be drawn. A 
third color (red) is used to display current pro- 
gram elements: when the user moves through 
the macro's internal objects, the programming 
langage commands are displayed in red. 
5.3 Value modification 
A "program" is a formal description of the ac- 
tive constructions. Actual values of objects and 
graphical attributes (color, thickness, and so 
on) may be displayed in help bubbles associ- 
ated with the object names. Clicking on a name 
causes every textual occurrence of the relevant 
object to be highlighted in green. With a dou- 
ble click, all textual occurrences of the objects 
which depend on the selected object are also 
displayed in green, and a help bubble appears. 
6 Results Presentation 
Figures 3 and 4 show a diagram and its tex- 
tual view respectively in English (i.e. when the 
language chosen by the user is English) and in 
German. In this diagram, the macro "Sym" is 
called on point E with respect to line D and 
constructs point F. 
____m 
Figu~re 
Pomt 
Line (B, v P1) 
Point 
SvmC ::, ~') 
• Perpondioul~r Line (:.: i :, Perp~diou~ar to "D') 
• ~terse¢,ion Poor(s) ('~', D2) 
• C~r¢le (Using this centre point P2, :') 
> Intersection Poiat(s) (O2~ C1, ~.!i*~ :.i: "~) 
Fin de la figure ~5 
Macro : ~rn 
Initial Object• 
FFin~l Object• 
> Perpond~Jlar Line iBM °PI, Perpendioular to o91) 
• Intersection Pc.int(s) (cOt, ~D2) 
• C~r¢io (Us~g this centre point ~P2, ~nd this radius point ePI ) ' 
• Intersection Point(s) (~D2, ~C1, other ~han °P1) 
Fio de la macro : $9m 
-• p_~PI 
-> P...~! .:i..i 
-• p.~.t ..~2 
-• ~ D2 
-• p_~ P2 
-• ~ CI 
point OPt, Hne °OI, 
point eP3, 
-> line ~O2 
-> point =p2 
-> point ~p3 
Figure 3: Macro calling in English. 
F~,,-t 
Get ado C~¢~ dUe.sen I~miid P I ) 
Purkt 
~m ("E', "~) 
• ;~,nla"e~.~te ~ ~m ~ "E', .~,kr ~ ~1~ :~ %') 
> S~-,nit*pur~t(e) ('>", 02) 
• Kreis (D~ ils Htttellxx~t P2, und ¢Heser als Krets~pur, k't "E") 
• Schntt~puNdL(e) (D2, C I, d~eser 4fKiere Pwdkt "E') 
Pin 4e la f'kjare 
~ro : 5~m 
Startd~4de > 
ZielobjektO 
• ,Senlo-eohte (D~,rdh dle~n Pmkt ~'PI,SeNored~t ¢u e4)1) 
• s,:*v~tr~u,.~t~e)('¢,!, °o2) 
• KPeL~ CPk~e,r als Plffte~v.iekt ~P2, u~4 ~ a~s Krt~b~,unkt ~J::l) 
) Scchntttpunkt(e) (~D2, It1, dieser andere Punkt °P1) 
Fin de la macro : ~jrn 
\[\] 
-~ ~"-aae "~" I 
-~ P'unM 'T" -;"~ D2 
-• Ptmkt P2 
-> Kreis C1 
\[\] 
Pudd raP1 • ~eradW "01 BB 
Punkt ~P~, BB 
-1" Punkt sP3 
• I~ll 
Figure 4: Macro calling in German. 
The best way to edit macro constructions is 
93 
not yet clear. We are investigating whether edit- 
ing would be most helpful in the diagram pro- 
gram or directly in the macro program. 
The equivalence of the material presented 
textually and visually enables every user to pro- 
gram comfortably. The user does not have to 
type a single character, yet appropriate text is 
generated in the current dialog language of the 
interface. The text verifies relevant lexical and 
syntactic rules. Since the syntax and semantics 
of the programming language are made obvious, 
the user learns them easily. 
7 Conclusion 
We have presented an environment for the dis- 
play of geometrical data which emphasizes co- 
ordinated textual and graphical presentation of 
equivalent material and the ubiquity of micro- 
world objects. The textual view is an important 
aid to the construction of macros. The environ- 
ment can facilitate exploration of macro debug- 
ging techniques and has relevance for studies 
of translation from readable diagram programs 
to natural language instructions. It is also de- 
signed for use in support of other interactive 
media. 

References 
Laborde Jean-Marie (1985), "Projet de cahier 
de brouillon informatique pour la g~omfitrie', 
Archives LSD2-IMAG. 
Laborde Jean-Marie (1989), "Intelligent Mi- 
croworlds and Learning Environments", in 
Intelligent Learning Environments: The Case 
of Geometry, edited by J-M. Laborde, NATO 
Serie F: Computer and Systems Sciences, 
(1995) vol. 117, pp. 113-132. 
Laborde Jean-Marie (1995), "Des connaissances 
abstraites aux rfialitfis artificielles, le con- 
cept de micromonde Cabri", Environnements 
Interactifs d'Apprentissage avec Ordinateur 
(tome 2), Eyrolles Paris, pp. 29-41. 
Eric Lecolinet (1996), "XXL: A Dual Approach 
for Building User Interfaces", UIST'96, pp. 
99-108, Seattle, November 6-8, 1996. 
Atsushi Sugiura, Yoshiyuki Koseki (1996), 
"Simplifying Macro Definition in Program- 
ming by Demonstration", UIST'96, pp. 173- 
182, Seattle, november 6-8, 1996. 
Walter Zimmermann, Steve Cunningham 
(1991) "Editor Introduction: What is 
Mathematical Visualization?", pp. 1-7, 
Visualization in Teaching and Learning 
Mathematics, ed. W. Zimmermann, S. 
Cunningham, 1991. 
