GeoGebra and Joystick Dr Đor đ e Herceg, Dr Dragoslav Herceg Faculty of Sciences University of Novi Sad Serbia 1.

Slides:



Advertisements
Similar presentations
Understanding an Apps Architecture ASFA Computer Science: Principles Fall 2013.
Advertisements

Teaching with Greenfoot
Haptic Glove Hardware Graduation Project Prepared by Yaman A. Salman Eman M. Masarweh 2012.
The Web Warrior Guide to Web Design Technologies
LINUX-WINDOWS INTERACTION. One software allowing interaction between Linux and Windows is WINE. Wine allows Linux users to load Windows programs while.
Financial Data Calculator© Produced by: Mathematical Investment Decisions, Inc. 95 West Gate Drive – 2 nd Floor Cherry Hill, NJ Web site:
Numerical integration with GeoGebra in high school Đ OR Đ E H ERCEG, D RAGOSLAV H ERCEG F ACULTY OF S CIENCES U NIVERSITY OF N OVI S AD, S ERBIA
A graphical user interface (GUI) is a pictorial interface to a program. A good GUI can make programs easier to use by providing them with a consistent.
Abstract There is an existing program that allows students to visualize geometric shapes that a hand-drawn illustration just can’t match. Professor Cervone.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Sketchify Tutorial Graphics and Animation in Sketchify sketchify.sf.net Željko Obrenović
Programming What is a program? –A set of instructions –Understood by a computer.
Using Entities & Creating Forms Jill R. Sommer Institute for Applied Linguistics Kent State University.
An ide for teaching and learning prolog
Android Application Development 2013 PClassic Chris Murphy 1.
Paul Trani Adobe Certified Instructor/Expert Resources:
Lets make life easier… Who wants to use a piece of paper to create perfect shapes these days. Kids love using technology.
TrendReader Standard 2 This generation of TrendReader Standard software utilizes the more familiar Windows format (“tree”) views of functions and file.
GAME DESIGN IN CONJUNCTION WITH UNION UNIVERSITY COMPUTER SCIENCE DEPARTMENT By Jacob Lynn and Hananiah Nyabam.
2012 National BDPA Technology Conference Creating Rich Data Visualizations using the Google API Yolanda M. Davis Senior Software Engineer AdvancED August.
Lab 8 – C# Programming Adding two numbers CSCI 6303 – Principles of I.T. Dr. Abraham Fall 2012.
McGraw-Hill© 2007 The McGraw-Hill Companies, Inc. All rights reserved. 1-1.
Tux Paint Reviewed by team iTeach Jodi Hovest, Scottie Fetters, & Melanie Stainbrook.
Copyright 2007, Information Builders. Slide 1 Maintain & JavaScript: Two Great Tools that Work Great Together Mark Derwin and Mark Rawls Information Builders.
Assistive Technology Russell Grayson EDUC 504 Summer 2006.
Intro. to Game Programming Want to program a game?
ABM Frameworks Dr Andy Evans With additions from Dr Nick Malleson.
Sikuli Ivailo Dinkov QA Engineer PhoneX Team Telerik QA Academy.
Numerics with Geogebra in High School dr Dragoslav Herceg dr Đorđe Herceg Faculty of Science and Mathematics Novi Sad, Serbia {hercegd |
Java Beans.
GEOGEBRA STD X SUB : ICT. Chapter 6 Geogebra Created By :- Mr.S.N.Attar ICT BOARD Member PRESENTED BY Kulkarni S.A.
I. Pribela, M. Ivanović Neum, Content Automated assessment Testovid system Test generator Module generators Conclusion.
1 Chapter No 3 ICT IN Science,Maths,Modeling, Simulation.
INTRODUCTION TO COMPUTER PROGRAMMING itc-314 LECTURE 01.
Model View Controller (MVC) Rick Mercer with a wide variety of others 1.
FINAL PRESENTATION SYDNEY TOUR. Divya Nalla Raja Kandasamy RajaShekar Donti Ren Zhu Sadah Omar Sulaiman
Introduction to Scratch!
C HU H AI C OLLEGE O F H IGHER E DUCATION D EPARTMENT O F C OMPUTER S CIENCE Preparation of Final Year Project Report Bachelor of Science in Computer Science.
Introduction Purpose This course describes the process of installing the KPIT GNU toolchain on your PC. Objective Learn how easy it is to get information.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
A Spring 2005 CS 426 Senior Project By Group 15 John Studebaker, Justin Gerthoffer, David Colborne CSE Dept., University of Nevada, Reno Advisors (CSE.
Introduction to Matlab & Data Analysis
‘Tirgul’ # 7 Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul #7.
Developing the Game User Interface (UI) Lesson 5.
Navigation and Ancillary Information Facility NIF Preview of a Web-based GUI Interface to SPICE “WebGeocalc” The NAIF and UCD Teams August 22, 2011 SPICE.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
COMP106 Assignment 2 Proposal 1. Interface Tasks My new interface design for the University library catalogue will incorporate all of the existing features,
C H A P T E R T E N Event-Driven Programming Programming Languages – Principles and Paradigms by Allen Tucker, Robert Noonan.
Introduction to Matlab’s Graphical User Interface (GUI) Type “guide” “Guide” creates interface on a Figure window and code in an M-file. Some hidden code.
GeoGebra: Free Dynamic Software for Geometry and Beyond Shelley W. Question to ponder:
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
Copyright © 2010 – MICS 2010, Curt Hill Instructor Tools: Test Data Generation Curt Hill Valley City State University.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Haptic & Direct User Input with DirectInput ® 8 API Graphics Lab. Korea Univ.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
C HU H AI C OLLEGE O F H IGHER E DUCATION D EPARTMENT O F C OMPUTER S CIENCE Preparation of Final Year Project Report Bachelor of Science in Computer Science.
Postgraduate Computing Lectures PAW 1 PAW: Physicist Analysis Workstation What is PAW? –A tool to display and manipulate data. Learning PAW –See ref. in.
TODAY Android Studio Installation Getting started Creating your 1 st App Beginning to understanding Intents.
Unity Application Generator How Can I… Develop a Generic device which can communicate Over IO Scanner.
Using JSTOR November What is JSTOR?JSTOR 2.JSTOR demonstration −Searching JSTOR −Format of the journal content −Using a MyJSTOR account to organize.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
Simple Machine Systems: Lever, Pulleys, and Incline Plane By Natthapol Pongthaipat Artprecha Rugsachart Thanakorn Sithanukul Debdhanit Yupho.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Tulane University School of Public Health and Tropical Medicine
System Software EIT, © Author Gay Robertson, 2016.
Chapter Topics 15.1 Graphical User Interfaces
COP3530- Data Structures JSFiddle
Simulink Support for VEX Cortex BEST Robotics Sandeep Hiremath
This is where R scripts will load
Presentation transcript:

GeoGebra and Joystick Dr Đor đ e Herceg, Dr Dragoslav Herceg Faculty of Sciences University of Novi Sad Serbia 1

GeoGebra in Novi Sad Faculty of Sciences, University of Novi Sad Besides regular work, members of our faculty also teach in elementary and high schools Many of our graduates work as matematics teachers in schools We organize courses and meet our colleagues from schools We use and recommend GeoGebra! 2

GeoGebra institute of Novi Sad GeoGebra Institue of Novi Sad, Serbia 3

How we use GeoGebra GeoGebra is great for preparing teaching and self-study materials. It is free, easy to download and install and it speaks our language. We have developed tools for numerical mathematics Also accompanying materials for textbooks We often find it easier to “sketch” an explanation in GeoGebra, than on paper! 4

What we would like to do Learning through play We want to motivate children to learn while playing mathematical games (more on that later) We also want to provide a more direct way of manipulating geometrical drawings Especially important with younger children that cannot grasp abstract notions 5

The problem we address Once prepared, interactive drawings need user input, which is provided by typing commands, moving sliders and clicking checkboxes. 6

One parameter at a time We can only control one parameter at a time with the mouse Sliders and checkboxes on the screen are just imitations of the “real thing” Precise “aiming” at sliders and checkboxes can be problematic, particularly during talks and demonstrations 7

What we have is: 8 MOUSE

What we want is: 9

Joysticks and Gamepads They can have up to 6 axes Many buttons (typically 6-12) POV hats All of these can be used simultaneously! Gamepad 10

Why use game controllers? Benefits: ◦ Control many parameters simultaneously ◦ Inexpensive ◦ Ubiquitous ◦ Intuitive – “I push here and that thing moves” ◦ Designed to be used without looking (tactile feedback) ◦ Interesting for the kids 11

Drawbacks? Not very precise Not everybody has one Support for game controllers on various platforms and operating systems is not standardized There exist several SDKs for game controllers: ◦ DirectX (Windows, unmanaged code) ◦ SlimDX (Windows+.NET) ◦ JXInput (Java+JNI) ◦... 12

GameControllerInput (GCI) Developed in C# on.NET Uses the SlimDX library to access DirectInput/DirectX compatible game controllers Hosts GeoGebra applets inside a WebBrowser component Extendable – easy to add new mappers 13

GeoGebra applet methods In version 3.2, GeoGebra JavaScript interface provides many useful methods which provide full control over the drawings. Our program acts as a “shell” around the GeoGebra applet, which interprets input given by a game controller and maps it to parameters and object properties in a drawing. 14

Axis mapping Raw data obtained from a joystick axis is in range [0,65535] It can be mapped linearly to any given interval [a, b] However, game controllers are not precision devices. “Dead zone” must be set appropriately. Should the joystick axis map directly to a variable, or should it control the amount of change? 15

Mapping curve for axes 16

Button mapping Each button can be mapped to a command, such as: ◦ Set a value of a variable ◦ Change a value of a variable (+/-) ◦ Control visibility of objects ◦ Control trace of objects ◦ Refresh display ◦ Generate random numbers ◦ etc... 17

How it works Game controller AxisMapper ButtonMapper JavaScriptGeoGebra Input from a game controller is passed to various mappers Mappers call JavaScript methods JavaScript methods call methods of an embedded GeoGebra applet 18

Configuration Upon application start, the user assigns various mappers to game controller’s axes and buttons. A configuration is a set of all mappings for a game controller. Configurations can be saved and loaded from files. 19

Screenshots 1/2 20

Screenshots 2/2 21

DEMO 22

Conclusions Children like to experiment, especially with something they can touch Thanks to a growing list of GeoGebra applet methods, it is now possible to have almost complete control of GeoGebra from the outside When interpreted appropriately, input from gamepads and joysticks can be used to control drawings in GeoGebra So we can provide a more intuitive and less artificial way of interaction with drawings 23

Thank you! 24