Release Notes GeoGebra 4.2

From GeoGebra Manual
Jump to: navigation, search

This page gives an overview of the new features in GeoGebra 4.2 since version 4. Please see our fully revised GeoGebra Help document for more detailed descriptions of each new tool and command.

GeoGebra 4.2 can be run from (Webstart) or (Offline installers)

Compatibility with GeoGebra 3.2 and GeoGebra 4

Details about compatibility with old versions can be found here:

Running on XO OLPC / Sugar

CAS View


  • Algebra View: options to sort by Construction Order & by Layer
  • Settings -> Advanced -> Use Path and Region Parameters: "On" makes Points on objects keep their Path Parameter when the parent object is moved (the behaviour in GeoGebra 4), "Off" makes them stay as close as possible to their old position.
  • Double-click on a View's title bar to maximize it
  • Logical implication operator added (-> or→) eg a = false → true
  • Alt-drag on a parabola to rescale it (keeping the vertex fixed)
  • Alt-drag on a function eg sin(3x+4) to change its period
  • When dragging a parabola, the vertex now snaps to grid (if appropriate)
  • Buttons can be resized, be made bold & italic or include an image
  • Default polarity for mouse wheel zoom changed
  • Better (localizable) dynamic texts created by the Area / Length Tools (eg Area of c = 3.14) and the Length Tool now finds arc length for sectors & arcs
  • String comparison (eg "AA" < "AB" gives true)
  • Improved axis labeling when grid is showing
  • Ability to lock xAxis:yAxis ratio
  • Set defaults for Inequalities
  • All the FitXXX commands can be used on freehand functions
  • "Share..." button in the Manage Tools dialog to upload Tools (ie .ggt) to GeoGebra
  • Toolbar can now be at the left, right or bottom
  • PolyLines can have holes, eg PolyLine[(1, 1), (2, 0), (3, 3.4), (?, ?), (4, 0), (5, 6)]
  • Trace dynamic texts (with one variable) to the spreadsheet
  • "Select Another" submenu when the user right-clicks on eg 2 Points in the Graphics View
  • f(x) =xxx and y=ax+b work without spaces
  • bold and italic supported in axis names, eg <i>x</i> or <b>x</b>
  • Edit -> Insert Image from -> File / Clipboard
  • Help -> Report Bug
  • "Copy to Input Bar" removed (use F4 instead)
  • New "Pin" icon in Stylebar. All objects (except Checkboxes, Buttons & Input Boxes) can be pinned to either Graphics View 1 or Graphics View 2, also available by right-clicking an object
  • Altdragging a Point on a Path will now take account of the Increment (Object Properties -> Algebra -> Increment)
  • Complex numbers are named z_1, z_2, z_3 etc by default (instead of z, w, z_1, w_1, etc)
  • "Custom" option for font size (as a percent) in Object Properties
  • Input Boxes now show coordinates for Points on Paths / Regions
  • Input Boxes can be set to round to decimal places / significant figures
  • New option: axis arrows can now be filled, and also can be on both ends of the axes
  • Undo/Redo enabled in unsigned applets (with toolbar/menubar showing)
  • clicking on a slider will now just move it by one "increment"
  • Export to PDF: page size is now determined by the size of the Graphics View (ie it's not always A4)

Improved Tools

You can now just drag a shape to translate it

This now also accepts a single Polygon as input, and creates an independent copy of it which behaves as a Tool Vector Polygon.gif vector polygon

This now also accepts a single Polygon as input, and creates an independent copy of it which behaves as a Tool Rigid Polygon.gif rigid polygon Also when creating a Rigid Polygon from Points, it now uses Vector and PerpendicularVector rather than UnitVector and UnitPerpendicularVector which makes it a bit more flexible (For example you can add a slider to the definition of the second point to make it resizeable).

This now creates a PolyLine rather than an image. It is designed for writing so remains fixed when you pan/zoom. If you want to use it for geometric shapes etc then you can "unpin" it using the icon in the Style Bar. Right-drag uses the new eraser from the Delete Tool

This now allows intersection of Lines and Parametric Curves

Renamed to Segment with Fixed Length

As well as clicking to delete, you can now also drag an eraser (rectangle) to erase parts of Pen Strokes (and all other objects). The eraser can be resized in the Style Bar

Now works with objects other than points (eg Polygons)

New Tools

This Tool lets you either sketch a function, or you can draw a freehand circle, segment or polygon and it will be recognized and converted to an exact shape.

New Functions

  • psi(x)

The Digamma function

  • polygamma(m, x)

The Polygamma function is the (m+1)th derivative of the natural logarithm of the Gamma function, gamma(x) (m=0,1)

  • sinIntegral(x)

The Sine Integral function

  • cosIntegral(x)

The Cosine Integral function

  • expIntegral(x)

The Exponential Integral function

  • nroot(x, n)

Calculates the nth root of x

  • real(x)

Returns the real part of a complex number

  • imaginary(x)

Returns the imaginary part of a complex number

  • fractionalPart(x)

Returns the fractional part of x

  • zeta(x)

Returns the Riemann Zeta Function of x (real or complex).

Improved Commands

  • Numerator now works for functions of more than one variable
  • Denominator now works for functions of more than one variable
  • PartialFractions now factors the denominators
  • Identity is now dynamic ie Identity[n] updates if you change n

New Commands

  • SolveODE[ <f'(x, y)> ]
  • SolveODE[ <f'(x, y)>, <Point on f> ]
  • LocusEquation[ <Locus> ]
  • LocusEquation[ <Locus Point>, <Moving Point> ]
  • Frequency[ <List of Text>, <List of Text> ]
  • ContingencyTable[ <List of Text>, <List of Text> ]
  • ContingencyTable[ <List of Text>, <List of Text>, <Options> ]
  • ContingencyTable[ <List of Row Values>, <List of Column Values>, <Frequency Table> ]
  • ContingencyTable[ <List of Row Values>, <List of Column Values>, <Frequency Table> , <Options> ]
  • VerticalText[ <Text>, <Point> ]
  • StickGraph[ <List of x-coordinates>, <List of y-coordinates> ]
  • StickGraph[ <List of points> ]
  • StickGraph[ <List of x-coordinates >, <List of y-coordinates>, <Boolean Horizontal> ]
  • StickGraph[ <List of Points>, <Boolean Horizontal> ]
  • StepGraph[ <List of x-coordinates >, <List of y-coordinates> ]
  • StepGraph[ <List of Points> ]
  • StepGraph[ <List of x-coordinates>, <List of y-coordinates>, <Boolean Join> ]
  • StepGraph[ <List of points>, <Boolean Join> ]
  • StepGraph[ <List of x-coordinates >, <List of y-coordinates>, <Boolean Join>, <Point style> ]
  • StepGraph[ <List of Points>, <Boolean Join>, <Point style> ]
  • BoxPlot[ <yOffset>, <yScale>, <List of Raw Data>, <Boolean Outliers> ]
  • BoxPlot[ <yOffset>, <yScale>, <List of Data>, <List of Frequencies>, <Boolean Outliers> ]
  • Mean[ <List of Numbers>, <List of Frequencies> ]
  • Product[ <List of Numbers>, <List of Frequencies> ]
  • SD[ <List of Numbers>, <List of Frequencies> ]
  • SampleSD[ <List of Numbers>, <List of Frequencies> ]
  • Variance[ <List of Numbers>, <List of Frequencies> ]
  • SampleVariance[ <List of Numbers>, <List of Frequencies> ]
  • Sum[ <List of Numbers>, <List of Frequencies> ]
  • Q1[<List of Numbers>, <List of Frequencies> ]
  • Q3[<List of Numbers>, <List of Frequencies> ]
  • Median [<List of Numbers>, <List of Frequencies> ]
  • SigmaXX[ <List of Numbers>, <List of Frequencies> ]
  • ChiSquaredTest[ <Matrix> ]
  • ChiSquaredTest[ <List>, <List> ]
  • ChiSquaredTest[ <Matrix>, <Matrix> ]
  • ZProportionTest [ <Sample Proportion>, <Sample Size>, <Hypothesized Proportion>, <Tail> ]
  • ZProportion2Test [ <Sample Proportion 1 >, <Sample Size 1>, <Sample Proportion 2 >, <Sample Size 2>, <Tail> ]
  • ZProportionEstimate [ <Sample Proportion >, <Sample Size >, <Level>]
  • ZProportion2Estimate [ <Sample Proportion 1>, <Sample Size 1>, <Sample Proportion 2>, <Sample Size 2>, <Level>]
  • ZMean2Estimate [ <List of Sample Data 1>, <List of Sample Data 2>, < Sigma 1>, < Sigma 2>, <Level>]
  • ZMean2Estimate [ <Sample Mean 1>, <Sigma 1>, <Sample Size 1>, <Sample Mean 2>, <Sigma 2>, <Sample Size 2>, <Level> ]
  • ZMeanEstimate [ <List of Sample Data>, < Sigma >, <Level> ]
  • ZMeanEstimate [ <Sample Mean>, <Sigma>, <Sample Size>, <Level> ]
  • ZMeanTest [ <List of Sample Data>, <Sigma>, <Hypothesized Mean>, <Tail> ]
  • ZMeanTest [ <Sample Mean>, <Sigma>, <Sample Size>, <Hypothesized Mean>, <Tail> ]
  • ZMean2Test [ <List of Sample Data 1>, <Sigma 1>, <List of Sample Data 2>, <Sigma 2>, <Tail>]
  • ZMean2Test [ <Sample Mean 1>, <Sigma 1>, <Sample Size 1>, <Sample Mean 2>, <Sigma 2>, <Sample Size 2>, <Tail> ]
  • CountIf[ <Condition>, <Variable>, <List> ]
  • KeepIf[ <Condition>, <Variable>, <List> ]
  • ParametricDerivative[ <Curve> ]
  • Intersect[ <Line>, <Parametric Curve> ]
  • FractionText[ <Point> ]
  • SetSeed[ <Integer> ]
  • RandomBetween[ <Min>, <Max>, <Boolean Fixed> ]
  • AttachCopyToView[ <Object>, <View 0|1|2> ]
  • AttachCopyToView[ <Object>, <View 0|1|2>, <Point 1>, <Point 2>, <Screen Point 1>, <Screen Point 2> ]
  • ContinuedFraction [ <Number>, <Level (Optional)>, <Boolean Shorthand Notation (Optional)> ]
  • Invert[ <Function> ]
  • InverseLogNormal [ <Mean>, <Standard Deviation>, <Probability> ]
  • InverseLogistic [ <Mean>, <Scale>, <Probability> ]
  • ScientificText[ <Number> ]
  • ScientificText[ <Number>, <Precision> ]
  • Length[ <Arc> ]
  • SlopeField[ <f(x,y)> ]
  • SlopeField[ <f(x,y)>, <Number n> ]
  • SlopeField[ <f(x,y)>, <Number n>, <Length Multiplier a> ]
  • SlopeField[ <f(x,y)>, <Number n>, <Length Multiplier a>, <Min x>, <Min y>, <Max x>, <Max y> ]
  • SetTrace[ <Object>, <Boolean> ]
  • ShowAxes[ ]
  • ShowAxes[ <Boolean> ]
  • ShowAxes[ <View>, <Boolean> ]
  • ShowGrid [ ]
  • ShowGrid [ <Boolean> ]
  • ShowGrid [ <View>, <Boolean> ]
  • Flatten[ <List of Lists> ]
  • Cubic[ <Point>,<Point>,<Point>,<Number> ]
  • TriangleCenter[ <Point>,<Point>,<Point>,<Number> ]
  • TriangleCurve[ <Point>,<Point>,<Point>,<Equation in A,B,C> ]
  • Trilinear[ <Point>,<Point>,<Point>,<Number>, <Number>, <Number> ]
  • Barycenter[ <List of Points>,<List of Weights> ]
  • SurdText[ <Number> ]
  • SurdText[ <Number>, <List> ]
  • SurdText[ <Point> ]
  • Function[ <List of Numbers> ]
  • Sort[<Values>, <Keys> ]
  • Take[ <List>, <Start Position> ]
  • Take[ <Text>, <Start Position> ]
  • ToBase[< Number>, <Base>]
  • FromBase[< Number as Text>, <Base>]
  • GetTime[ <Format> ]
  • CenterView[ <Center Point> ]
  • Locus[ <Slopefield>, <Point> ]
  • Locus[ <f(x, y)>, <Point> ]
  • RigidPolygon[ <Polygon> ]
  • RigidPolygon[ <Polygon>, <Offset x>, <Offset y> ]
  • Vertex[ <Inequality> ]

These work in the CAS View and the Input Bar

New LaTeX Commands

  • \cr for a linebreak
  • \lightviolet
  • \lightyellow
  • \lightgreen
  • \lightorange
  • \yellow
  • \darkblue
  • \lightpurple
  • \lightblue
  • \maroon
  • \lightgray
  • \pink
  • \gold
  • \black
  • \orange
  • \indigo
  • \purple
  • \darkgray
  • \green
  • \silver
  • \white
  • \lime
  • \gray
  • \darkgreen
  • \magenta
  • \cyan
  • \red
  • \crimson
  • \turquoise
  • \blue
  • \violet
  • \brown
  • \aqua

New Keyboard & Mouse Shortcuts

  • Ctrl + Shift + E: Open / Close Object Properties View (Note: Ctrl + E to open still works)
  • Ctrl + Shift + K: Open / Close CAS View
  • Ctrl + Shift + B: Export as HTML5 to the Clipboard
  • In Text Tool, Alt + ,   Alt + to move in/out of formula boxes, Alt + Enter,   Alt + ,   Alt + to create a new formula box
  • Alt + R: √ (square-root)
  • Alt + -: Superscript minus (changed from GeoGebra 4)
  • Ctrl + ,   Ctrl + ,   Ctrl + ,   Ctrl + to rescale axes
  • Ctrl + : Opens the Symbols popup (Input Bar and Input Boxes etc)

Description of all Keyboard Shortcuts

New Applet Parameters

Description of all GeoGebra Applet Parameters

New Command Line Arguments

If you use command line arguments, make sure you allocate enough memory, eg:
java -Xms32m -Xmx1024m -jar geogebra.jar --export=bitmap.png --dpi=300 spiral.ggb

--export=<File> Exports the Graphics View to SVG/PNG/PDF/EMF/EPS as determined by the extension
--dpi=<Integer> (only used in conjunction with --export)
--laf=<system|crossplatform> Change the "Look and Feel" of the GUI

Description of all GeoGebra Command Line Arguments

New JavaScript commands

  • String evalGeoGebraCAS(String casCommand)
  • String evalGeoGebraCAS(String casCommand, boolean printDebugInfo)
  • void setPenColor(int red, int green, int blue); values 0 - 255
  • void setPenSize(int size); sets pen size size in pixels
  • int getPenSize(); return pen size in pixels
  • String getPenColor(); returns pen color as RGB hex string (eg #AB1234)
  • boolean evalCommand(String cmd, boolean waitForResult)
  • public void setListValue(String objName, int index, double x);
 Sets the double value of the specified index of the list. Can be used to extend the size of a list. Note that the index of the first element of the list is 1 not 0
  • public double getListValue(String objName, int index);
 Gets the double value of the specified index of the list. Returns NaN if the object is not a numerical or boolean object.

Description of all GeoGebra JavaScript Methods

GeoGebra's XML File Format

GeoGebra's XML file format is documented at Reference:XML


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

  • GeoGebra
  • Help
  • Partners
  • Contact us
    • Feedback & Questions
    • This email address is being protected from spambots. You need JavaScript enabled to view it.
    • +43 677 6137 2693
© 2017 International GeoGebra Institute