Release Notes GeoGebra 3.0

From GeoGebra Manual
Jump to: navigation, search

RELEASE NOTES for GeoGebra March 22, 2008

You can get the latest version of GeoGebra as Java WebStart or download packages for several platforms at

Bug Fix Updates

GeoGebra - April 24, 2008

 * Pdf export of constructions with images works now
 * Printing of cconstruction protocol fixed

GeoGebra - April 25, 2008

 * Calculation error in cbrt(x) fixed 

New in User Interface

  • User Defined Tools
 - You can now create your own tools based on an existing construction.
   Choose "Create new tool" in the "Tools" menu, specify the output
   and input objects of your tool and choose a name for the toolbar
   and a command name.    
 - Your tool can be used both with the mouse and as a command in 
   the input field. All tools are automatically saved in your 
   "ggb" construction file.
 - You can use any image for the toolbar icon. GeoGebra resizes your
   image automatically to 32x32 pixels.
 - Use the "Manage tools" dialog (menu "Tools") to change the names or
   the icon of your tools. You can also delete or save selected tools there.
 - You can save selected tools in a GeoGebra Tools File ("ggt"). 
   This file can be opened at any time by using "File", "Open" to load its
   tools in another construction. 
   Note that opening a "ggt" file does not change your current construction, 
   but opening a "ggb" file does.  
  • Customizeable Toolbar
 You can now customize the tools in GeoGebra's toolbar (menu "Tools"). This is
 especially useful for creating dynamic worksheets that include a restricted
 toolbar. The toolbar setting is saved with your construction in a .ggb file.
  • Persistence / Saveable Settings
 GeoGebra now remembers your favorite settings (menu "Options", "Save settings"),
 your last four ggb files and working directory.
  • Selection Rectangle
 Choose "move" mode, then press and hold the left mouse key to pull up a rectangle 
 that lets you select multiple objects. You may then move multiple objects by
 dragging one of the selected. The selection rectangle can also be used to 
 specify a part of the graphics window for printing, exporting pictures
 and for dynamic worksheets (see "File" menu).
  • New Properties Dialog
 - The objects in the properties dialog ("Edit" menu) are now organized 
   by types (points, lines, etc.) which makes it much easier to handle large
   numbers of objects. 
 - On the right side, the different elements are now organized in tabs.
 - Name and definition of objects can be changed directly in text fields.
 - Selection rectangle can be used to select several objects from the
   graphics window
  • Axes scaling by dragging
 Choose "move drawing pad" mode and drag one of the axes to change its scale.
 You can also do this from any other mode by pressing Shift and then drag an axis.
 Note: Shift + Drag also lets you move the drawing pad.
  • Axes properties (right click on drawing pad)
 - hide/show coordinate axes individually
 - hide/show minor or all ticks
 - bold axes styles
  • New coordinate style for points and vectors "A: (x, y)"
 In the "Options" menu you will now find three coordinate styles:
 A = (x, y), A(x|y) and the new A: (x, y)
  • Labelling of new objects
 In the "Options" menu you can now specify whether the label of a newly created
 object should be shown or not. Note: The setting "Automatic" shows labels 
 when the algebra window is open while you create new objects.
  • Fast renaming
 After creating a new object or selecting an existing one, start typing to 
 rename this object.
  • Fast dragging
 You can now move objects in any mode by dragging with the right mouse button
  • Press "Esc" key to close an open dialog or to get back to "Move" mode
  • Enhanced MacOS X Support
 - Menu bar is on top of screen
 - Keyboard shortcuts use Command/Apple key on Mac and Control key on other platforms 
 - Double click on ggb file opens it in GeoGebra

New in Toolbar

  • New Tool: "Regular polygon"
   specify two points on the polygon and the total number of vertices
  • New Tool: "Area"
   of polygon, circle, ellipse
  • New Tool: "Slope"
   of line 
  • New Tool: "Checkbox to show and hide objects"
   lets you create a checkbox (boolean value) to show and hide other objects
   Note: this is done using the advanced option "Condition to show object"
         (see properties dialog)
  • Extended Tool: "Distance and length" now shows dynamic texts for
  - distance of two points, length of segment
  - distance between point and line
  - circumference of circle and circular sector
  - perimeter of polygon

New Features

  • Point on Polygon
 You can now create a point on the outline of a polygon by selecting 
 the "New point" tool and clicking on a polygon.
  • Point on Locus Line
 You can now put a point on a locus line using the "New point" tool.
  • Parametric curves
   Curve[ expression, expression, variable, from, to ]
 e.g. c = Curve[ 2 cos(t), 2 sin(t), t, 0, 2pi ]
 The from and to parameters are dynamic, i.e. you can use slider variables there.
 Curves can be used like functions in arithmetic expressions, e.g. c(3) returns a
 point that depends on the curve. You can also place a point on a curve.
 New commands:
   Derivative[ <Curve> ]
  • Transformations for groups of objects
 All transformation tools (mirror, rotate, translate, dilate) now
 support the selection of groups of objects. 
 Example: to mirror several objects at a point, choose the respective tool
 from the toolbar. Then select a group of objects using the selection 
 rectangle (drag mouse). Finally, click on the point where these objects
 should be reflected. 
  • Lists of objects
 e.g. L = { A, B, C }
  • Sequence command to generate lists of objects:
   Sequence[ expression, variable, from, to ]
   Sequence[ expression, variable, from, to, step ]
 e.g. L = Sequence[ (2, i), i, 1, 5 ]
 The from and to parameters are dynamic, i.e. you can use slider variables there.
  • Interpolation polynomial
 Polynomial[A, B, C] or Polynomial[{A, B, C}] creates a polynomial of degree n-1
 through n given points 
  • Continuity of intersection points:
 You can now turn on/off the continuity heuristic in the options menu. GeoGebra uses a 
 near-to-heuristic to keep moving intersection points (line-conic, conic-conic) close to 
 their old positions and avoid jumping intersection points. However, in some situations 
 this heuristic leads to unwanted results, so you can now turn it on or off in the 
 options menu. By default this heuristic is now turned off.
 Note: for user defined tools continuity is always turned off.
  • New built in operations / functions
  - Euler constant introduced: the exponential function can now 

be written both as e^x or exp(x)

  - New logarithm functions:
      ln(x) or log(x) for natural logarithm (of e)
      ld(x) for logarithm of 2

lg(x) for logarithm of 10

  - unary plus like in +4 * -2 is valid now
  - random() for a random number between 0 and 1
      select in algebra window and use arrow keys to get a new value
  - cbrt(x) for cubic root function (supports derivative and integral too)
  • Boolean values ("true" and "false") and operations ("and", "or", "not",
  <, <=, >=, >, "equal", "unequal", "parallel" and "perpendicular", 
 (see list next to input field).
  • Condition to show object
 In the properties dialog you can now specify a condition for the visibility
 of an object  in the graphics window (see "advanced" tab).
  • Conditional functions, e.g. f(x) = If[ x < 3, sin(x), x^2 ]
 You can use derivatives and integrals of such functions and intersect them.
  • Decorations for segments and angles
 In the properties dialog you can choose ticks and arcs 
 to decorate segments and angles
  • Size of drawingpad is saved in ggb files now
  • Export of dynamic worksheets
  - new dialog with "advanced" tab to set applet parameters
  - option in "advanced" tab to export dynamic worksheet files 
    without jar files. Such worksheets use the highly packed 
    jar files on GeoGebra's web server and archive
  • Export drawing pad as picture: new formats ...
  - Portable Document Format (PDF)
  - Scaleable Vector Graphics (SVG)
  - Enhanced Metafile Format (EMF)
  - PSTricks (for LaTeX), contribution by Loïc Le Coq

New Commands

AffineRatio[ <Point A>, <Point B>, <Point C> ]

 returns the affine ratio lambda of three collinear points, 
 where C = A + lambda * AB

Area[ <Conic> ]

 returns the area of a circle or ellipse

Circumference[ conic ]

 returns the circumference of a circle

CrossRatio[ <Point A>, <Point B>, <Point C>, <Point D> ]

 returns the cross ration lambda of four collinear points,
 where lambda = AffineRatio[B, C, D] / AffineRatio[A, C, D]

Curvature[ <Point A>, <Function f> ]

 returns the curvature of f in point A

Curvature[ <Point A>, <Curve c> ]

 returns the curvature of c in point A

CurvatureVector[ <Point A>, <Function f> ]

  returns the curvature vector of f in point A

CurvatureVector[ <Point A>, <Curve c> ]

  returns the curvature vector of c in point A

Curve[ expression, expression, variable, from, to ]

 creates a parametric curve, e.g. Curve[ 2 cos(t), 2 sin(t), t, 0, 2pi ]

Div[ <Number a>, <Number b> ]

 returns the integer quotient of a and b

Element[ <List l>, <Number n> ]

 returns the n-th element of list l

Iteration[ f(x), x0, n ]

 returns f applied n-times to x0

IterationList[ f(x), x0, n ]

 returns a list of the results of applying f to x0 0 through n times

Length[ <Function>, <Number x1>, <Number x2> ]

 returns the length of the function graph between two x1 and x2

Length[ <Function>, <Point>, <Point> ]

 returns the length of the function graph between two points on the graph

Length[ <Curve>, <number t1>, <number t2> ]

 returns the length of the curve between two t1 and t2

Length[ <Curve>, <Point>, <Point> ]

 returns the length of the curve between two points on the curve

Length[ <List l> ]

 returns the number of elements of list l

Max[ <Number a>, <Number b> ]

 returns the maximum of a and b

Max[ <List l> ]

 returns the largest number in list l

Min[ <Number a>, <Number b> ]

 returns the minimum of a and b

Min[ <List l> ]

 returns the smallest number in list l

Mod[ <Number a>, <Number b> ]

 returns gives the remainder on division of a by b


  returns text showing the name of the given object

OsculatingCircle[ <Point A>, <Function f> ]

 returns the osculating circle of f in point A

OsculatingCircle[ <Point A>, <Curve c> ]

 returns the osculating circle of c in point A

Perimeter[ polygon ]

 returns the perimeter of a polygon

Polygon[ <Point A>, <Point B>, <Number n> ]

 creates a regular polygon with n points where A and B are the
 first two vertices

Sequence[ expression, variable, from, to ] Sequence[ expression, variable, from, to, step ]

 creates a list of objects, e.g. Sequence[ (2, i), i, 1, 5 ]

Tangent[ <Point A>, <Curve c> ]

 returns the tangent to curve c in point A

JavaScript and Applets

  • new reset icon ("refresh" instead of "GeoGebra ellipse")
  • GeoGebraApplet to JavaScript communication: listeners for add, remove, rename, update
  • a lot of new methods to access the GeoGebraApplet from JavaScript
  • applet parameter "rightClickEnabled" to disable context menus and properties dialog
  • applet parameter "borderColor" to set color of border line around applet panel

New Languages

Arabic, Bulgarian, Simplified Chinese, Finish, Greek, Hebrew, Japanese, Macedonian, Polish, Portuguese of Portugal, Persian, Russian, Swedish Turkish, Vietnamese. Thanks to our great translators, GeoGebra now comes in 39 languages!


The "GeoGebra Help" document has been revised, comes in a new design and is easily searchable (see "Help" menu in GeoGebra).

New License

You are free to copy, distribute and transmit GeoGebra for non-commercial purposes. Please see the GeoGebra license for details.


  • entering functions using "y=" is now possible, e.g. "y = sin(x)" is now
 understood like "sin(x)"
  • f(x) = x^(a/b) is now plotted for negative x too if a is an integer and b an odd number
  • mirroring of a point at a line using line/circle intersections is now possible
  • specify name of slider on creation in slider dialog
  • objects that are undefined when created are now shown in algebra window
 (except intersection points)
  • new plotting algorithm for functions and curves
  • smoother plotting of functions, locus lines and hyperbolas
  • click on input button toggles between input field mode and move mode
  • selected toolbar button shows blue border to emphasize currently selected tool
  • default label of polygons changed from "P" to "poly"
  • intersection of functions, function-line
   - automatic adaption of start value when startpoint has no name
     (i.e. when you clicked on the intersection to get it)
  • root finding of non-polynomial functions
   - false position replaced by Brent's method in Root[f, a, b]
   - added automatic valid domain search for Newton's and Brent's method
  • transformation commands now always create dependent objects and don't change free input

Bugs fixed

  • fixed images are saved correctly now
  • centroid command now computes centroid of area, not of vertices
  • location of single intersection points after reopening file fixed
  • location of tangents to circle after reopening file fixed
  • made intersection of conic sections numerically stabler
  • made intersection of lines numerically stabler
  • corner command of images
  • text keeps formating when edited now
  • Esc-key in input field clears text again
  • test point-on-parabola in vertex position fixed
  • line through point at infinity works again
  • slider with show label "name" is saved correctly now
  • intersect line-conic: first-intersection initing problem fixed
  • Function[ <constant number variable>, from, to ] works now
  • Mode "Input Field": input field gets focus again after selecting object in algebra window
  • Breakpoints in construction protocol
  • and many more ;-)
© 2021 International GeoGebra Institute