GeoGebra Tips and Tricks
From GeoGebraWiki
This sheet is a place where we can archive great ideas so they don't get lost anymore!
As it grows we will probably want to organize somehow.
If you have an idea for how this organization should be, DO IT! (or at least leave a note with your suggestion!)
- How about this: tips to the beginner / tips for the intermediate user / tips for power-users
Contents |
Tips for the new user
How do I construct a rhombus?
A rhombus is a quadrilateral with all sides congruent.
The two constructions shown below will give you good experience with several of the tools and some of the techniques used to perform traditional Euclidean constructions.
METHOD 1
- Begin by drawing a circle (center A and point B).
- Create a point C on the circle.
- Draw a circle centered at B out to point A.
- Draw a circle centered at C out to point A.
- Create a point D at the intersection of these two circles.
- ABCD are the vertices of the rhombus.
- Finish by drawing the line segments and hide the circles.
METHOD 2
- Begin by drawing a circle (center A and point B).
- Create a point C on the circle.
- Draw line segments AB and AC.
- Construct a line through B parallel the AC.
- Construct a line through C parallel the AB.
- Create a point D at the intersection of these two lines.
- ABCD are the vertices of the rhombus.
- Finish by drawing the line segments and hide the lines.
What is a Check Box and how is it used?
A check box represents a boolean variable. The variable associated with a check box takes the value True when it is checked and False when it is unchecked.
The most common used of a check box is to allow objects to be hidden or revealed.
As and example try this:
- Create a check box and enter "hide line" in the caption; assume the name of the check box is c
- Create a line; assume its name is d
- Open the properties dialog of the line (right-click on the line)
- Click on the Advanced tab
- In the text box enter "c==True" (without the quotes)
- Close the properties dialog
- Clicking on the check box will hide or reveal the line!
Tips for the intermediate user
Getting control over labels
If you wish to gain more control over an object's label, try this:
- Create a point P on the object near where you wish to label to appear
- Create a text box and enter "k" (or whatever you wish the label to be)
- In the properties of the text box you just created:
- Click the Position tab and select P as the Starting point
- Change the size, color, etc. of the text if you wish
- Hide the original label and the point P
The text box will now appear as if it is the label of your object, and may be freely positioned, resized, etc.
Detection of undefined objects
In a nutshell, if an object x is undefined the boolean expression x==x has the value False, otherwise it is True.
As an example, try this:
- Create intersecting line segments AB and CD
- Create the point E of intersection of AB and CD
- Create a boolean variable t that is true if E exists
- Type into the Input box: t = (E==E)
Now when you move the points A, B, C or D so that the segments do not intersect you will see that t changes value.
Mutually exclusive check boxes
If you wish to present the user with 2 (or more) choices, but allow only one at a time (AKA radio buttons) try this:
- Create checkbox a
- Create checkbox b
- For box b, under properties/advanced enter a==false
- For box a, unde properties/advanced enter b==false
Now when you check one box the other one is hidden.
Plot a vector field
The Sequence command is an excellent tool to create a vectorfield plot. The plot consists of regularly spaced points and attached vectors.
Sequence[Sequence[Vector[(i, j), (i, j) + (-j, i) scale], i, xa, xb, xstep], j, ya, yb, ystep]
- xa, xb : the left and right margins of the plot
- ya, yb : the bottom and top margins of the plot
- xstep/ystep: the stepsize in the x/y direction
- scale : a factor to scale the plotted vectors
- the expression marked in italics is the vectorfield's expression. In this example the vectorfield plotted is
To attach a vectorfield vector to a free point, you can use the "x()" and "y()" function to query the coordinates of the point object.
For example:
Vector[A, A + (-y(A), x(A)) scale]
Tips for the power user
Deconstructing a custom tool
To discover the sequence of commands that were used to construct a custom tool:
- Start up Geogebra, load the file with the tool in question and save.
- Now open the files geogebra.xml and geogebra_macro.xml in a text editor.
- Search for the tool name in geogebra_macro.xml and copy everything between <construction> and </construction>
- Paste this into geogebra.xml between <construction> and </construction>.
- Restart geogebra and load your file; the construction protocol window will now contain the commands used to build the tool!
How do I display negative angles?
- Create a slider, leaving it on the Number option (rather than Angle).
- Set Min: -179.9, Max: 180, Width: 180 (or some multiple of 90).
- Create an [Angle with given size] a° (not α, keep the °).
- In the Angles Properties, Basic, remove tick from 'Allow reflex angle'.
- The label does not show negative values, so remove it.
- Also in Properties, Basic, remove tick from 'Show label'.
- Show the signed angle size in a Text box:
- [Insert text] containing: a + "°"
- This Text can be given a fixed position or it can be attached to the end of the moving arm of the angle.
- For example, if the angle is ABA' Right-click on the Text, Properties, Position, A'
How do I put arrowheads on the ends of a graph?
This technique is best learned by typing in an example:
- a=-3
- b=4
- f(x)=function[x²,a,b]
- u=UnitVector[Tangent[b,f]]
- v=-UnitVector[Tangent[a,f]]
- A=(a,f(a))
- B=(b,f(b))
- Translate[A, v]
- Translate[B, u]
- w=Vector[A, A']
- z=Vector[B, B']
- Hide objects A, A', B, B', u, v and labels w, z
Quick tricks
Mixing open and closed points
An open point can be made by setting its color to white; resize as desired.
Go to:
GeoGebra User's Guide - The complete guide to GeoGebra
Mode Descriptions - A catalog of the built-in tools
Command Descriptions - A catalog of the built-in commands
