GeometryEditor Crash Course July 11, 2007 Xun Lai Department of Computer Science Kent State University.

Slides:



Advertisements
Similar presentations
Working with Profiles in IX1D v 3 – A Tutorial © 2006 Interpex Limited All rights reserved Version 1.0.
Advertisements

With Folder HelpDesk for Outlook, support centres and other helpdesks can work efficiently with support cases inside Microsoft Outlook. The support tickets.
The GIMP Simple features tutorial By Mary A White.
Lesson 14 Creating Formulas and Charting Data
Tutorial 8: Developing an Excel Application
Kanban Task Manager for Outlook ‒ Introduction
Chapter 6 Photoshop and ImageReady: Part II The Web Warrior Guide to Web Design Technologies.
Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Building Great Looking.
Annotation & Nomenclature By Corey Fortezzo for PG&G GIS Workshop, 2010.
© by Pearson Education, Inc. All Rights Reserved.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
 2006 Pearson Education, Inc. All rights reserved Introduction to the Visual C# 2005 Express Edition IDE.
GeometryEditor and GeoSite Release Status and New Features Xun Lai July 16, 2008.
Working with Vector Graphics – Lesson 21 Working with Vector Graphics Lesson 2.
GeoSVG and GeoSite - a Web-based system for manipulative and education page authoring Xun Lai Feb. 15 th, 2006.
GeoSite and GeoSVG. GeoSVG: A Dynamic Geometry Authoring Tool Written in SVG and Javascript Providing most of the capabilities of a traditional Dynamic.
Create slices and hotspots Create links in Web pages Create rollovers from slices Create basic animation Add tweening symbol instances to create animation.
GeometryEditor & GeoSite March 07, 2007 Xun Lai. Part One: User’s Point of View Part Two: Developer’s Point of View Part Three: Technical Point of View.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
GeometryEditor Xun Lai Oct. 18, Authoring Supports Implemented Arbitrary Drawing Drawing primitives: Making it simple to create basic geometric.
A Guide to Oracle9i1 Creating an Integrated Database Application Chapter 8.
GeometryEditor & GeoSite (1 st test version to be released 01/01/2008) Nov. 14, 2007 Xun Lai Department of Computer Science Kent State University.
GeoSVG: An Interactive Geometry Authoring Tool. Existing Interactive Geometry Software Geometer’s SketchPad Cabri Geometry II –Can export file to TI calculator.
Introduction To Form Builder
GeoSVG A Web-oriented Dynamic Geometry Software. Introduction to GeoSVG GeoSVG is a Dynamic Geometry Software (DGS) to support diagramming, interactive.
GeoSVG: A Web-based Interactive Plane Geometry System for Mathematics Education Xun Lai and Paul S. Wang Department of Computer Science Institute for Computational.
Chapter 9 Introduction to ActionScript 3.0. Chapter 9 Lessons 1.Understand ActionScript Work with instances of movie clip symbols 3.Use code snippets.
Raster Data Analysis Chapter 11. Introduction  Regular grid  Value in each cell corresponds to characteristic  Operations on individual, group, or.
TrendReader Standard 2 This generation of TrendReader Standard software utilizes the more familiar Windows format (“tree”) views of functions and file.
GEOMETER’S by Cora Tenza SKETCHPAD. California Standards addressed: Grade 3 Measurement and Geometry 1.3 Find the perimeter of a polygon with integer.
Infinity-project.org Engineering education for today’s classroom The Infinity Project SM LabVIEW for The Infinity Project.
Computer Literacy BASICS
Chapter 4 Dreamweaver: Part II The Web Warrior Guide to Web Design Technologies.
EnSight analyze, visualize, communicate EnSight 6.x Advanced Training Part 1 Instructors: Mike Krogh, Anders Grimsrud.
GEOGEBRA STD X SUB : ICT. Chapter 6 Geogebra Created By :- Mr.S.N.Attar ICT BOARD Member PRESENTED BY Kulkarni S.A.
Mathematical Processes GLE  I can recognize which symbol correlates with the correct term.  I can recall the correct definition for each mathematical.
Advanced Excel for Finance Professionals A self study material from South Asian Management Technologies Foundation.
Introducing Dreamweaver MX 2004
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
IE 411/511: Visual Programming for Industrial Applications
Ranjeet Department of Physics & Astrophysics University of Delhi Working with Origin.
P366: Lecture #1 Use of Excel for analysis Lei Chen, MD Jan 6, 2002.
Lattice Technology New Product Feature Highlights July 2010 Product Release.
Graphics A graphics program allows you to combine pictures and text in many different ways. Features – General Level Draw graphics Enter Text Common Tools.
Teacher’s Assessment Assistant Worksheet Builder Starting the Program
1 Draw Mode. 2 Notable Points (RMB) End point: Snaps to the closest end point of the selected entity. Mid point: Snaps to the middle point of the selected.
Key Applications Module Lesson 21 — Access Essentials
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Introduction to Enterprise Guide Jennifer Schmidt Rhonda Ellis Cassandra Hall.
 2006 Pearson Education, Inc. All rights reserved Introduction to the Visual C# 2005 Express Edition IDE.
Chapter 11: Block References and Attributes. After completing this Chapter, you will be able to use the following features: Create and insert block references.
Using the AccuGlobe Software with the IndianaMap Using the AccuGlobe Software.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Machine Vision Introduction to Using Cognex DVT Intellect.
January 2006Colby College ITS Setting Up Course Pages.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Chapter 5 Introduction To Form Builder. Lesson C Objectives  Use sequences to automatically generate primary key values in a form  Create lists of values.
Introduction to A+CAD. Objectives Understand fundamental CAD concepts Start A+CAD Tour the A+CAD interface Explore the different A+CAD data input methods.
IE 411/511: Visual Programming for Industrial Applications Lecture Notes #2 Introduction to the Visual Basic Express 2010 Integrated Development Environment.
CABRI Wrexham Schools Quality Circle 24 th October 2006.
Working in the Forms Developer Environment
Introduction to the Visual C# 2005 Express Edition IDE
Unit Six: Labels In this unit… Review Adding Text to Maps
Computer Application AutoCAD Program
Welcome to E-Prime E-Prime refers to the Experimenter’s Prime (best) development studio for the creation of computerized behavioral research. E-Prime is.
In this chapter, you will learn the following:
Five-Minute Check (over Lesson 3–2) Mathematical Practices Then/Now
In this chapter, you will learn the following:
Presentation transcript:

GeometryEditor Crash Course July 11, 2007 Xun Lai Department of Computer Science Kent State University

GeometryEditor Previously called GeoSVG Previously called GeoSVG A Dynamic Geometry System to explore mathematical concepts A Dynamic Geometry System to explore mathematical concepts A Web-based system A Web-based system No software installation requiredNo software installation required (for developers) A package for building more sophisticated Web applications that need mathematical drawing support (for developers) A package for building more sophisticated Web applications that need mathematical drawing support GeoSite, BBS, DMAD and so on …GeoSite, BBS, DMAD and so on …

Working Environment Purely based on HTML, SVG, and javascript Purely based on HTML, SVG, and javascript Full Features (menu, toolbar, the graphical area, and interaction between SVG and HTML) work Full Features (menu, toolbar, the graphical area, and interaction between SVG and HTML) work on Firefox on all platformson Firefox on all platforms on Windows IE with ASVon Windows IE with ASV on Opera (partially tested)on Opera (partially tested) Only graphical area works Only graphical area works on Mac Safari with ASVon Mac Safari with ASV on Netscape on all platforms with ASVon Netscape on all platforms with ASV

What a manipulative looks like Menu & Toolbar Menu & Toolbar An author needs to customize what menu items and toolbar buttons to be available to usersAn author needs to customize what menu items and toolbar buttons to be available to users Graphical area (canvas) Graphical area (canvas) An author can add objects to the canvasAn author can add objects to the canvas

What a manipulative looks like

Objects you can author Implemented Implemented PointPoint Line/ray/segmentLine/ray/segment CircleCircle PolygonPolygon ScratchScratch Coordinate SystemCoordinate System Function graphFunction graph LocusLocus Plain textPlain text User inputUser input ButtonButton MeasurementMeasurement To be implemented To be implemented Vector, regular polygon, arc and conicsVector, regular polygon, arc and conics Slide barSlide bar

Objects you can author

Menu Introduction: Draw Menu Once a drawing tool in the Draw menu is selected, you can create objects by clicking and moving the mouse Once a drawing tool in the Draw menu is selected, you can create objects by clicking and moving the mouse Select or move object(s)Select or move object(s) PencilPencil Free PointFree Point Line/Ray/SegmentLine/Ray/Segment Compass CircleCompass Circle MacroMacro

Draw Menu

Draw Menu: Macro Support Grouping several steps as one new tool Grouping several steps as one new tool Objects involved with a macro are divided into Objects involved with a macro are divided into GivensGivens Selected by a user from an object on the canvas Selected by a user from an object on the canvas Automatically generated Automatically generated Associated with an object on the canvas (to be finished) Associated with an object on the canvas (to be finished) ResultsResults Descendents of the givens Descendents of the givens A macro can come from a data string or a URL A macro can come from a data string or a URL A macro can be saved with a manipulative A macro can be saved with a manipulative Examples Examples

Menu Introduction: Create Menu With some objects selected, you can define a construction, in which one or more new objects will be created. With some objects selected, you can define a construction, in which one or more new objects will be created. MidPoint of a segmentMidPoint of a segment Circle by a center and a segmentCircle by a center and a segment Parallel/Perpendicular lineParallel/Perpendicular line PolygonPolygon Point on a line/circle/canvasPoint on a line/circle/canvas Perpendicular Point (the foot of the altitude, or perpendicular foot)Perpendicular Point (the foot of the altitude, or perpendicular foot) Parallelogram PointParallelogram Point

Create Menu

Things you need to know: Two types of operations Select an operation from the menu or toolbar, and then begin to draw on the canvas Select an operation from the menu or toolbar, and then begin to draw on the canvas Select one or more objects, and then go to the menu or toolbar to apply an operation to it (them) Select one or more objects, and then go to the menu or toolbar to apply an operation to it (them) Sometimes, the operation may invoke a dialogSometimes, the operation may invoke a dialog

Things you need to know: Menu and Toolbar Enabling and Disabling Menu items and toolbar buttons are enabled or disabled automatically based on the objects selected and the current system status Menu items and toolbar buttons are enabled or disabled automatically based on the objects selected and the current system status

Things you need to know: The property dialog To inspect the relations among objects via the parents/children relation To inspect the relations among objects via the parents/children relation To see how an object was named and labeled by the system, or to label it yourself To see how an object was named and labeled by the system, or to label it yourself To customize properties of an object To customize properties of an object To check if your construction is correct To check if your construction is correct To study how a manipulative was created To study how a manipulative was created

Property Dialog – to inspect relations among objects

Property Dialog – to customize properties of an object

Things you need to know: Naming and labeling of objects Naming Naming The name of an object is used whenever a description of the object is neededThe name of an object is used whenever a description of the object is needed In the property dialog shown in the previous slide In the property dialog shown in the previous slide In an mathematical expression In an mathematical expression An object is usually named in this way: object type plus object labelAn object is usually named in this way: object type plus object label If an object has not been labeled, an object will be named like “ Circle #3 ”, “ Polygon #2 ”. The index numbers are assigned to objects of the same type in their creation order If an object has not been labeled, an object will be named like “ Circle #3 ”, “ Polygon #2 ”. The index numbers are assigned to objects of the same type in their creation order

Things you need to know: Naming and labeling of objects (cont.) Labeling Labeling You can label the object yourself.You can label the object yourself. If an object has not been labeled, when the object is measured, a label will be automatically assigned.If an object has not been labeled, when the object is measured, a label will be automatically assigned. For example, labels of circles will be assigned as c1, c2, and so on For example, labels of circles will be assigned as c1, c2, and so on

Menu Introduction: Measure Menu Measurements Measurements Line length, and slopeLine length, and slope Circle radius, diameter, circumference, and areaCircle radius, diameter, circumference, and area Polygon perimeter, and areaPolygon perimeter, and area Distance between a point and a point/line/circleDistance between a point and a point/line/circle AngleAngle Coordinates, abscissa, and ordinateCoordinates, abscissa, and ordinate

Measure Menu

Menu Introduction: Transform Menu Possible transformations Possible transformations TranslationTranslation x-y direction translation x-y direction translation Polar (angle/distance) translation Polar (angle/distance) translation Vector translation Vector translation Rotation around a centerRotation around a center Reflection about a mirrorReflection about a mirror Dilation about a centerDilation about a center Most of the transformation operations will invoke a dialog, which will invoke the calculator Most of the transformation operations will invoke a dialog, which will invoke the calculator

Transform Menu

Dialogs invoked by dilation

Result after the dilation

Property of the dilated triangle

Things you need to know: The dynamic calculator The dynamic calculator can be used to The dynamic calculator can be used to define a functiondefine a function define a calculationdefine a calculation set numeric properties of objectsset numeric properties of objects Depth of an iteration Depth of an iteration Coordinates of a point Coordinates of a point Unit length of an axis Unit length of an axis Properties in a transformation Properties in a transformation Dilation factor of a synchronized copy Dilation factor of a synchronized copy

Calculator for defining a function

Calculator for setting the depth of an iteration

Things you need to know: The dynamic calculator (cont.) The calculator can form very meaningful expression by referring to the names or labels of objects The calculator can form very meaningful expression by referring to the names or labels of objects An expression is unit sensitive An expression is unit sensitive 9cm+3inches will give you 10.18inches9cm+3inches will give you 10.18inches Distance units: cm/inches/pixelsDistance units: cm/inches/pixels Angle units: radians/degreesAngle units: radians/degrees By clicking an object on the canvas, an author can insert the object into the expression By clicking an object on the canvas, an author can insert the object into the expression

Things you need to know: The dynamic calculator (cont.) An expression is entered in infix format, and it will be parsed and evaluated immediately. Invalid expression won ’ t be allowed. An expression is entered in infix format, and it will be parsed and evaluated immediately. Invalid expression won ’ t be allowed. The expression for a numeric property of an object can be changed even after the object is created. The expression for a numeric property of an object can be changed even after the object is created.

Things you need to know: The dynamic calculator (cont.) The calculator provides lots of built-in functions The calculator provides lots of built-in functions sin, cos, tan, abs, sqrt, log, ln, arcsin, arccos, and arctansin, cos, tan, abs, sqrt, log, ln, arcsin, arccos, and arctan max, min, avg, and sum of a sequence of numbersmax, min, avg, and sum of a sequence of numbers sgn, fac, round, and truncsgn, fac, round, and trunc pick that is similar to the “ ? : ” operatorpick that is similar to the “ ? : ” operator The calculator can handle boolean expressions The calculator can handle boolean expressions

Things you need to know: Interaction between the canvas and a dialog Some dialogs expect the user to click an object on the canvas as an input Some dialogs expect the user to click an object on the canvas as an input Calculator as you have seen alreadyCalculator as you have seen already Synchronized copy dialogSynchronized copy dialog Iteration dialogIteration dialog

Menu Introduction: Graph Menu Coordinate system Coordinate system Point plotting Point plotting Function definition and plotting Function definition and plotting

Graph Menu

Graph Menu: Coordinate System Usually, you just click OK in the dialog to create a new coordinate system Usually, you just click OK in the dialog to create a new coordinate system You can also You can also Configure the unit length of an axis controlled by another axis in another coordinate systemConfigure the unit length of an axis controlled by another axis in another coordinate system Specify value per unitSpecify value per unit Specify the range of an axisSpecify the range of an axis

A coordinate system

The coordinate system dialog

Menu Introduction: Edit Menu Undo/Redo/Delete Undo/Redo/Delete Unlimited undo and redo forUnlimited undo and redo for Object(s) creation Object(s) creation Object(s) deletion Object(s) deletion Object(s) movement Object(s) movement And some other operations And some other operations Properties Properties Properties of an objectProperties of an object Redefine *** Redefine *** Preferences Preferences Global properties of a manipulativeGlobal properties of a manipulative Menu Customization/Toolbar Customization Menu Customization/Toolbar Customization

Menu Introduction: Edit Menu (cont.) Line style dialog Line style dialog for setting the style of a geometric objectfor setting the style of a geometric object Color palette Color palette for setting the color of a geometric objectfor setting the color of a geometric object Show/hide object(s) Show/hide object(s) Set object(s) manipulable or NOT manipulable Set object(s) manipulable or NOT manipulable

Edit Menu

Line Style Dialog and Color Palette

The preferences dialog

Menu Introduction: Objects Menu Action button control Action button control Show/HideShow/Hide MovementMovement PresentationPresentation Circulation EventsCirculation Events AnimationAnimation User input control User input control Text block Text block Rulers, protractor, and grids Rulers, protractor, and grids

Objects Menu

Menu Introduction: Advanced Menu Advanced constructions Advanced constructions CalculationCalculation Synchronized CopySynchronized Copy LocusLocus IterationIteration They are advanced either because They are advanced either because the mathematics or the logic behind is sophisticated, orthe mathematics or the logic behind is sophisticated, or the dialog assisting authoring is quite complexthe dialog assisting authoring is quite complex

Advanced Menu

Advanced Menu: Calculation Calculation Calculation The calculator will be invoked to define an expression in terms of other calculations, measurements, and user input controls The calculator will be invoked to define an expression in terms of other calculations, measurements, and user input controls

Advanced Menu: Synchronized Copy Synchronized copy dialog Synchronized copy dialog The mathematical relations among copied objects are always the same as the source objectsThe mathematical relations among copied objects are always the same as the source objects

One triangle is a synchronized copy of another triangle

The dialog for making a synchronized copy

Advanced Menu: Iteration An iteration rule must be specified An iteration rule must be specified How a pre-image object is mapped to an image object (Point A mapped to mid-point C)How a pre-image object is mapped to an image object (Point A mapped to mid-point C) The descendents structure under the pre-image object will be duplicated for the image object (point C takes the place of point A, and the whole descendents tree will be generated for point C) The descendents structure under the pre-image object will be duplicated for the image object (point C takes the place of point A, and the whole descendents tree will be generated for point C)

A simple iteration example: point A mapped to mid-point C

The dependency tree of the objects in the previous slide

A complicated iteration example

Advanced Menu: Locus Mathematically, a locus is a collection of points which share a property. (Wikipedia) Mathematically, a locus is a collection of points which share a property. (Wikipedia) Three components Three components DriverDriver Path: that the driver will move alongPath: that the driver will move along Driven: must be a descendent of the driverDriven: must be a descendent of the driver Visually, a locus is a collection of all the locations the driven goes through Visually, a locus is a collection of all the locations the driven goes through

A simple locus example: C is the mid-point of segment AB, and B is on the circle c1. When point B moves around c1, the trace of C forms a locus

A locus example: the locus of the center of the circle tangent to two circles

Menu Introduction: Statistics Menu Basic statistics supports Basic statistics supports Min/Max, Median, Q1/Q3, and Count of a sequence of measurements of user inputsMin/Max, Median, Q1/Q3, and Count of a sequence of measurements of user inputs

Statistics Menu

Things you need to know: Menu and Toolbar Customization Each menu item functionality can also be put on the toolbar Each menu item functionality can also be put on the toolbar The menu and toolbar can be customizable The menu and toolbar can be customizable

Menu Customization Dialog

Status of GeometryEditor More features need to be finished, however, More features need to be finished, however, The first trial version can be announced once a simple user account management is done on the GeoSite The first trial version can be announced once a simple user account management is done on the GeoSite A progress table A progress table 07/tasks.htmlhttp:// 07/tasks.htmlhttp:// 07/tasks.htmlhttp:// 07/tasks.html although it can be understood only by mealthough it can be understood only by me User manual and training materials needed User manual and training materials needed

Features to be finished Envelops Envelops Arcs Arcs Conics Conics Integration of MathML into the calculator Integration of MathML into the calculator Dialog showing construction steps Dialog showing construction steps Dialog showing macro properties Dialog showing macro properties Dialog for filtering iterated objects Dialog for filtering iterated objects Tabulated data for an iteration Tabulated data for an iteration Iterations for multiple mappings Iterations for multiple mappings Some other small features Some other small features

System Composition Graphical core (jsmin-ed) Graphical core (jsmin-ed) 240KB, 16,000 lines of codes, 110 classes240KB, 16,000 lines of codes, 110 classes GeometryEditor.js: a layer between the graphical core and a client Web application GeometryEditor.js: a layer between the graphical core and a client Web application 50KB, 2,000 lines of codes50KB, 2,000 lines of codes Around 30 types of dialogs and their related Javascript files Around 30 types of dialogs and their related Javascript files Open source libraries used: Open source libraries used: Dynarch.com DHTML menus (50KB integrated into GeometryEditor.js)Dynarch.com DHTML menus (50KB integrated into GeometryEditor.js)Dynarch.com DHTML menusDynarch.com DHTML menus FCKeditor (used in GeoSite)FCKeditor (used in GeoSite)FCKeditor

Thank you!