- By
**oshin** - Follow User

- 397 Views
- Uploaded on

Download Presentation
## GeoSVG: An Interactive Geometry Authoring Tool

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

Existing Interactive Geometry Software

- Geometer’s SketchPad
- Cabri Geometry II
- Can export file to TI calculator
- C.a.R. (open source, in Java)
- Kseg (open source, in C++)
- Cinderella (in Java)
- Euclidean Geometry, hyperbolic geometry, elliptic geometry and projective geometry
- Euklides (in Java)
- Can deal with conics (hyperbola, parabola, ellipse)

What can Interactive Geometry Software do

- Dynamic geometric object construction and manipulation
- All mathematical relations are preserved while objects are being dragged by mouse or values are changing.
- Parallelogram / Box-and-Whisker examples
- Transformation of geometric objects
- Translate, Rotate, Dilate, and Reflect
- Half Head.gsp
- Measurement
- Area.gsp

What can Interactive Geometry Software do (cont.)

- Animation
- Parametric Functions.gsp
- Calculation
- A dynamic calculator
- Analytic Geometry
- Plot function
- Coordinate System View.gsp
- Calculus
- Integration.gsp
- Compute derivative

What can Interactive Geometry Software do(cont.)

- Locus
- a totality of all points, satisfying the certain given conditions
- Thought Experiment.gsp
- Iteration
- Geometric iteration and numerical iteration
- Integration.gsp
- Fractal Gallery.gsp
- Script/Macro
- A sequence of steps that can be defined as a new function
- Sample Tools.gsp

Deficiency of Geometer’s SketchPad

- No separate view of authoring phase and manipulation phase
- Students need to learn the software or may be deviated from the what a teacher has constructed.
- SketchPad can export what is constructed as a Java applet, which is used in the manipulation phase. However, the applets only have a subset of the capability of the software.

Deficiency of Geometer’s SketchPad (cont.)

- No special object types to ease composing
- Philosophy of SketchPad: Many or Few
- This is an advantage, but also a disadvantage
- Lots of hidden objects to help construct a manipulative
- Example: Hard to copy a shape
- No Linux version
- Some other small deficiency
- No user input
- No function to handle a sequence of numbers
- Not very good support for multiple coordinates systems
- No ruler and Protractor

Deficiency of Geometer’s SketchPad (cont.)

- Big Deficiency: NOT web-oriented
- A tool called JavaSketchPad can convert what Geometer’s SketchPad generates to Java applets. However:
- Some constructions such as iteration cannot be converted.
- User can only manipulate objects, but cannot construct new objects.
- The applet supports much fewer mathematical constructions than the desktop software.
- Author needs to have the software installed in his/her machine. Then the author needs to know how to publish a web page online, and may also need to know how to embed an applet in a web page.
- This small obstacle may stop many teachers from using the software

GeoSVG

- Written in SVG and Javascript
- SVG, which stands for Scalable Vector Graphics, is an application of XML that makes it possible to represent graphic information in a compact, portable form
- Inherent web-oriented
- What GeoSVG generates automatically can be viewed and manipulated online
- The whole GeoSVG authoring tool can be a web page
- User does NOT need to install software and compose web pages
- We may set up a web site for GeoSVG users. File open, File edit, and File save are all online.

GeoSVG (cont.)

- Platform independent (Windows/Mac/Linux)
- Can also be developed into a standalone application using Batik
- Batik gives developers a set of core modules which can be used together or individually to support specific SVG solutions. Examples of modules are the SVG Parser, the SVG Generator and the SVG DOM.
- Manipulatives can have the full power of the capacity of GeoSVG by exporting menu functions

Algorithms

- All the objects form an acyclic directed graph
- Ancestors/Parents/Children
- Independent Points are the source of the graph
- A change of a top-level object invalidates all its descendents. All descendents need to recalculate its status.
- Geometric Reversibility: a change of a descendent affects its ancestor(s).
- Selection of a segment is equivalent to selection of two end points.

Algorithms (cont.)

- Philosophy: Many or few? What objects should be atoms?
- Special objects to help ease composing
- Pivot Point: ease the work to copy a shape
- Angle Point: fixed angle and changeable distance. Help to create a axis.
- Useful Action Buttons:
- Show/Hide: Show or Hide a group of objects
- Movement: Animation
- Presentation: Execute a sequence of action buttons
- CircularEvents: Circular execution of a sequence of action buttons. Execute one per button click.

Algorithms (cont.)

- As a geometry software, there are lots of mathematical computation algorithms.
- Translate
- Rotation
- Intersection
- Parallel/Perpendicular
- Determine if a point is on an object (line/circle/polygon)
- And etc.

Difficulty in Developing GeoSVG

- GeoSVG is currently an online authoring tool, which cannot save files to local disk, and cannot utilize copy-and-paste provided by OS.
- Current Solution: Under Windows IE, the data can be exported to an textarea. User needs to copy and save it.
- Future Solution: next slide
- SVG-XHTML communication problem.
- http://www.svg.org/wiki/index.php/CrossBrowserScripting
- With all the existing Interactive Geometry Software, do I still need to develop a new one?
- Applet is not a problem. Once it’s loaded, it’s also fast.

Batik SVG Toolkit

- Batik is a Java(tm) technology based toolkit for applications or applets that want to use images in the Scalable Vector Graphics (SVG) format for various purposes, such as viewing, generation or manipulation.
- Examples of modules are an SVG parser, an SVG generator and an SVG DOM implementations.
- Batik contains a Swing component that can add SVG viewing capability to all Java technology applications or applets.
- With Batik, a desktop software of GeoSVG can be developed.

What is GeoSVG capable of now

- Create basic shape: point, line, circle, polygon
- Measurement: length, slope, distance, angle, area, perimeter, circumference, coordinates
- Calculation: sorting a sequence of values, max, min, Q1, Q3, mean, count
- Ruler, Protractor, and Simple Grids
- Simple animation
- Action Buttons / User Input / Plain Text
- Show/Hide Object, and Set Object(s) Manipulable
- Save what is constructed as a string
- Export menu functions: Manipulatives have all the capability of the authoring environment.

Future Work

- Learn more advanced SVG topics
- Learn more XML technology and browser plugin technology
- Optimize several algorithms
- Implement more functions for analytic geometry
- Implement algorithms for locus, script, and iteration.
- Integrate Batik with GeoSVG

Download Presentation

Connecting to Server..