GeometryEditor Xun Lai Oct. 18, 2006. Authoring Supports Implemented Arbitrary Drawing Drawing primitives: Making it simple to create basic geometric.

Slides:



Advertisements
Similar presentations
MEG 361 CAD Chapter 3 Basic Concepts of Graphics Programming.
Advertisements

Introduction to FX Draw 4. Flyout Toolbars Any tool with a red triangle hides a “flyout” toolbar containing extra tools. Click and hold the left mouse.
Trigonometric Robot Workbook Version 0.1 Prepared by Phil Bourke Tipperary Institute.
Scripts and Flow Control. Scripts So far we have been entering commands directly into the command line But there is a better way Script files (and functions)
Output Primitives Computer Graphics.
GeometryEditor and GeoSite Release Status and New Features Xun Lai July 16, 2008.
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.
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.
1. Migrate GeoSVG to Firefox 2. GDrawing Xun Lai October, 2005.
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.
GeoSVG A Web-oriented Dynamic Geometry Software. Introduction to GeoSVG GeoSVG is a Dynamic Geometry Software (DGS) to support diagramming, interactive.
JavaServer Pages TM Introduce by
GeoSVG: A Web-based Interactive Plane Geometry System for Mathematics Education Xun Lai and Paul S. Wang Department of Computer Science Institute for Computational.
Introduction to Longitudinal Phase Space Tomography Duncan Scott.
SHIFTS: f ( x )  d ________________________ _______________________ Result for the whole graph _________________________.
Coordinate Geometry Mrs. Keating Keystone Geometry.
(7.4) Patterns, relationships, and algebraic thinking. The student represents a relationship in numerical, geometric, verbal, and symbolic form. The student.
SDC PUBLICATIONS © 2011 Chapter 2 Basic Object Construction and Dynamic Input Learning Objectives:  Referencing the WCS.  Use the Startup dialog box.
GEOMETER’S by Cora Tenza SKETCHPAD. California Standards addressed: Grade 3 Measurement and Geometry 1.3 Find the perimeter of a polygon with integer.
Mary Beth Briskey *Objectives Objectives The student will be able to achieve the following objectives by the end of this presentation: Identify and.
Geoboards Review of Algebra. Review What is the slope of the line that passes through: (2, -3) and (-4, 3)? (0,0) x y.
SIG WEB January 31, 3PM. What is HTML5? What it is: Allows for better intergration of media consumption. A new open standard Provides new APIs.
Basic tasks of generic software Chapter 3. Contents This presentation covers the following: – The basic tasks of standard/generic software including:
Implementing the 7 th Grade GPS: Constructions, Transformations, and Three-Dimensional Figures Presented by Judy O’Neal North Georgia.
1 Web Basics Section 1.1 Compare the Internet and the Web Compare Web sites and Web pages Identify Web browser components Describe types of Web sites Section.
Connecticut Core Curricula for High Schools Geometry
Java Programming, 3e Concepts and Techniques Chapter 3 Section 65 – Manipulating Data Using Methods – Java Applet.
GRADE 7 CURRICULUM SUMMARY. NUMBER AND OPERATION SENSE use models to express repeated multiplication using exponents express numbers in expanded form.
Relations & Functions (x,y)y) DR ID 1. Relations & Functions Test administrator: Before administration begins, show students the front of this card and.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
GRADE 8 CURRICULUM SUMMARY. NUMBER AND OPERATION SENSE use manipulatives and diagrams to understand the concept of square root recognize perfect squares.
y + x = r 222 next Properties of a Circle What is Pi? Definition of a Circle Lesson Standard Click one!
Khoros Yongqun He Dept. of Computer Science, Virginia Tech.
Chapter 1: Getting Started with MATLAB MATLAB for Scientist and Engineers Using Symbolic Toolbox.
Web 2.0 Tools SMART Notebook Math Tools By Joanna Snyder.
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
Note 2: Perimeter The perimeter is the distance around the outside of a shape. Start at one corner and work around the shape calculating any missing sides.
Mathematics 8 Support Mental Math Yearly Plan. Mental Math: Geometry a) Unique Triangles.
1.8: Perimeter, Circumference, and Area
Unit 1 – Conic Sections Section 1.2 – The Circle Calculator Required.
FUNCTIONS AND MODELS 1. The fundamental objects that we deal with in calculus are functions.
COSC 302 Group 2 Caleb Redman Catie Flessas Cory Pugh Sean Goerling.
JHEUSY DELPOZO TOGANS 9/17/10. TABLE OF CONTENTS  PAGE 1-PARALLEL LINES  PAGE 2-TWO CONGRUENT LINES  PAGE 3-VERTICAL LINES  PAGE 4- PERPENDICULAR.
Introduction to Matlab & Data Analysis 2015 In this tutorial we will: Build a practical application using GUIDE Learn more about graphical user interface.
CITA 342 Section 2 Visual Programming. Allows the use of visual expressions (such as graphics, drawings, or animation) in the process of programming.
In the name of God Computer Graphics.
LESSON 5-1 I can draw reflected images. I can recognize and draw lines of symmetry.
Review from Friday The composition of two reflections over parallel lines can be described by a translation vector that is: Perpendicular to the two lines.
AHSGE MATHEMATICS PRACTICE SESSION. STANDARD I: The student will be able to perform basic operations on algebraic expressions. OBJECTIVE 1. Apply order.
SDC PUBLICATIONS © 2012 Chapter Two Basic Object Construction and Dynamic Input Learning Objectives:  Referencing the WCS.  Use the Startup dialog box.
Constructions and 3D Drawings. Constructing Perpendicular Bisectors - Perpendicular Bisectors are lines that cut each other in half at right angles.
1.6 Basic Construction 1.7 Midpoint and Distance Objective: Using special geometric tools students can make figures without measurments. Also, students.
PLANAR GEOMETRIC TRANSFORMATIONES AND GEOMETRIC RELATIONSHIP PROPORTION.
Computer Graphics CC416 Lecture 04: Bresenham Line Algorithm & Mid-point circle algorithm Dr. Manal Helal – Fall 2014.
CABRI Wrexham Schools Quality Circle 24 th October 2006.
Main characteristics of Vector graphics  Vector graphics provide an elegant way of constructing digital images (diagrams, technical illustration and.
Computer Graphics Lecture 07 Ellipse and Other Curves Taqdees A. Siddiqi
5.2 Microsoft Excel.
In the name of God Computer Graphics.
Translations 9.2 Content Standards
5.2 Microsoft Excel.
Continuous - Discrete Sampling Demo (CON2DIS) team
True or False: A transformation is an operation that maps a an image onto a pre-image. Problem of the Day.
Section Name: Translations
Find the value of x and BC if B is between C and D, CB = 2x, BD = 4x, and CD = 12. Problem of the Day.
Integrated Math One Module 7 Test Review.
Dongwhan Kim Annie Zhao Steven Lawrance
ADDING FRACTIONS
Presentation transcript:

GeometryEditor Xun Lai Oct. 18, 2006

Authoring Supports Implemented Arbitrary Drawing Drawing primitives: Making it simple to create basic geometric shapes such as points, lines (segments, rays and vectors), circles (ellipses and arcs), polygons, conics, etc Geometric object construction: Constructing a new geometric object subject to mathematical relations with existing objects. For example, creating a line parellel to an existing line and through an existing point. Measurement: Measuring length, slope, radius, distance, area, circumference, perimeter, angle, and coordinates. Animation: Moving and changing objects to illustrate and to demonstrate. Iteration: Repeated execution of user commands. Calculation: Creating and evaluating mathematical expressions based on existing measurements. Graphing: Plotting points and function graphs in coordinate systems. Defining Macros: Grouping several steps into one command. Defining GUI Operations: Creating a variety of buttons, user inputs, and tables in a manipulative.

Authoring Supports to be Implemented Geometric transforms: Translation, reflection, dilation, and rotation of objects. Loci and Envelops: Constructing loci of moving points and envelops of moving lines.

Major Algorithms eventLogic, statusObject selectionLogic macro objectManager iteration history: unlimited redo/undo json synCopy

System Files and Classes graph: coordinateSystem calculator window manager utility: BFS valueSrc: math expression animation menu/toolbar manager ruler/protractor

Current Status of GeometryEditor New classes of geometric objects can be added without significant modification of the above algorithms and classes No longer use XUL for menus/toolbar and dialogs. (still thanks to XUL that helped me focus on the authoring algorithms)

GeoSite GeometryEditor for editing geometric manipulatives A modifed version of FCKeditor for editing the html sections in a page –a well developed HTML composer –able to create math formula to relate html sections and manipulatives quantities, buttons, inputs Able to dynamically load manipulatives from another GeoSite

GeoSite Demos

Integrate GeometryEditor into your Application No difference between viewing and authoring any more To create an instance of GeometryEditor editor = GeometryEditor.newInstance( instanceName, divId ); editor.systemBasePath = "/geosvg/geosite/system/"; editor.width = 700;//optional editor.height = 520;//optional editor.menuset = { “Edit”: [“Undo”,”Redo”] }; //optional editor.toolbarset = []; //optional editor.dataValue = “… “; editor.dataURL = “ editor.create(); Data describing the manipulative has its own width/height/menuset/toolbarset values. They will be overwritten by the values you set

Integrate GeometryEditor into your Application (cont.) Only editor.dataValue or editor.dataURL should be set. If both are set, GeometryEditor will use dataURL To update the content in the editor: do the same thing as creating, and then call editor.update() APIs: –getDataValue() //width/height already in the data; no longer need to get them seperately

Integrate GeometryEditor into your Application (cont.) Callback Functions: –After create(): if defined, user function GeometryEditor_OnEditorLoadDone() will be call –After update() using dataURL: if defined, user function GeometryEditor_OnDataURLLoadDone() will be called Both callback functions will have the editorInstance passed in

Difference from the old GDrawing Library No difference between authoring/viewing GeometryEditor won’t open editing window for you –Write your own html file with the editor Example: the manipulative editing window in GeoSite –Write codes like window.open( … ) yourself –Use the API getDataValue in the child window and pass the data back to the opener yourself

Future Work – GeometryEditor Authoring Transform of objects Locus Save macros as separate files via AJAX

Future Work - GeoSite AJAX will be used to save a particular section or manipulative instead of refreshing the whole page Measurements in manipulatives an quantities/inputs/buttons in an html section act like input/output interface. I will have a more complete design of input/output interface for –GeometryEditor generated manipulatives –SVG/Flash/Applet-based manipulatives (atomic) –HTML-based manipulatives (composite) –HTML-based sections Web services to supply the above three components –GeometryEditor generated manipulative is done