-
GeoGebra Builders Handbook
-
1. Introduction & Contact info
- Using this book
- Welcome to the GeoGebra Builders Handbook
- Contact Information for GeoGebra Builders' Handbook
- Initial Help Resources
-
2. Adding material to this GeoGebra Book
- Using the templates to add new materials
- Template page for GeoGebra Builders Handbook
- Template page without comments: Moving one point with another
- Template GGB-file for constructions
- To Do!
-
3. Teleportation through Multiple Windows
- Why not to use multiple windows in your applets
-
4. Arming up with Action Tools
- Action Tools Overview
-
5. Slytherine Sliders
-
6. Truth, Boolean Variables and Check boxes
-
7. Tell Me Your Secrets - Input Boxes
-
8. Scripting - Your Magic Sidekicks
-
9. Time Travel
-
10. Casting the Spell
-
11. Spreadsheet Wizardry
-
12. Creating Your Own Tools Of The Trade
-
13. If only...
-
14. Do it! {Lists, Sequences, Lists Commands}
-
15. The Magic Tome of JavaScript
-
16. Issuing uniforms - Creating Templates and Default Settings
-
17. Seige Lore - Locking Things Down
-
18. Magic Tomes - GeoGebra Books and Managing Multiple Authors
-
19. Good call, my young padawan - Managing and Testing students
-
20. Dissecting the beast - XML and CSS hacks
-
21. Magic command words - Command line arguments
-
22. Magic Items - Examples
- Guess my random function
-
23. Flee you fools! Getting further help and assistance
- Helpful Links
GeoGebra Builders Handbook
Jonas Hall GeoGebra ambassador 2024/25, Jennifer Silverman, Jul 22, 2017
This is in essence an advanced GeoGebra manual, focusing on building high quality GG applets, suitable for bigger projects like textbook production etc. The aim is to show a large sampling of useful, tips, tricks and techniques that you can learn in order to level up your GeoGebra skills. It is produced by the Swedish GeoGebra Institute and we welcome contributions. If you wish to contribute to this book, then please send me an email at jonas.hall@norrtalje.se and I will make you a member of the editorial group.
Table of Contents
- Introduction & Contact info
- Using this book
- Welcome to the GeoGebra Builders Handbook
- Contact Information for GeoGebra Builders' Handbook
- Initial Help Resources
- Adding material to this GeoGebra Book
- Using the templates to add new materials
- Template page for GeoGebra Builders Handbook
- Template page without comments: Moving one point with another
- Template GGB-file for constructions
- To Do!
- Teleportation through Multiple Windows
- Why not to use multiple windows in your applets
- Arming up with Action Tools
- Action Tools Overview
- Slytherine Sliders
- Truth, Boolean Variables and Check boxes
- Tell Me Your Secrets - Input Boxes
- Scripting - Your Magic Sidekicks
- Time Travel
- Casting the Spell
- Spreadsheet Wizardry
- Creating Your Own Tools Of The Trade
- If only...
- Do it! {Lists, Sequences, Lists Commands}
- The Magic Tome of JavaScript
- Issuing uniforms - Creating Templates and Default Settings
- Seige Lore - Locking Things Down
- Magic Tomes - GeoGebra Books and Managing Multiple Authors
- Good call, my young padawan - Managing and Testing students
- Dissecting the beast - XML and CSS hacks
- Magic command words - Command line arguments
- Magic Items - Examples
- Guess my random function
- Flee you fools! Getting further help and assistance
- Helpful Links
Introduction & Contact info
Welcome to the GeoGebra Builder's Handbook. In this chapter you can find contact information to those involved in this project as well as a short introduction to the book.
-
1. Using this book
-
2. Welcome to the GeoGebra Builders Handbook
-
3. Contact Information for GeoGebra Builders' Handbook
-
4. Initial Help Resources
Adding material to this GeoGebra Book
You are important! You have ideas of your own and we would all like to see them. So how can you include them in this book? Copy the template page and explain your idea in roughly the same way as in the template. Then add your page at the appropriate location and add "themadmathematician" as en editor. You may also consider mailing me so I can make a copy of your page and include it. Together we can make this into a "GeoGebra Manual 2.0".
-
1. Using the templates to add new materials
-
2. Template page for GeoGebra Builders Handbook
-
3. Template page without comments: Moving one point with another
-
4. Template GGB-file for constructions
-
5. To Do!
Teleportation through Multiple Windows
In this chapter we will describe the possibilities - and problems - that arise when using multiple windows. Although this allows for instance a geometrical 3D-model to be viewed simultaneously with several cross sections of it, slider controls, an analysis window with graphs, a spreadsheet with numeric values, a CAS-window with analytical solutions etc, this may not be the best practice when building apps of 700 px width.
-
1. Why not to use multiple windows in your applets
Arming up with Action Tools
What are the Action Tools? Sliders, Command buttons, Check boxes and Input fields. This chapter will give a really quick introduction to these (and possibly other) [i]Really Useful Tools[/i] for those not already acquainted with them. Each of these tools will then be presented more thoroughly in a chapter of its own.
-
1. Action Tools Overview
Slytherine Sliders
So sliders control numbers, but numbers can control everything else so it is really possible to create sliders that control [i]everything[/i]. If you are a skilled user you will know how to use the Shift, Ctrl and Alt buttons together with the arrow keys to adjust the sensitivity of sliders, but how do you do the same in an app aimed for the occasional user? How do you construct a logarithmic slider? A slider that just takes certain values? And how can one single slider really control several different parts of a construction? In this chapter you will learn how sliders one day will rule the world.
This chapter does not contain any resources yet.
Truth, Boolean Variables and Check boxes
To be or not to be checked. That is the question! In a quite Shakespearean manner check boxes and the Boolean variables they represent summarize the very essence of choice. What to show and what not to show. Decisions, decisions... But did you know that check boxes can be turned into radio buttons with a bit of simple scripting? Or that one checkbox may control other check boxes? Or that there is an operator for "belongs to"? One check box to find them all and in the darkness bind them, if you wish. Preciousss check boxes indeed!
This chapter does not contain any resources yet.
Scripting - Your Magic Sidekicks
Scripting, which you may think of as programming without calling in libraries, classes, pointers etc, is a powerful way of extending GeoGebra's built-in commands and abilities indefinitely. In its simplest form, it is a button that changes the value of a slider by one when you click the button. In its simplest form, it is a single command and a button as a short cut to it. But then you can embark on a journey of magic: Perhaps you want a reset button that resets some values and parameters but not all? Write a script! Perhaps you want to initialize or recalculate some random numbers? Write a script! Make a point change color when you click it? Move both point A and B when you drag A, but only move B when you drag B? Enhance the user interface in you app? Write a script!
This chapter does not contain any resources yet.
Time Travel
Tic, Toc. Tic, Toc. How to make your your work a clock? How to change the speed of time? How can space with time make rhymes? The answer, of course, lies in the animation controls. A number can be animated since a number and a slider really are the same thing. Animating a number so that it oscillates between 0 and 1 makes for a simple clock you you may also create "count down clocks" and timers that can be really useful in game-like constructions.
This chapter does not contain any resources yet.
Casting the Spell
GeoGebra is all about dynamic and interactive images, right? But every now and then a textual explanation, or comment can clarify and focus the user's experience. But how do we create magic texts and captions that change with the constructions? And how do we avoid texts saying y = +3x + -2? How do we alight texts accurately and color part of a text, such as a key word?
This chapter does not contain any resources yet.
Spreadsheet Wizardry
Showing the numeric side of things, recording data for analysis or creating many similar objects at once, the possibilities of the GeoGebra spreadsheet are nearly limitless. With the spreadsheet data safely hidden you may create tables to display in your apps where cells may be colored individually. You may also export the construction protocol to a spreadsheet.
This chapter does not contain any resources yet.
Creating Your Own Tools Of The Trade
Creating new tools (and commands) by simply repeating what you have already done is really powerful for these small but unnecessarily repetitive and boring tasks. Say you want to the user to investigate the Pythagorean theorem. You could create a triangle, then laboriously create the three squares. But then you can create a new tool that creates not only the triangle but also the squares simply by selecting or creating three points. This tool could be made available to the user who then as the opportunity to enter in the investigation with a focus on the math, rather than the construction. These tools can be stored in separate files and read when necessary.
This chapter does not contain any resources yet.
If only...
If only... What if...? What if not? Closely related to Boolean variables and check boxes, the If[...] command allows you the possibility of choice. But position is important. If[...] in the input field gives you piece-wise defined functions. If[...] in the conditional visibility property or the dynamic color property of an object makes for complex control of the appearance of an object. IF[...] in the position field of a text label can place it more accurately depending on other results. If[...] in the Min and Max fields of a slider or in an incrementing script of a button can create limiting behaviour to keep the user from going out of bounds.
This chapter does not contain any resources yet.
Do it! {Lists, Sequences, Lists Commands}
Handling many objects as one clearly increases your work potential. The Sequence command can automatically create lists of objects and lists can help you keep track of data, organize and save useful functions for the user to try, keep small databases of positive exclamations such as "Wow", "Really good", "You nailed it" etc. With lists, and the many objects that they handle, come also the tools of the lists: appending a value at the end of a list, joining two lists, using two lists to create one list from a rule, creating a list of numbers, removing invalid objects in a list etc. And of course, lists may contain other lists.
This chapter does not contain any resources yet.
The Magic Tome of JavaScript
OK - I get it. GeoGebra doesn't really count as a programming language since it doesn't really support conditional statements and loops. Agreed, there is the If[...] command, but it returns a single result rather than execute a sequence of commands. Also, the Sequence command may be used for tasks that simple loops could be used for but again, it doesn't scale up properly. Enter JavaScript. With a full fledged programming language at your command and a sequence of commands to interact with the GeoGebra objects you can now easily do just about anything you can think up. Typically you may want to read the state of some GeoGebra object in to your program, then do the magic you wan't to do, using loops and conditionals as much as you like, and then update the GeoGebra objects as a result of this calculation. The ggbApplet.evalCommand(“…”), ggbApplet.setValue("...") and similar Javascript commands will take care of the communication between your program and the GeoGebra objects. But it doesn't stop there. Remember that every single object in GeoGebra may be programmed so that many different scripts can be active in the same construction. You may even construct special listener functions that will report when the user has constructed what you want them to construct, enabling you to congratulate them on the effort.
This chapter does not contain any resources yet.
Issuing uniforms - Creating Templates and Default Settings
So you've decided to create a batch of materials for a single purpose, e.g. companion material for a specific (part of a) curriculum. You want all the materials to have the same "look and feel". How do you do it? Obviously you start by creating a template, but what should go into that template? Some suggestions are size, font size, number of decimals, specific colors to be used, sizes of points, default appearance of points, lines functions etc... It can take a while to create this template but it is really worth it if you do it so well you don't have to re-do it later.
This chapter does not contain any resources yet.
Seige Lore - Locking Things Down
So you made this wonderful app only to find that your students aren't doing what they're supposed to do. Instead, the're busy trying to wreck your app, trying to make your construction look weird, or entering values so high it bogs down or crashes. Slowly you realize your app is infested with [i]users[/i]. This chapter will show you how to set limits to input fields and value-changing buttons. How to make object impossible to select and how in general to lock things down so that users only can interact in the way you want them to.
This chapter does not contain any resources yet.
Magic Tomes - GeoGebra Books and Managing Multiple Authors
Your constructions - if not intended for a publishers or governments website - will probably be presented best in a GeoGebra book. There they can have additional text, images, videos to support them. There is indeed nothing that stops you from creating your very own math textbook, complete with GeoGebra constructions and screencasts. But if you are several authors you may need to work out the best way of setting editing rights to this book and the materials within for maximum ease of use.
This chapter does not contain any resources yet.
Good call, my young padawan - Managing and Testing students
This chapter is a primer on the use of groups for classroom use and how to create worksheets with automatically corrected questions and also useful tips on how to actually set, mark and give feedback to student's work.
This chapter does not contain any resources yet.
Dissecting the beast - XML and CSS hacks
A ggb-file is really a zip shell around the xml-code that describes the construction and defines the objects and any snippets of code and images that are included in the file. In principle therefore, you may go into this xml-code and change it... If nothing else, you may be able to retrieve part of your construction if you find that it crashes, but other, more interesting, things may also be done.
This chapter does not contain any resources yet.
Magic command words - Command line arguments
Moving outside the GeoGebra environment, back in time to the creation of the instance of the program, typically you click an icon to start your creative process. But this is not the only way to start GeoGebra. From a command prompt, you may start it using a range of command line arguments that may just be interesting for you if you mean to implement GeoGebra on a network or set some very general behavior, like you own preferred starting view.
This chapter does not contain any resources yet.
Flee you fools! Getting further help and assistance
Well, if you made it to this GeoGebra book, then in all likelihood, you don't really need any more help, being an expert yourself. Still, here you will find some pointers to other interesting work and resources that may be useful to you.
-
1. Helpful Links