37
Format Exchange in Dynamic Geometry Francisco Botana, U. Vigo (joint work with M. Abánades & J. Escribano, UCM)

Format Exchange in Dynamic Geometry Francisco Botana, U. Vigo (joint work with M. Abánades & J. Escribano, UCM)

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Format Exchange in Dynamic Geometry

Francisco Botana, U. Vigo

(joint work with M. Abánades & J. Escribano, UCM)

Outline

• Why?

• How?

1st reasonThe InterGeo project will help rationalize interactive geometry as a teaching tool.

A web server will centralize interactive geometry educational resources in a common interoperable format. Tagged with meta-data assessing among other criteria their target audience, purpose and quality, they will be freelysearchable, easily usable and re-usable, by ordinary teachers. Their reviews will help re-purposing.

It will impact all the value chain in e-Learning, by providing easy to use building blocks of quality controlled semantically enriched interactive educational content, from ground school to university, for classrooms, on-linecourses, or as bricks in an integrated digital education system.

This project will help a multicultural community, built around interoperable quality controlled e-Learning standards in interoperable interactive geometry, to emerge and sustain itself with a wider audience than the present days niche markets of dedicated experts.

(emphasis mine)

An antecedent related to the 1st reason (I)

‘Jean-Marie and I have from time to time discussed interoperability between Cabri and Sketchpad, usually concluding "if only there were time..." JavaSketchpad's construction format is documented publically on the web (…), and is turns out, various JSP users have made more progress than I have in writing converters between JSP's format and other representations of constructions. I think that OpenMath or MathML may be the sort of effort we need to stimulate collaboration across packages on a geometry lingua franca.’ (emphasis mine)

Nick Jackiw, Sketchpad Projects

(taken from a thread at the Math Forum@Drexel, initiated on July, 1999)

http://mathforum.org/kb/thread.jspa?threadID=358348&tstart=465

An antecedent related to the 1st reason (II)

and Kortenkamp answers (in the same thread):

Nick> Jean-Marie and I have from time to time discussed interoperability between Cabri and Sketchpad, usually concluding "if only there were time..." JavaSketchpad's construction format is documented publically on the web [...]

Is there a documentation of the standalone-version's format available?

Nick> I think that OpenMath or MathML may be the sort of effort we need to stimulate collaboration across packages on a geometry lingua franca.

In my opinion you need a lot of experience with programming geometry software when you want to design a geometry description language. So I guess that, despite other efforts like OpenMath, we have to do the work ourselves.

A simple construction in Cabri …

… unveiledFigure Cabri II Plus vers. MS-Windows 1.2.1.1

Window center x: -1.68cm y: 0.55cm Window size x: 8.55cm y: 6.05cmResolution: 38 ppc

1: Pt, Val: 0 0invisible,

2: Axes, Const: 1, cart, Val: 1 0 0 1invisible,

3: Pt, Val: -3.28947368421053 -0.657894736842105"A"TP: -3.57894736842105, -0.736842105263158, TS: 0.605263157894737,

0.473684210526316p: 0, Arial, S: 12, C: 7, Fa: 0

4: Pt, Val: -0.578947368421053 3.05263157894737"B"TP: -0.526315789473684, 3.60526315789474, TS: 0.605263157894737,

0.473684210526316p: 0, Arial, S: 12, C: 7, Fa: 0 (more)

The same as in Cinderella.2 …

… unveiled?

‹ í™]oÛ6†ïä?¾R6Yև寡±- §š&X2lð¢m6²äQrš¬È);¶ÅshÙW»i�6ùˆ‡âûˆ"ÚVkÄÒøµéÙŽízÆtÍ’Øèú®azŽÓi¹NËë®;ðúW— ÖˆSRÐØÈÒátš_×iSp‚í`àt%3ÉøÀø-\�þß_îpüéÑh6›Æíõèã§/¡q~½~ÇÆèn^^ÜÐlI� �þ:ø®£„Å”¤¿\^˜ëÆÕàÄSzŸ±�´0ÿjºv»ý3ûɱ«éØýÎö{Ûv6ßþ¾×‰Ëìœ×«%œ¤5=+°\ËûVÁ×Ôš‘$§‡lQp6]ÔlDY’ñ†Õðxÿ3ËÙ”%¬xP_Åœ|�+8‰¨`ÊZ®dšÎ‹… ]Ç9ÆåOl%©cLÌ–±uqšÆ”×ÌjÅÒ”¥ó*!S1õXPrIuC9ûW®B d²ÓŒof¥ŽôYÖ¸ÏrÓ·|‘`9K&îØžå^•’UI<;èö{=·tzN»ëKcšM¤<AßíºA¿Ûñ}×ï¸[f#Ðð†5~� �

Yes, unveiled!//Cindy-2.0.12 build 731 (2006/10/27 11:29)//Created on: 06-jun-2007 15:45:07//For: User//DO NOT EDIT --- MACHINE GENERATED CODEGeometry:=Euclidean;("A"):=FreePoint([-1.44+i*0.0,-0.96+i*0.0,4.0+i*0.0]);"A".setAppearance(2,5,1,0,0,9,true,false);"A".setAttribute("color","2");"A".setAttribute("visibility","9");"A".setAttribute("drawtrace","false");"A".setAttribute("tracelength","100");"A".setAttribute("traceskip","1");"A".setAttribute("tracedim","1.0");"A".setAttribute("render","false");"A".setAttribute("pinning","false");"A".setAttribute("labeled","true");"A".setAttribute("ptsize","5");"A".setAttribute("pointborder","true");"A".setLabelPos(3,3,1,false,0.0,0.2,1);

(more)…

With The Geometer’s Sketchpad

Unveiling? Garbage!GSP4 „ ´6 è † TQ That document was created with a newer version of

Sketchpad and cannot be opened. | This document was created with a newer version of Sketchpad. Some information may be lost. The document will open as a copy. $ è »‡ ` a b c d e f g h i j k l m n o p q _ ,# GSP4_W_0502/Apr 18 2002 0# ` ± Arial ³ ' ' ' $' ÿ ì $' €ì $' € ì $' ÿÿ ì $' € €ì $' € ì $' ÿ ÿì $' ÿÿÿì $' ÀÀÀì $' ì $' ì $' ì %' &' 8' 8' 8' 9' :' Ð ÿ Õ õÿ A Ø ™ €T@ n@ × Ð ÿ @ Õ ùÿíÿ B Ø ™ €j@ G@ × Ð ÿ @ Õ C Ø ™ àp@ `q@ × Ð €@ Ò × Ð €@ Ò × Ð €@ Ò × Ð ÿ @ Ò Õ b Ø × Ð ÿ Ò Õ ûÿîÿ c Ø × Ð ÿ Ò Õ ìÿ a Ø × Ð / € Ò × Ð / € Ò

× Ð / € Ò × Ð - ÿ Ò Õ ÿÿ O Ø × Ð - ÿ Ò × é ‡ …

No other way rather than using JavaSketchpad

<!--This file created by The Geometer's Sketchpad 4.02--><HTML><TITLE>circumcenter</TITLE></HEAD><BODY><P><HR SIZE="4">This page uses <B><A HREF="http://www.keypress.com/sketchpad/java_gsp/index.html">JavaSketchpad</A></B>, a World-Wide-Web component of <I><A HREF="http://www.keypress.com/sketchpad/index.html">The Geometer's Sketchpad</A>.</I> Copyright &copy; 1990-2001 by KCP Technologies, Inc. Licensed only for non-commercial use.<HR SIZE="4"></P><H4 ALIGN=CENTER><APPLET CODE="GSP.class" ARCHIVE="jsp4.jar" CODEBASE="jsp“

WIDTH=432 HEIGHT=306 ALIGN=CENTER><PARAM NAME=MeasureInDegrees VALUE=1><PARAM NAME=DirectedAngles VALUE=0>

<PARAM NAME=BackRed VALUE=255><PARAM NAME=BackGreen VALUE=255><PARAM NAME=BackBlue VALUE=255><PARAM NAME=Construction VALUE="{1} Point(82,240)[label('A')];{2} Point(212,46)[label('B')];{3} Point(270,278)[label('C')];

… (more)

in JSP

Multiple equal points are allowed again

…<PARAM NAME=Construction VALUE="{1} Point(82,240)[label('A')];{2} Point(212,46)[label('B')];{3} Point(270,278)[label('C')];{4} Segment(2,1)[color(0,0,128)];{5} Segment(3,2)[color(0,0,128)];{6} Segment(1,3)[color(0,0,128)];{7} Midpoint(6)[label('b'),color(255,0,0)];{8} Midpoint(4)[label('c'),color(255,0,0)];{9} Midpoint(5)[label('a'),color(255,0,0)];{10} Perpendicular(4,8)[color(0,0,128)];{11} Perpendicular(5,9)[color(0,0,128)];{12} Perpendicular(6,7)[color(0,0,128)];{13} Intersect(11,12)[label('O'),color(255,0,0)];{14} Intersect(12,10)[label('P'),color(255,0,0)];{15} Intersect(11,10)[label('Q'),color(255,0,0)];">

GeoGebra, last but not the least

and the gunzipped file is<?xml version="1.0" encoding="utf-8"?><geogebra format="2.7"><gui>

<show algebraView="false" auxiliaryObjects="true" algebraInput="false" cmdList="true"/><font size="12"/>

</gui><euclidianView>

<coordSystem xZero="215.0" yZero="315.0" scale="30.0" yscale="30.0"/><evSettings axes="false" grid="false" pointCapturing="1" pointStyle="0"/><bgColor r="255" g="255" b="255"/><axesColor r="64" g="64" b="64"/><gridColor r="192" g="192" b="192"/><lineStyle axes="1" grid="10"/><axis id="0" label="" unitLabel="" showNumbers="true"/><axis id="1" label="" unitLabel="" showNumbers="true"/>

</euclidianView>… (more)

C.a.R., Dr. Genius, Dr. Geo, Euklides, Gambol,

GDI, Geometrix, Geometry Expert, Geonext, GeoProof, GEUP,

GRACE, Java Geometry Expert, Kig, Kgeo, KSEG, The Geometric

Supposer, …

My apologies for having forgotten …

2nd why

A common interoperable format will make it easier DG enrichments from the ADG (more generally, the algebraic geometry) community.

Proving

nevertheless …

Geometry Expert

Discovering properties

Discovering relations

1/2d^4 - d^2c^2 - 2r^2c^2 + 1/2c^4 = 0

Discovering loci

How?

• Captive markets

• Duopoly (Cabri, GSP)

• There is no reason for intercommunication, from the market viewpoint

• Java!

• The pressure for globalization in the educational market can be used (and Intergeo is a good example)

GOOL: A Geometric-Object-Oriented Language

Dongming Wang et al.

“[…] for constructing, representing, manipulating, and visualizing symbolic geometric objects and relations and performing symbolic geometric computation and formal reasoning.”

SCE 2006, ADG 2006

Overview Of OpenMathOpenMath is an emerging standard for representing mathematical objects with their semantics, allowing them to be exchanged between computer programs, stored in databases, or published on the worldwide web. While the original designers were mainly developers of computer algebra systems, it is now attracting interest from other areas of scientific computation and from many publishers of electronic documents with a significant mathematical content. There is a strong relationship to the MathML recommendation from the Worldwide Web Consortium, and a large overlap between the two developer communities. MathML deals principally with the presentation of mathematical objects, while OpenMath is solely concerned with their semantic meaning or content. While MathML does have some limited facilities for dealing with content, it also allows semantic information encoded in OpenMath to be embedded inside a MathML structure. Thus the two technologies may be seen as highly complementary.

(taken from www.openmath.org)

OpenMath layers

• Language (the grammar: Variables, Constants, Errors, Functions, ,,,)

• Content Dictionary (CD) plangeo from TU/e

• Phrasebooks (communication between OM and another program)

Our work

• GDI decodifies to OM (currently being tested, perhaps next Friday …)

• Phrasebooks (decoders) for Cabri, The Geometer’s Sketchpad and Cinderella. Also an encoder for webDiscovery

• GLI

• LAD

• LADucation

Ongoing work

• Encoders for Cabri, GSP, Cinderella, Geogebra, GDI,…

• 3D extension of plangeo: 3Dgeo

• Calques3D decoder (Dr. Van Labeke) 3D-LD (loci, pedal surfaces, envelopes, …)

• Cabri3D decoder?

• Implementation ( or reuse) of new ADG algorithms

• Automatic reconstruction of OM specified configurations

• …

Gracias.

Reacciones?

http://webs.uvigo.es/fbotana