1 / 15

GeoSVG

GeoSVG. A Web-oriented Dynamic Geometry Software. Introduction to GeoSVG. GeoSVG is a Dynamic Geometry Software (DGS) to support diagramming, interactive learning, and easy authoring of geometrical manipulatives The authoring environment is written in SVG and Javascript

dobry
Download Presentation

GeoSVG

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GeoSVG A Web-oriented Dynamic Geometry Software

  2. Introduction to GeoSVG • GeoSVG is a Dynamic Geometry Software (DGS) to support diagramming, interactive learning, and easy authoring of geometrical manipulatives • The authoring environment is written in SVG and Javascript • SVG, which stands for Scalable Vector Graphics, is an XML application • Javascript manipulates the object model of an SVG document • Complete Web Orientation • Both authoring and viewing manipulatives can be done online via browsers

  3. GeoSVG Architecture and Components • The GeoSVG toolkit --- an SVG-coded library for authoring (creating, editing, publishing plane geometry manipulatives and for their display, animation, and user interaction). • The GeoSite --- a Web site that makes the GeoSVG toolkit available and stores manipulatives for access, searching, and sharing.

  4. Complete Web Orientation

  5. GeoSite: Server-side Support for GeoSVG • Virtual hard drive management • Logged-in user can create folders under his/her account and store manipulatives under any folder • Direct Online Publishing of Manipulatives • Users can create new manipulative, edit existing manipulative or delete a manipulative • Manipulative sharing • A user can link or copy other user’s manipulative • Access control can be defined • Convenient search • Search is based on manipulative classification, keywords assigned by the author and text within each manipulative • Manipulative can be embedded in pages outside GeoSite

  6. Authoring Supports • Drawing primitives: Making it simple to create basic geometric shapes such as points, lines (segments, rays and vectors), circles (ellipses and arcs), polygons, etc. • Geometric object construction: Constructing a new geometric object by combining existing objects that are subject to user-specified rules and constraints. For example, picking a point and a line to construct a new line through the point parallel to the existing line. • Measurement: Measuring length, slope, radius, distance, area, circumference, perimeter, angle, coordinate positions. • Loci and Envelops: Constructing loci of moving points and envelops of moving lines. • Animation: Visualizing the movement of objects to illustrate concepts much better than still pictures.

  7. Authoring Supports (cont.) • Iteration: Generating a sequence of objects according to iteration rules defined by a user. • Calculation: A dynamic calculator updates results when statuses of dependent objects change. • Graphing: Plotting points and function graph in coordinate systems. • Geometric transforms: Allowing users to define center and mirror for translation, reflection, dilation, and rotation of objects. • Defining Macros: Condensing a series of steps in to one software command. • Graphical User Interface(GUI): Combining menus, buttons, mouse actions, and keyboard inputs to provide an intuitive and convient authoring environment.

  8. Three Modes of a Manipulative • Three groups of users • Teachers who are very familar with the software • Teachers who want to use the manipulative • Students • Authoring mode • An author has the comprehensive authoring supports • Configuration mode (still under study) • A user can customize a manipulative in a configuration page • Manipulation mode • A user can do basic operations such as object dragging and data entry • In case some authoring mode operations are needed for a manipulative, the author in the authoring mode can export them as buttons or menu items.

  9. Object-oriented Design and Implementation of GeoSVG • Object-oriented components • The classes MyMenu, MyButtonBar, MyButton, MyInput, MySelect, etc. to support a set of GUI widgets • The class GeoObject and its subclasses whose instances represent the objects an author creates on the canvas. • The class Canvas whose instance represents a bounded area on which a user can create and manipulate objects. • The class System which provides many useful utilities. • The class EventHandler which handles mouse and keyboard events. • The classes Property, TabGroup and Tab for display and configuration of properties of an object. • The class Calculator which supports dynamic calculation.

  10. Integration of components in GeoSVG

  11. Class GeoObject and Subclasses

  12. Property Box of an Object • An interface language, which is similar to html forms, is designed for display and configuration of properties of an object • Each GeoObject is associated with at least one piece of codes as below. This describes one tab in the property box. • Example: setting the rotation angle of an axis <tab name=“angle” > <!-- defines the tab name --> <text text=“The angle at which the axis rotates:” x=“0” y=“1” /> <!-- shows static text --> <valueSrc x=“0” y=“3” prehandler=“Axis.anglePrehandler()” posthandler=“Axis.anglePosthandler()” / <!-- property defined by the calculator --> </tab> ValueSrc in the example defines a special control that corresponds to a computation defined by the dynamic calculator. • This interface language will also be used for incorporating third-party manipulatives.

  13. Dynamic Calculator • The dynamic calculator can • Set properties of an object • Define relations between objects • Define math functions that can use existing objects as coefficients and parameters • Create new measurements • Result can be updated dynamically • ValueSrc control defined in the interface language will invoke the dynamic calculator to configure an object

  14. Additional features of GeoSVG • Submission-type manipulatives • The author exports an “Submit” button into the manipulative during authoring. • A thread led by the original manipulative is created under the author’s account on GeoSite. • All of the submissions are placed under this thread. • Authoring assistance such as built-in functions for duplicating a group of objects • Multiple coordinate systems • Rulers and Protractor (size configurable) • Multiple canvases will be provided in the future

  15. Future work • Optimize algorithms (refering to an open source DGS system C.a.R.) • Implement Undo/Redo, Macro, and Loci • Test the interface language to integrate third party manipulatives • Re-implement GeoSite using getURL and postURL instead of inter-document communication to save a manipulative • Design and implement the configuration mode • Provide interface to interact with WME • Have a stable version around September

More Related