Difference between revisions of "Release Notes GeoGebra 4.0"

From GeoGebra Manual
Jump to: navigation, search
(--versionCheckAllow)
m (fix link)
 
(7 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
=Compatibility with GeoGebra 3.2=
 
=Compatibility with GeoGebra 3.2=
 
Details about compatibility with GeoGebra 3.2 can be found here:
 
Details about compatibility with GeoGebra 3.2 can be found here:
http://wiki.geogebra.org/en/Manual:Compatibility
+
http://wiki.geogebra.org/en/Compatibility
  
 
=GeoGebraPrim=
 
=GeoGebraPrim=
Line 73: Line 73:
  
 
* [http://wiki.geogebra.org/en/Intervals Intervals]
 
* [http://wiki.geogebra.org/en/Intervals Intervals]
   eg 10 x < 20
+
   eg 10 = x < 20
 
   You can use the commands MidPoint, Max, Min on these.
 
   You can use the commands MidPoint, Max, Min on these.
  
Line 88: Line 88:
 
* Proper display of formulas and matrices in the spreadsheet
 
* Proper display of formulas and matrices in the spreadsheet
 
* When an expression like '''ab + 1''' is entered, if the variable ab is undefined then it is automatically created as '''ab = a * b''' if a and b are Numbers, or '''ab = Distance[a,b]''' if a and b are Points.
 
* When an expression like '''ab + 1''' is entered, if the variable ab is undefined then it is automatically created as '''ab = a * b''' if a and b are Numbers, or '''ab = Distance[a,b]''' if a and b are Points.
* FormulaText[ <Matrix> ], FormulaText[ <Vector> ] now display nicely
+
* FormulaText]][ <Matrix> ], FormulaText]][ <Vector> ] now display nicely
 
* support for csc(x), sec(x), cot(x), csch(x), sech(x), coth(x) and derivatives
 
* support for csc(x), sec(x), cot(x), csch(x), sech(x), coth(x) and derivatives
 
* Algebra View: you can now shift-click to select multiple objects
 
* Algebra View: you can now shift-click to select multiple objects
Line 110: Line 110:
 
* Auto-adjust radius of visible angles
 
* Auto-adjust radius of visible angles
 
* Colored bracket-matching in the input bar etc
 
* Colored bracket-matching in the input bar etc
* Preview for the Angle, Perpendicular Line, Parallel Line, Angle Bisector and Perpendicular Bisector Tools
+
* Preview for the Angle, Perpendicular Line, Parallel Line, Angle Bisector, Perpendicular Bisector and Conic Through 5 Points Tools
 
* Support for eg sin²(x), sin³(x), sin⁻¹(x) for entering functions
 
* Support for eg sin²(x), sin³(x), sin⁻¹(x) for entering functions
 
* Support for eg f(x) = sin²(x) as display eg FormulaText[ sin(x)^2 ]
 
* Support for eg f(x) = sin²(x) as display eg FormulaText[ sin(x)^2 ]
Line 165: Line 165:
 
* LaTeX rendering for functions in the Algebra View (option, can be turned off in the style bar)
 
* LaTeX rendering for functions in the Algebra View (option, can be turned off in the style bar)
 
* Click-and-hold on a Tool button to show the other Tools available
 
* Click-and-hold on a Tool button to show the other Tools available
* <Ctrl><Shift>B to export to GeoGebraWeb from GeoGebra 4.0.25.0
 
 
== Inequalities ==
 
 
* Inverse Filling option
 
* Conics supported, eg x² + y² < 25
 
* Functions supported, eg y < sin(x)
 
* Inverse functions supported, eg x<sin(y)+y
 
 
==New Spreadsheet Features ==
 
 
* Data Analysis dialog
 
* Trace to Spreadsheet dialog
 
* Create table
 
* Import data file
 
 
==Experimental Features ==
 
 
 
* Tools > Manage tools > Open
 
* Tools > Manage tools > Open
 
*  [http://www.artofproblemsolving.com/Forum/viewtopic.php?f=519&t=353472 Export to Asymptote]
 
*  [http://www.artofproblemsolving.com/Forum/viewtopic.php?f=519&t=353472 Export to Asymptote]
 
* "Show Online Help" button on Syntax Error
 
* "Show Online Help" button on Syntax Error
* more efficient dynamic LaTeX texts with eg \frac{x_A}{y_A}=\jlmDynamic{x(A)/y(A)}
 
 
* Intervals: "3 < x && x < 5" converted to "3 < x < 5"
 
* Intervals: "3 < x && x < 5" converted to "3 < x < 5"
 
* Intersect[line,polygon]
 
* Intersect[line,polygon]
Line 194: Line 175:
 
* positive-direction-only axes, adjustable axis crossing, polar grid, "On Edge" option
 
* positive-direction-only axes, adjustable axis crossing, polar grid, "On Edge" option
 
* Background color for Texts & hatching (at the moment the only way to set this is in the spreadsheet or stylebar)
 
* Background color for Texts & hatching (at the moment the only way to set this is in the spreadsheet or stylebar)
* SolveODE[ <f'(x,y)>, <Start x>, <Start y>, <End x>, <Step> ]
 
* SolveODE[ <y'>, <x'>, <Start x>, <Start y>, <End t>, <Step> ]
 
* SolveODE[ &lt;b(x)>, <c(x)>, <f(x)>, <Start x>, <Start y>, <Start y'>, <End x>, <Step> ]
 
  also see FillCells[ ], First[ <Locus>, <Number> ] and Length[ <Locus> ] commands
 
 
* Two Graphics Views
 
* Two Graphics Views
 
* Hatching & Image fill for Polygons, Conics, Slope, UpperSum etc
 
* Hatching & Image fill for Polygons, Conics, Slope, UpperSum etc
* StemPlot[ <List> ]
 
* StemPlot[ <List>, <Adjustment -1|0|1> ]
 
* PlaySound[ <Note>, <Duration>, <Length>]
 
* PlaySound[ <Note Sequence>, <Instrument> ]
 
* PlaySound[ <File> ]
 
* Shear[object,line,ratio]
 
* Stretch[object,line,ratio]
 
Note that line can be also segment or vector.
 
* PointIn[x>0 && y>0 && x+y<3]
 
 
* <code><param = "useBrowserForJS" value = "true"/></code>
 
* <code><param = "useBrowserForJS" value = "true"/></code>
* HTML5 export
+
* HTML5 export (Ctrl-Shift-B)
* FormulaText[If[x < 3, x, x + 1]]
 
 
* Upload to GeoGebra
 
* Upload to GeoGebra
 
* Compound paths, eg Point[{Segment[B, A], Segment[B, C], Segment[B, D], (1,1), Circle[A,B], x y = 1}]
 
* Compound paths, eg Point[{Segment[B, A], Segment[B, C], Segment[B, D], (1,1), Circle[A,B], x y = 1}]
 
   eg Point[{Segment[D, C], Semicircle[B, C], Segment[B, A], Semicircle[D, A]}]
 
   eg Point[{Segment[D, C], Semicircle[B, C], Segment[B, A], Semicircle[D, A]}]
 
* Animation of Points on Paths (eg circles, lines, compound paths)
 
* Animation of Points on Paths (eg circles, lines, compound paths)
* Point[x>3]
+
* [[Distance Command|Distance]][ <Point>, <Object> ]
* Distance[ <Point>, <Object> ]
+
* [[ClosestPoint Command|ClosestPoint]][ <Point>, <Object> ]
* ClosestPoint[ <Point>, <Object> ]
+
   These two commands work for Circles, Curves, Lines, Segments, Parabolas, Hyperbolas, Ellipses, Implicit Curves & Loci. For functions they work on vertical distance. Also [[Distance Command|Distance]][ <Point>, <Segment> ] now works properly.
   These two commands work for Circles, Curves, Lines, Segments, Parabolas, Hyperbolas, Ellipses, Implicit Curves & Loci. For functions they work on vertical distance. Also Distance[ <Point>, <Segment> ] now works properly.
 
 
* Preview for LaTeX texts in the Text Dialog
 
* Preview for LaTeX texts in the Text Dialog
 
* New editor for texts & scripts with syntax coloring and bracket matching
 
* New editor for texts & scripts with syntax coloring and bracket matching
* Zip[<Expression>,<var 1>,<list 1>, ...] -- e.g. Zip[Midpoint[A,B],A,list1,B,list2] is shortcut for
 
Sequence[Midpoint[list1(k),list2(k)],k,1,Min[Length[list1],Length[list2]]
 
 
* Added the Gaussian Error Function erf(x)
 
* Added the Gaussian Error Function erf(x)
 
* Loci can now be filled / hatched
 
* Loci can now be filled / hatched
* ImplicitCurve[ <List of Points> ]
+
* <Ctrl><Shift>B to export to HTML5 from GeoGebra 4.0.25.0
  Number of points in the list must be 9, 14, 20, 26, 33, etc
+
 
Implicit curves created this way can be transformed with: Translate, Rotate, Dilate (Enlarge), Reflect (in point or line)
+
== Inequalities ==
 +
 
 +
* Inverse Filling option
 +
* Conics supported, eg x² + y² < 25
 +
* Functions supported, eg y < sin(x)
 +
* Inverse functions supported, eg x<sin(y)+y
 +
 
 +
==New Spreadsheet Features ==
  
 +
* Data Analysis dialog
 +
* Trace to Spreadsheet dialog
 +
* Create table
 +
* Import data file
  
 
==Scripting==
 
==Scripting==
Line 285: Line 260:
 
==Improved Commands==
 
==Improved Commands==
  
* [http://wiki.geogebra.org/en/Locus_Command Locus&#91; <Point Creating Locus Line>, <Slider>&#93;]]
+
* [[FormulaText Command|FormulaText]] works for conditional functions, eg
 +
  FormulaText[If[x < 3, x, x + 1]
 +
 
 +
* [[Locus Command|Locus]] <Point Creating Locus Line>, <Slider>&#93;]]
 
   Makes a locus from a slider and a dependent point
 
   Makes a locus from a slider and a dependent point
  
* [http://wiki.geogebra.org/en/Extremum_Command Extremum&#91; <Function>, <Start x-Value>, <End x-Value>&#93;]
+
* [[Extremum Command|Extremum]][ <Function>, <Start x-Value>, <End x-Value>&#93;]
 
   Calculates the extremums of the function between left-x and right-x.
 
   Calculates the extremums of the function between left-x and right-x.
 
   Function should be continuous in the interval, otherwise false
 
   Function should be continuous in the interval, otherwise false
 
   extremums near discontinuity might be calculated.
 
   extremums near discontinuity might be calculated.
 
   (previously worked only for polynomials)
 
   (previously worked only for polynomials)
* [http://wiki.geogebra.org/en/Intersect_Command Intersect&#91; <Function> , <Function>, <Start x-Value>, <End x-Value>  &#93;]
+
* [[Intersect Command|Intersect]][ <Function> , <Function>, <Start x-Value>, <End x-Value>  &#93;]
  
* [http://wiki.geogebra.org/en/Intersect_Command Intersect&#91; <Implicit Curve> , <Implicit Curve> &#93;]
+
* [[Intersect Command|Intersect]][ <Implicit Curve> , <Implicit Curve> &#93;]
* [http://wiki.geogebra.org/en/Intersect_Command Intersect&#91; <Implicit Curve> , <Conic> &#93;]
+
* [[Intersect Command|Intersect]][ <Implicit Curve> , <Conic> &#93;]
* [http://wiki.geogebra.org/en/Intersect_Command Intersect&#91; <Implicit Curve> , <Line> &#93;]
+
* [[Intersect Command|Intersect]][ <Implicit Curve> , <Line> &#93;]
* [http://wiki.geogebra.org/en/Intersect_Command Intersect&#91; <Implicit Curve> , <Function> &#93;]
+
* [[Intersect Command|Intersect]][ <Implicit Curve> , <Function> &#93;]
  
* [http://wiki.geogebra.org/en/Tangent_Command Tangent&#91; <Implicit Curve>, <Point> &#93;]
+
* [[Tangent Command|Tangent]][ <Implicit Curve>, <Point> &#93;]
* [http://wiki.geogebra.org/en/Tangent_Command Tangent&#91; <Circle>, <Circle> &#93;]
+
* [[Tangent Command|Tangent]][ <Circle>, <Circle> &#93;]
* [http://wiki.geogebra.org/en/Tangent_Command Tangent&#91; <Line>, <Conic> &#93;]
+
* [[Tangent Command|Tangent]][ <Line>, <Conic> &#93;]
  
* [http://wiki.geogebra.org/en/Tangent_Command Tangent&#91; <Conic>, <Point> &#93;] now allowed as well as Tangent&#91; <Point>, <Conic> &#93;
+
* [[Tangent Command|Tangent]][ <Point>, <Conic> &#93;
* [http://wiki.geogebra.org/en/Tangent_Command Tangent&#91; <Function>, <Point> &#93;] now allowed as well as Tangent&#91; <Point>, <Function> &#93;
+
* [[Tangent Command|Tangent]][ <Point>, <Function> &#93;
  
* Derivatives of multi-variate functions: f(x,y) = x^2 + y, [http://wiki.geogebra.org/en/Derivative_Command Derivative&#91; f(x,y), x &#93;], [http://wiki.geogebra.org/en/Derivative_Command Derivative&#91; f(x,y), x, 2 &#93;]
+
* Derivatives of multi-variate functions: f(x,y) = x^2 + y, [[Derivative_Command Derivative&#91; f(x,y), x &#93;], [http://wiki.geogebra.org/en/Derivative Command|Derivative_Command Derivative&#91; f(x,y), x &#93;], [http://wiki.geogebra.org/en/Derivative]][ f(x,y), x, 2 &#93;]
  
 
* [http://wiki.geogebra.org/en/CountIf_Command CountIf] & [http://wiki.geogebra.org/en/KeepIf_Command KeepIf] now work with expressions other than numeric
 
* [http://wiki.geogebra.org/en/CountIf_Command CountIf] & [http://wiki.geogebra.org/en/KeepIf_Command KeepIf] now work with expressions other than numeric
Line 313: Line 291:
 
   eg CountIf&#91; x == "hello", list &#93;
 
   eg CountIf&#91; x == "hello", list &#93;
  
* [http://wiki.geogebra.org/en/TableText_Command TableText&#91; <Matrix>, <String> &#93;] now supports brackets by specifying ||||, ||, {}, &#91;&#93; or () in the String, horizontal lines by specifying _ and vertical lines by specifying |
+
* [[TableText Command|TableText]][&#93; or () in the String, horizontal lines by specifying _ and vertical lines by specifying |
 
   eg TableText&#91;{{1,2},{3,4}},"c()"&#93;
 
   eg TableText&#91;{{1,2},{3,4}},"c()"&#93;
 
   eg TableText&#91;{{1,2},{3,4}},"c|_"&#93;
 
   eg TableText&#91;{{1,2},{3,4}},"c|_"&#93;
Line 319: Line 297:
 
   eg TableText&#91;{{1,2},{3,4}},"c||||"&#93;
 
   eg TableText&#91;{{1,2},{3,4}},"c||||"&#93;
  
* [http://wiki.geogebra.org/en/Simplify_Command Simplify&#91; <Expression> &#93;]
+
* [[Simplify Command|Simplify]][ <Expression> &#93;]
 
   Simplify will now cancel factors from a fraction better, eg Simplify&#91;(x-1)/(x^2-2x+1)&#93;
 
   Simplify will now cancel factors from a fraction better, eg Simplify&#91;(x-1)/(x^2-2x+1)&#93;
  
* [http://wiki.geogebra.org/en/Factor_Command Factor&#91; <Expression> &#93;]
+
* [[Factor Command|Factor]][ <Expression> &#93;]
 
   Factor has been much improved and gives better answers for simple factoring and also now
 
   Factor has been much improved and gives better answers for simple factoring and also now
 
   copes with much harder problems eg Factor&#91; x^33 - 1 &#93;
 
   copes with much harder problems eg Factor&#91; x^33 - 1 &#93;
* [http://wiki.geogebra.org/en/Vertex_Command Vertex&#91;<Polygon>&#93;]
+
* [[Vertex Command|Vertex]][<Polygon>&#93;]
 
  Returns vertices of polygon
 
  Returns vertices of polygon
  
* [http://wiki.geogebra.org/en/Integral_Command Integral&#91; <Function>, <Start x-Value>, <End x-Value>, <Boolean Evaluate> &#93;]
+
* [[Integral Command|Integral]][ <Function>, <Start x-Value>, <End x-Value>, <Boolean Evaluate> &#93;]
* [http://wiki.geogebra.org/en/IntegralBetween_Command IntegralBetween&#91; <Function>, <Function>, <Start x-Value>, <End x-Value> &#93;]
+
* [[IntegralBetween Command|IntegralBetween]][ <Function>, <Function>, <Start x-Value>, <End x-Value> &#93;]
* [http://wiki.geogebra.org/en/IntegralBetween_Command IntegralBetween&#91; <Function>, <Function>, <Start x-Value>, <End x-Value>, <Boolean Evaluate> &#93;]
+
* [[IntegralBetween Command|IntegralBetween]][ <Function>, <Function>, <Start x-Value>, <End x-Value>, <Boolean Evaluate> &#93;]
 
   Integrals can be shaded but not computed when Evaluate = false
 
   Integrals can be shaded but not computed when Evaluate = false
  
* [http://wiki.geogebra.org/en/Product_Command Product&#91;<List>,<Max index>&#93;] (similar to [http://wiki.geogebra.org/en/Sum_Command Sum&#91;<List>,<Max index>&#93;])
+
* [[Product Command|Product]][ <List>,<Max Index>&#93;] (similar to [[Sum Command|Sum]][<List>, <Max Index>&#93;])
  
* [http://wiki.geogebra.org/en/Histogram_Command Histogram&#91; <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) &#93;]
+
* [[Histogram Command|Histogram]][ <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) &#93;]
* [http://wiki.geogebra.org/en/Histogram_Command Histogram&#91; <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) &#93;]
+
* [[Histogram Command|Histogram]][ <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) &#93;]
 
   New options for cumulative histograms and density scaling.   
 
   New options for cumulative histograms and density scaling.   
 
   If Use Density = true histogram bar heights follow the rule:  
 
   If Use Density = true histogram bar heights follow the rule:  
Line 345: Line 323:
  
 
==New Commands==
 
==New Commands==
'''Commands marked * also work in the CAS View'''
+
* [[Zip Command|Zip]][ <Expression>,<var 1>,<list 1>, ...] -- e.g. Zip[Midpoint[A,B],A,list1,B,list2] is shortcut for Sequence[Midpoint[list1(k),list2(k)],k,1,Min[Length[list1],Length[list2 Command|Zip]]]][ <Expression>,<var 1>,<list 1>, ...] -- e.g. Zip[Midpoint[A,B],A,list1,B,list2] is shortcut for Sequence[Midpoint[list1(k),list2(k)],k,1,Min[Length[list1],Length[list2]]
* Identity[ <Number> ]
+
* [[StemPlot Command|StemPlot]]]][ <List> ]
 +
* [[StemPlot Command|StemPlot]]]][ <List>, <Adjustment -1|0|1> ]
 +
* [[PlaySound Command|PlaySound]][ <Note>, <Duration>, <Length>]
 +
* [[PlaySound Command|PlaySound]][ <Note Sequence>, <Instrument> ]
 +
* [[PlaySound Command|PlaySound]][ <File> ]
 +
* [[Shear Command|Shear]][ <Object< ,<Line>, <Ratio> ]
 +
* [[Stretch Command|Stretch]][ <Object, <Line> ,<Ratio> ]
 +
* [[SolveODE Command|SolveODE]][ <f(x,y)>, <Start x>, <Start y>, <End x>, <Step> ]
 +
* [[SolveODE Command|SolveODE]][ <f(x,y)>, <g(x,y)>, <Start x>, <Start y>, <End t>, <Step> ]
 +
* [[SolveODE Command|SolveODE]][ &lt;b(x)>, <c(x)>, <f(x)>, <Start x>, <Start y>, <Start y'>, <End x>, <Step> ]
 +
  also see FillCells[ ], First]][ <Locus>, <Number> ] and Length]][ <Locus> ] commands
 +
* [[ImplicitCurve Command|ImplicitCurve]][ <List of Points> ]
 +
  Number of points in the list must be 9, 14, 20, 26, 33, etc
 +
Implicit curves created this way can be transformed with: Translate, Rotate, Dilate (Enlarge), Reflect (in point or line)
 +
 
 +
* [[Identity Command|Identity]][ <Number> ]
 
   Creates an Identity matrix of the specified order
 
   Creates an Identity matrix of the specified order
  
* Incircle[ <Point>, <Point>, <Point> ]
+
* [[Incircle Command|Incircle]][ <Point>, <Point>, <Point> ]
  
* FormulaText[ <Object>, <Boolean for Substitution of Variables>, <Boolean Show Name> ]
+
* [[FormulaText Command|FormulaText]][ <Object>, <Boolean for Substitution of Variables>, <Boolean Show Name> ]
  
* GetTime[]
+
* [[Command|GetTime[]
 
   Returns a list such as {647, 59, 39, 23, 28, 2, 2011, "February", "Monday", 2}
 
   Returns a list such as {647, 59, 39, 23, 28, 2, 2011, "February", "Monday", 2}
 
   ie the current date and time in this order:
 
   ie the current date and time in this order:
 
   milliseconds, seconds, minutes, hours (0 - 23), date, month (1-12), year, month (as text), day (as text), day (1 = Sunday, 2 = Monday etc)
 
   milliseconds, seconds, minutes, hours (0 - 23), date, month (1-12), year, month (as text), day (as text), day (1 = Sunday, 2 = Monday etc)
  
* Min[ <Interval> ]
+
* [[Min Command|Min]][ <Interval> ]
* Max[ <Interval> ]
+
* [[Max Command|Max]][ <Interval> ]
* Midpoint[ <Interval> ]
+
* [[Midpoint Command|Midpoint]][ <Interval> ]
  
* Min[ <Function>, <Start x-Value>, <End x-Value> ]
+
* [[Min Command|Min]][ <Function>, <Start x-Value>, <End x-Value> ]
 
   Calculates the minimum point for function in the given interval.
 
   Calculates the minimum point for function in the given interval.
 
   Function should only have one minimum point in the interval.
 
   Function should only have one minimum point in the interval.
  
* Max <Function>, <Start x-Value>, <End x-Value> ]
+
* [[Command|Max <Function>, <Start x-Value>, <End x-Value> ]
  
 
Calculates the maximum point for function in the given interval.
 
Calculates the maximum point for function in the given interval.
 
Function should only have on maximum point in the interval.
 
Function should only have on maximum point in the interval.
  
* Maximize[ <Number dependent>, <Number independent> ]
+
* [[Maximize Command|Maximize]][ <Number dependent>, <Number independent> ]
  
 
Calculates the independent number which gives the maximal value of
 
Calculates the independent number which gives the maximal value of
Line 380: Line 373:
 
to avoid using too much processor time.
 
to avoid using too much processor time.
  
* Minimize[ <Number dependent>, <Number independent> ]
+
* [[Minimize Command|Minimize]][ <Number dependent>, <Number independent> ]
 
Calculates the independent number which gives the minimal value of
 
Calculates the independent number which gives the minimal value of
 
the dependent number.
 
the dependent number.
Line 388: Line 381:
 
to avoid using too much processor time.
 
to avoid using too much processor time.
  
* LeftSum[ <Function>, <Start x-Value>, <End x-Value>, <Number of Rectangles> ]
+
* [[LeftSum Command|LeftSum]][ <Function>, <Start x-Value>, <End x-Value>, <Number of Rectangles> ]
 
   Calculates the left sum of the function on the interval [a, b] using n rectangles.
 
   Calculates the left sum of the function on the interval [a, b] using n rectangles.
 
   Note: This command draws the rectangles of the left sum as well.
 
   Note: This command draws the rectangles of the left sum as well.
  
* RectangleSum[ <Function>, <Start x-Value>, <End x-Value>, <Number of Rectangles>, <Position for rectangle start> ]
+
* [[RectangleSum Command|RectangleSum]][ <Function>, <Start x-Value>, <End x-Value>, <Number of Rectangles>, <Position for rectangle start> ]
 
   Calculates the sum of rectangles with left height starting at a
 
   Calculates the sum of rectangles with left height starting at a
 
   fraction d of each interval using n rectangles. (0<=d<=1).
 
   fraction d of each interval using n rectangles. (0<=d<=1).
Line 398: Line 391:
 
   Note: This command draws the rectangles of the sum as well.
 
   Note: This command draws the rectangles of the sum as well.
  
* StartAnimation[ ]
+
* [[Command|StartAnimation[ ]
* StartAnimation[ <Slider> ]
+
* [[StartAnimation Command|StartAnimation]][ <Slider> ]
* StartAnimation[ <Boolean> ]
+
* [[StartAnimation Command|StartAnimation]][ <Boolean> ]
  
* Ordinal[ < Integer> ]
+
* [[Ordinal Command|Ordinal]][ < Integer> ]
 
   turns a number into an ordinal (as a text)
 
   turns a number into an ordinal (as a text)
 
   eg Ordinal[5] gives "5th" in English
 
   eg Ordinal[5] gives "5th" in English
  
* PathParameter[ <Point on Path> ]
+
* [[PathParameter Command|PathParameter]][ <Point on Path> ]
 
   eg turns a Point on Circle into a slider
 
   eg turns a Point on Circle into a slider
* Point[ <Object>, <Parameter> ]
+
* [[Point Command|Point]][ <Object>, <Parameter> ]
 
   eg Point[c, a] (for a circle c and slider a)
 
   eg Point[c, a] (for a circle c and slider a)
  
* PrimeFactors[ <Number> ]
+
* [[PrimeFactors Command|PrimeFactors]][ <Number> ]
 
   Returns a list of prime factors (works for numbers up to 9 007 199 254 740 992)
 
   Returns a list of prime factors (works for numbers up to 9 007 199 254 740 992)
 
   eg PrimeFactors[1] returns {}
 
   eg PrimeFactors[1] returns {}
 
   eg PrimeFactors[23] returns {23}
 
   eg PrimeFactors[23] returns {23}
 
   eg PrimeFactors[24] returns {2, 2, 2, 3}
 
   eg PrimeFactors[24] returns {2, 2, 2, 3}
* Factors[<Number>]
+
* [[Factors Command|Factors]][ <Number>]
 
  Returns list of points (prime,exponent). E.g. Factors[3072] returns {(2,10),(3,1)}
 
  Returns list of points (prime,exponent). E.g. Factors[3072] returns {(2,10),(3,1)}
* IndexOf[ <Object>, <List> ]
+
* [[IndexOf Command|IndexOf]][ <Object>, <List> ]
* IndexOf[ <Object>, <List>, <Start Index> ]
+
* [[IndexOf Command|IndexOf]][ <Object>, <List>, <Start Index> ]
* IndexOf[ <Text>, <Text> ]
+
* [[IndexOf Command|IndexOf]][ <Text>, <Text> ]
* IndexOf[ <Text>, <Text>, <Start Index> ]
+
* [[IndexOf Command|IndexOf]][ <Text>, <Text>, <Start Index> ]
* StemPlot[ <List> ] (UK: StemAndLeaf[ <List> ]
+
* [[StemPlot Command|StemPlot]][ <List> ] (UK: StemAndLeaf[ <List> ]
* StemPlot[ <List> , <Adjustment -1|0|1> ] (UK: StemAndLeaf[ <List>, <Adjustment -1|0|1> ]
+
* [[StemPlot Command|StemPlot]][ <List> , <Adjustment -1|0|1> ] (UK: StemAndLeaf[ <List> , <Adjustment -1|0|1> ] )
*ResidualPlot[<List of Points>, <Function>]
+
* [[ResidualPlot Command|ResidualPlot]][ <List of Points>, <Function>]
*DotPlot[<List of Numbers>]
+
* [[DotPlot Command|DotPlot]][ <List of Numbers>]
*FrequencyPolygon[ <List of Class Boundaries>, <List of Heights> ]
+
* [[FrequencyPolygon Command|FrequencyPolygon]][ <List of Class Boundaries>, <List of Heights> ]
*FrequencyPolygon[ <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
+
* [[FrequencyPolygon Command|FrequencyPolygon]][ <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
*FrequencyPolygon[ <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
+
* [[FrequencyPolygon Command|FrequencyPolygon]][ <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
  
* Hull[ <List of Points> ,<Percentage> ]
+
* [[Hull Command|Hull]][ <List of Points> ,<Percentage> ]
 
   Produces a "Characteristic Hull" as described here: http://www.geosensor.net/papers/duckham08.PR.pdf
 
   Produces a "Characteristic Hull" as described here: http://www.geosensor.net/papers/duckham08.PR.pdf
 
   When the percentage is 1, the Convex Hull is produced. As the percentage is decreased, the area of the hull decreases.
 
   When the percentage is 1, the Convex Hull is produced. As the percentage is decreased, the area of the hull decreases.
* ConvexHull[ <List of Points> ]
+
* [[ConvexHull Command|ConvexHull]][ <List of Points> ]
* MinimumSpanningTree[ <List of Points> ]
+
* [[MinimumSpanningTree Command|MinimumSpanningTree]][ <List of Points> ]
* DelauneyTriangulation[ <List of Points> ]
+
* [[DelauneyTriangulation Command|DelauneyTriangulation]][ <List of Points> ]
* TravelingSalesman[ <List of Points> ]
+
* [[TravelingSalesman Command|TravelingSalesman]][ <List of Points> ]
* Voronoi[ <List of Points> ]
+
* [[Voronoi Command|Voronoi]][ <List of Points> ]
 
   Draws a [http://en.wikipedia.org/wiki/Voronoi_diagram Voronoi Diagram ]
 
   Draws a [http://en.wikipedia.org/wiki/Voronoi_diagram Voronoi Diagram ]
* ShortestDistance[ <List of Segments>, <Start Point>, <End Point>, <Boolean Weighted> ]
+
* [[ShortestDistance Command|ShortestDistance]][ <List of Segments>, <Start Point>, <End Point>, <Boolean Weighted> ]
* Perimeter[ <Locus> ]
+
* [[Distance Command|Distance]][ <Line>, <Line>]
 +
* [[Perimeter Command|Perimeter]][ <Locus> ]
 
   Useful for ShortestDistance[ ]
 
   Useful for ShortestDistance[ ]
* SelectedIndex[ <List> ]
+
* [[SelectedIndex Command|SelectedIndex]][ <List> ]
* SelectedElement[ <List> ]
+
* [[SelectedElement Command|SelectedElement]][ <List> ]
 
   These two commands return the index / element of a Visible List (ie Combobox) that has been selected by the user.
 
   These two commands return the index / element of a Visible List (ie Combobox) that has been selected by the user.
 
   Note that these are currently available only in the Spreadsheet (when the "Use Buttons and Checkboxes" option is enabled).
 
   Note that these are currently available only in the Spreadsheet (when the "Use Buttons and Checkboxes" option is enabled).
  
* ToolImage[ <Number> ]
+
* [[ToolImage Command|ToolImage]][ <Number> ]
 
Copies the icon for the selected Tool into the Graphics View. The numbers for each Tool are detailed here:
 
Copies the icon for the selected Tool into the Graphics View. The numbers for each Tool are detailed here:
 
http://www.geogebra.org/trac/browser/trunk/geogebra/geogebra/euclidian/EuclidianConstants.java
 
http://www.geogebra.org/trac/browser/trunk/geogebra/geogebra/euclidian/EuclidianConstants.java
  
* SlowPlot[ <Function> ]
+
* [[SlowPlot Command|SlowPlot]][ <Function> ]
  
* Sample[ <List>, <Size> ]
+
* [[Sample Command|Sample]][ <List>, <Size> ]
* Sample[ <List>, <Size>, <With Replacement> ]
+
* [[Sample Command|Sample]][ <List>, <Size>, <With Replacement> ]
  
* VerticalText[ <Text> ]
+
* [[VerticalText Command|VerticalText]][ <Text> ]
* RotateText[ <Text>, <Angle> ]
+
* [[RotateText Command|RotateText]][ <Text>, <Angle> ]
  
* PolyLine[ <List of Points> ]
+
* [[PolyLine Command|PolyLine]][ <List of Points> ]
* PolyLine[ <Point>, <Point>, <Point>, ... ]
+
* [[PolyLine Command|PolyLine]][ <Point>, <Point>, <Point>, ... ]
  
* RigidPolygon[<Free Point>, ..., <Free Point> ]
+
* [[RigidPolygon Command|RigidPolygon]][ <Free Point>, ..., <Free Point> ]
 
   Makes a rigid polygon. Dragging the polygon translates it, dragging the second point rotates it.
 
   Makes a rigid polygon. Dragging the polygon translates it, dragging the second point rotates it.
  
* Simplify[ <Text> ]
+
* [[Simplify Command|Simplify]][ <Text> ]
 
   Attempts to tidy up text expressions by removing repeated negatives etc eg Simplify["f(x) = "+a+"x²+"+b+"x+"+c]
 
   Attempts to tidy up text expressions by removing repeated negatives etc eg Simplify["f(x) = "+a+"x²+"+b+"x+"+c]
 
   '''Note that FormulaText[f] normally produces better results and is simpler'''
 
   '''Note that FormulaText[f] normally produces better results and is simpler'''
  
* ComplexRoot[ <Polynomial> ]
+
* [[ComplexRoot Command|ComplexRoot]][ <Polynomial> ]
  
* SetValue[ <Boolean>, <0|1> ]
+
* [[SetValue Command|SetValue]][ <Boolean>, <0|1> ]
 
   Sets the state of a boolean / CheckBox
 
   Sets the state of a boolean / CheckBox
 
   1 = true, 0 = false
 
   1 = true, 0 = false
  
* SetValue[ <List>, <Element>]
+
* [[SetValue Command|SetValue]][ <List>, <Element>]
 
   Sets the selected element of a Visible List (Combobox)
 
   Sets the selected element of a Visible List (Combobox)
  
* SetValue[ <Object> , <Object> ]
+
* [[SetValue Command|SetValue]][ <Object> , <Object> ]
 
   Useful in Scripting eg SetValue[a, b]
 
   Useful in Scripting eg SetValue[a, b]
  
* SetValue[ <List>, <Number>, <Object> ]
+
* [[SetValue Command|SetValue]][ <List>, <Number>, <Object> ]
 
   Useful in Scripting eg SetValue[list1, RandomBetween[1,3], RandomBetween[1,10]]
 
   Useful in Scripting eg SetValue[list1, RandomBetween[1,3], RandomBetween[1,10]]
  
* UpdateConstruction[]
+
* [[UpdateConstruction Command|UpdateConstruction]][]
 
   Useful in Scripting. Updates all random numbers (like Ctrl-R)
 
   Useful in Scripting. Updates all random numbers (like Ctrl-R)
* Execute[<List of strings>]
+
* [[Execute Command|Execute]][ <List of strings>]
 
Executes list of commands, e.g.  Execute[Join[{"f_{1}=1","f_{2}=1"},Sequence["f_{"+(i+2)+"}=f_{"+(i+1)+"}+f_{"+i+"}",i,1,10]]].
 
Executes list of commands, e.g.  Execute[Join[{"f_{1}=1","f_{2}=1"},Sequence["f_{"+(i+2)+"}=f_{"+(i+1)+"}+f_{"+i+"}",i,1,10]]].
* Execute[<List of strings>,<Parameter %0>,....,<Parameter %9>]
+
* [[Execute Command|Execute]][ <List of strings>,<Parameter %0>,....,<Parameter %9>]
 
Replaces %x for parameter %x. Executes list of resulting commands, e.g.  Execute[{"Midpoint[%0,%1]"},A,B}].
 
Replaces %x for parameter %x. Executes list of resulting commands, e.g.  Execute[{"Midpoint[%0,%1]"},A,B}].
* ApplyMatrix[ <Matrix>, <Object> ]
+
* [[ApplyMatrix Command|ApplyMatrix]][ <Matrix>, <Object> ]
* RandomElement[ <List> ]
+
* [[RandomElement Command|RandomElement]][ <List> ]
* Shuffle[ <List> ]
+
* [[Shuffle Command|Shuffle]][ <List> ]
* OrdinalRank[ <List> ]
+
* [[OrdinalRank Command|OrdinalRank]][ <List> ]
* TiedRank[ <List> ]
+
* [[TiedRank Command|TiedRank]][ <List> ]
* ReducedRowEchelonForm[ <Matrix> ]
+
* [[ReducedRowEchelonForm Command|ReducedRowEchelonForm]][ <Matrix> ]
* SampleSD[ <List of Numbers> ]
+
* [[SampleSD Command|SampleSD]][ <List of Numbers> ]
 
   Calculates the Sample Standard Devation
 
   Calculates the Sample Standard Devation
* SampleSDX[ <List of Points> ], SampleSDY[ <List of Points> ]
+
* [[SampleSDX Command|SampleSDX]][ <List of Points> ], SampleSDY Command|SampleSDX]][ <List of Points> ], SampleSDY]][ <List of Points> ]
 
   Calculate the Sample Standard Devation of one coordinate
 
   Calculate the Sample Standard Devation of one coordinate
* SDX[ <List of Points> ], SDY[ <List of Points> ]
+
* [[SDX Command|SDX]][ <List of Points> ], SDY Command|SDX]][ <List of Points> ], SDY]][ <List of Points> ]
 
   Calculate the Standard Devation of one coordinate
 
   Calculate the Standard Devation of one coordinate
* SampleVariance[ <List of Numbers> ]
+
* [[SampleVariance Command|SampleVariance]][ <List of Numbers> ]
 
   Calculates the Sample Variance
 
   Calculates the Sample Variance
  
*Spearman[<List of Points>]
+
* [[Spearman Command|Spearman]][ <List of Points>]
*Spearman[<List of Numbers>, <List of Numbers>]
+
* [[Spearman Command|Spearman]][ <List of Numbers>, <List of Numbers>]
 
  Calculates Spearman's Correlation Coefficient
 
  Calculates Spearman's Correlation Coefficient
  
* Point[ <List> ]
+
* [[Point Command|Point]][ <List> ]
 
   eg Point[ {1, 2} ]
 
   eg Point[ {1, 2} ]
 
   eg Point[ { {1, 2}, {3, 4} } ]
 
   eg Point[ { {1, 2}, {3, 4} } ]
  
* PointList[ <List> ]
+
* [[PointList Command|PointList]][ <List> ]
 
   eg PointList[ { {1, 2}, {3 ,4}} ]  
 
   eg PointList[ { {1, 2}, {3 ,4}} ]  
  
* RootList[ <List> ]
+
* [[RootList Command|RootList]][ <List> ]
 
   eg RootList[ {1, 2, 3} ]
 
   eg RootList[ {1, 2, 3} ]
  
* ParseToNumber[ <Number>, <Text> ]
+
* [[ParseToNumber Command|ParseToNumber]][ <Number>, <Text> ]
 
   eg ParseToNumber[a,"%0"] in a GeoGebra Script
 
   eg ParseToNumber[a,"%0"] in a GeoGebra Script
  
* ParseToFunction[ <Function>, <Text> ]
+
* [[ParseToFunction Command|ParseToFunction]][ <Function>, <Text> ]
 
   eg ParseToFunction[f,"%0"] in a GeoGebra Script
 
   eg ParseToFunction[f,"%0"] in a GeoGebra Script
  
* Polygon[ <List of Points> ]
+
* [[Polygon Command|Polygon]][ <List of Points> ]
  
* FitGrowth[<List of Points>]
+
* [[FitGrowth Command|FitGrowth]][ <List of Points>]
 
  Fits a function of the form a*b^x to the points in the list.
 
  Fits a function of the form a*b^x to the points in the list.
 
  (Just like FitExp[], but to avoid the number e, as e is unknown to some pupils
 
  (Just like FitExp[], but to avoid the number e, as e is unknown to some pupils
 
   even if they know the exponential growth function.)
 
   even if they know the exponential growth function.)
  
* Fit[<List of Points>,<List of Functions>]
+
* [[Fit Command|Fit]][ <List of Points>,<List of Functions>]
 
  Fits a linear combination of functions to the points in the list.
 
  Fits a linear combination of functions to the points in the list.
 
  For example, with Points A, B, C, ...
 
  For example, with Points A, B, C, ...
Line 540: Line 534:
 
  gives a minimum squared errors curve fitting fit(x) = a + b x + c e^x
 
  gives a minimum squared errors curve fitting fit(x) = a + b x + c e^x
  
* SumSquaredErrors[ <List of Points>, <Function> ]
+
* [[SumSquaredErrors Command|SumSquaredErrors]][ <List of Points>, <Function> ]
 
   Calculates the sum of squared errors, SSE, between the y-values
 
   Calculates the sum of squared errors, SSE, between the y-values
 
   of the points in the list and the function values of the
 
   of the points in the list and the function values of the
Line 551: Line 545:
 
   sse_f=SumSquaredErrors[L,f] and sse_g=SumSquaredErrors[L,g].
 
   sse_f=SumSquaredErrors[L,f] and sse_g=SumSquaredErrors[L,g].
  
* RSquare[ <List of Points>, <Function> ]
+
* [[RSquare Command|RSquare]][ <List of Points>, <Function> ]
  
* Numerator[ <Function> ] *
+
* [[Numerator Command|Numerator]][ <Function> ] *
* Denominator[ <Function> ] *
+
* [[Denominator Command|Denominator]][ <Function> ] *
* PartialFractions[ <Function> ] *
+
* [[PartialFractions Command|PartialFractions]][ <Function> ] *
* Limit[ <Function>, <Value> ] *
+
* [[Limit Command|Limit]][ <Function>, <Value> ] *
* LimitAbove[ <Function>, <Value> ] *
+
* [[LimitAbove Command|LimitAbove]][ <Function>, <Value> ] *
* LimitBelow[ <Function>, <Value> ] *
+
* [[LimitBelow Command|LimitBelow]][ <Function>, <Value> ] *
* Factors[ <Polynomial> ] *
+
* [[Factors Command|Factors]][ <Polynomial> ] *
* Degree[ <Polynomial> ] *
+
* [[Degree Command|Degree]][ <Polynomial> ] *
* Coefficients[ <Polynomial> ] *
+
* [[Coefficients Command|Coefficients]][ <Polynomial> ] *
* Coefficients[ <Conic> ]
+
* [[Coefficients Command|Coefficients]][ <Conic> ]
 
returns a list with the coefficients of: x², y², 1, xy, x, y
 
returns a list with the coefficients of: x², y², 1, xy, x, y
* Div[ <Polynomial>, <Polynomial> ] *
+
* [[Div Command|Div]][ <Polynomial>, <Polynomial> ] *
* Mod[ <Polynomial>, <Polynomial> ] *
+
* [[Mod Command|Mod]][ <Polynomial>, <Polynomial> ] *
* Asymptote[ <Function> ]
+
* [[Asymptote Command|Asymptote]][ <Function> ]
* Asymptote[ <Implicit Curve> ]
+
* [[Asymptote Command|Asymptote]][ <Implicit Curve> ]
* RandomUniform[ <Min>, <Max> ]
+
* [[RandomUniform Command|RandomUniform]][ <Min>, <Max> ]
* Eccentricity[ <Conic> ]
+
* [[Eccentricity Command|Eccentricity]][ <Conic> ]
* Length[ <Text> ]
+
* [[Length Command|Length]][ <Text> ]
* Length[ <Locus> ]
+
* [[Length Command|Length]][ <Locus> ]
 
   See SolveODE[ ]
 
   See SolveODE[ ]
* Take[ <Text>, <Start>, <End> ]
+
* [[Take Command|Take]][ <Text>, <Start>, <End> ]
* First[ <Text>, <Number>]
+
* [[First Command|First]][ <Text>, <Number>]
* First[ <Locus>, <Number>]
+
* [[First Command|First]][ <Locus>, <Number>]
 
   See SolveODE[ ]
 
   See SolveODE[ ]
* First[ <Text>]
+
* [[First Command|First]][ <Text>]
* Last[ <Text>, <Number>]
+
* [[Last Command|Last]][ <Text>, <Number>]
* Last[ <Text>]
+
* [[Last Command|Last]][ <Text>]
* Text[ <Object>, <Point>, <Boolean for Substitution of Variables>, <Boolean for LaTeX formula> ]
+
* [[Text Command|Text]][ <Object>, <Point>, <Boolean for Substitution of Variables>, <Boolean for LaTeX formula> ]
* Reflect[ <Circle>, <Object> ]
+
* [[Reflect Command|Reflect]][ <Circle>, <Object> ]
 
   Inverts object in circle
 
   Inverts object in circle
* DynamicCoordinates[ <Point>, <Number>, <Number> ]
+
* [[DynamicCoordinates Command|DynamicCoordinates]][ <Point>, <Number>, <Number> ]
  
 
   A=Point[xAxis]
 
   A=Point[xAxis]
Line 602: Line 596:
 
   makes A a sticky point when C is dragged near it  
 
   makes A a sticky point when C is dragged near it  
  
* PointIn[ <Region> ]
+
* [[PointIn Command|PointIn]][ <Region> ]
* IsInRegion[ <Point>, <Region> ]
+
* [[IsInRegion Command|IsInRegion]][ <Point>, <Region> ]
* Element[ <Matrix>, <Column>, <Row> ]
+
* [[Element Command|Element]][ <Matrix>, <Column>, <Row> ]
  
* TDistribution[ <Degrees of Freedom>, <Variable Value> ]
+
* [[TDistribution Command|TDistribution]][ <Degrees of Freedom>, <Variable Value> ]
* InverseTDistribution[ <Degrees of Freedom>, <Probability> ]
+
* [[InverseTDistribution Command|InverseTDistribution]][ <Degrees of Freedom>, <Probability> ]
* FDistribution[ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, <Variable Value> ]
+
* [[FDistribution Command|FDistribution]][ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, <Variable Value> ]
* InverseFDistribution[ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, <Probability> ]
+
* [[InverseFDistribution Command|InverseFDistribution]][ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, <Probability> ]
* Gamma[ <Alpha>, <Beta>, <Variable Value> ]
+
* [[Gamma Command|Gamma]][ <Alpha>, <Beta>, <Variable Value> ]
* InverseGamma[ <Alpha>, <Beta>, <Probability> ]
+
* [[Erlang Command|Erlang]][ <Shape>, <Rate>, <Variable Value> ]
* Cauchy[ <Median>, <Scale>, <Variable Value> ]
+
* [[InverseGamma Command|InverseGamma]][ <Alpha>, <Beta>, <Probability> ]
* InverseCauchy[ <Median>, <Scale>, <Probability> ]
+
* [[Cauchy Command|Cauchy]][ <Median>, <Scale>, <Variable Value> ]
* ChiSquared[ <Degrees of Freedom>, <Variable Value> ]
+
* [[InverseCauchy Command|InverseCauchy]][ <Median>, <Scale>, <Probability> ]
* InverseChiSquared[ <Degrees of Freedom>, <Probability> ]
+
* [[ChiSquared Command|ChiSquared]][ <Degrees of Freedom>, <Variable Value> ]
* Exponential[ <Mean>, <Variable Value>]
+
* [[InverseChiSquared Command|InverseChiSquared]][ <Degrees of Freedom>, <Probability> ]
* InverseExponential[ <Mean>, <Probability> ]
+
* [[Exponential Command|Exponential]][ <Mean>, <Variable Value>]
* Weibull[ <Shape>, <Scale>, <Variable Value> ]
+
* [[InverseExponential Command|InverseExponential]][ <Mean>, <Probability> ]
* InverseWeibull[ <Shape>, <Scale>, <Probability> ]
+
* [[Weibull Command|Weibull]][ <Shape>, <Scale>, <Variable Value> ]
* Binomial[ <Number of Successes>, <Probability of Success>, <Variable Value>, <Boolean Cumulative> ]
+
* [[InverseWeibull Command|InverseWeibull]][ <Shape>, <Scale>, <Probability> ]
* InverseBinomial[ <Number of Successes>, <Probability of Success>, <Probability> ]
+
* [[BinomialDist Command|BinomialDist]][ <Number of Successes>, <Probability of Success>, <Variable Value>, <Boolean Cumulative> ]
* Pascal[ <Number of Successes>, <Probability of Success>, <Variable Value> , <Boolean Cumulative> ]
+
* [[InverseBinomial Command|InverseBinomial]][ <Number of Successes>, <Probability of Success>, <Probability> ]
* InversePascal[ <Number of Successes>, <Probability of Success>, <Probability> ]
+
* [[Pascal Command|Pascal]][ <Number of Successes>, <Probability of Success>, <Variable Value> , <Boolean Cumulative> ]
* Poisson[ <Number of Successes>, <Probability of Success>, <Variable Value> , <Boolean Cumulative> ]
+
* [[InversePascal Command|InversePascal]][ <Number of Successes>, <Probability of Success>, <Probability> ]
* InversePoisson[ <Number of Successes>, <Probability of Success>, <Probability> ]
+
* [[Poisson Command|Poisson]][ <Number of Successes>, <Probability of Success>, <Variable Value> , <Boolean Cumulative> ]
* HyperGeometric[ <Population Size>, <Number of Successes>, <Sample Size>, <Variable Value> , <Boolean Cumulative> ]
+
* [[InversePoisson Command|InversePoisson]][ <Number of Successes>, <Probability of Success>, <Probability> ]
* InverseHyperGeometric[ <Population Size>, <Number of Successes>, <Sample Size>, <Probability> ]
+
* [[HyperGeometric Command|HyperGeometric]][ <Population Size>, <Number of Successes>, <Sample Size>, <Variable Value> , <Boolean Cumulative> ]
* Zipf[ <Number of Elements>, <Exponent>, <Variable Value> , <Boolean Cumulative> ]
+
* [[InverseHyperGeometric Command|InverseHyperGeometric]][ <Population Size>, <Number of Successes>, <Sample Size>, <Probability> ]
* InverseZipf[ <Number of Elements>, <Exponent>, <Probability> ]
+
* [[Zipf Command|Zipf]][ <Number of Elements>, <Exponent>, <Variable Value> , <Boolean Cumulative> ]
 +
* [[InverseZipf Command|InverseZipf]][ <Number of Elements>, <Exponent>, <Probability> ]
  
* CopyFreeObject[ <Object> ]
+
* [[CopyFreeObject Command|CopyFreeObject]][ <Object> ]
* SetColor[ <Object>, "color" ]
+
* [[SetColor Command|SetColor]][ <Object>, "color" ]
* SetColor[ <Object>, <Red>, <Green>, <Blue> ]
+
* [[SetColor Command|SetColor]][ <Object>, <Red>, <Green>, <Blue> ]
* SetBackgroundColor[ <Object>, "color" ]
+
* [[SetBackgroundColor Command|SetBackgroundColor]][ <Object>, "color" ]
* SetBackgroundColor[ <Object>, <Red>, <Green>, <Blue> ]
+
* [[SetBackgroundColor Command|SetBackgroundColor]][ <Object>, <Red>, <Green>, <Blue> ]
* SetDynamicColor[ <Object>, <Red>, <Green>, <Blue> ]
+
* [[SetDynamicColor Command|SetDynamicColor]][ <Object>, <Red>, <Green>, <Blue> ]
* SetConditionToShowObject[ <Object>, <Condition> ]
+
* [[SetConditionToShowObject Command|SetConditionToShowObject]][ <Object>, <Condition> ]
* SetCoords[ <Point>, <x>, <y> ]
+
* [[SetCoords Command|SetCoords]][ <Point>, <x>, <y> ]
* SetFilling[ <Object>, <Number> ]
+
* [[SetFilling Command|SetFilling]][ <Object>, <Number> ]
* SetPointSize[ <Point>, <Number> ]
+
* [[SetPointSize Command|SetPointSize]][ <Point>, <Number> ]
* SetPointStyle[ <Point>, <Number> ]
+
* [[SetPointStyle Command|SetPointStyle]][ <Point>, <Number> ]
* SetLineThickness[ <Line>, <Number> ]
+
* [[SetLineThickness Command|SetLineThickness]][ <Line>, <Number> ]
* SetLineStyle[ <Line>, <Number> ]
+
* [[SetLineStyle Command|SetLineStyle]][ <Line>, <Number> ]
* SetLayer[ <Object>, <Layer> ]
+
* [[SetLayer Command|SetLayer]][ <Object>, <Layer> ]
* SelectObjects[ ]
+
* [[Command|SelectObjects[ ]
 
clears selection
 
clears selection
* SelectObjects[ <Object>, <Object>, ... ]
+
* [[SelectObjects Command|SelectObjects]][ <Object>, <Object>, ... ]
* ShowLayer[ <Number> ]
+
* [[ShowLayer Command|ShowLayer]][ <Number> ]
* HideLayer[ <Number> ]
+
* [[HideLayer Command|HideLayer]][ <Number> ]
* SetFixed[ <Object>, <True | False> ]
+
* [[SetFixed Command|SetFixed]][ <Object>, <True | False> ]
* ShowLabel[ <Object>, <True | False> ]
+
* [[ShowLabel Command|ShowLabel]][ <Object>, <True | False> ]
* Rename[ <Object>, <Name> ]
+
* [[Rename Command|Rename]][ <Object>, <Name> ]
* FillRow[ <Row>, <List> ]
+
* [[FillRow Command|FillRow]][ <Row>, <List> ]
* FillColumn[ <Column>, <List> ]
+
* [[FillColumn Command|FillColumn]][ <Column>, <List> ]
* FillCells[ <CellRange>, <Object> ]
+
* [[FillCells Command|FillCells]][ <CellRange>, <Object> ]
 
   eg FillCells[A1:B20, loc1] to get the coordinates of a locus into the spreadsheet
 
   eg FillCells[A1:B20, loc1] to get the coordinates of a locus into the spreadsheet
 
   eg FillCells[A1:B20, 3] to copy '3' into multiple cells
 
   eg FillCells[A1:B20, 3] to copy '3' into multiple cells
   eg FillCells[A1:B2, {{1,2},{3,4}}] to copy a matrix into the spreadsheet [UNFINISHED]
+
   eg FillCells[A1:B2, {{1,2},{3,4}}] to copy a matrix into the spreadsheet
* FillCells[ <Start Cell>, <List> ]
+
* [[FillCells Command|FillCells]][ <Start Cell>, <List> ]
* FillCells[ <Start Cell>, <Matrix> ]
+
* [[FillCells Command|FillCells]][ <Start Cell>, <Matrix> ]
* SetActiveView[ <Number 1|2> ]
+
* [[SetActiveView Command|SetActiveView]][ <Number 1|2> ]
 
   Sets the Active View (3 reserved for 3D View in future)
 
   Sets the Active View (3 reserved for 3D View in future)
* ZoomIn[ <Scale Factor> ]
+
* [[ZoomIn Command|ZoomIn]][ <Scale Factor> ]
* ZoomOut[ <Scale Factor> ]
+
* [[ZoomOut Command|ZoomOut]][ <Scale Factor> ]
* ZoomIn[ <Scale Factor>, &lt;Center Point> ]
+
* [[ZoomIn Command|ZoomIn]][ <Scale Factor>, &lt;Center Point> ]
* ZoomOut[ <Scale Factor>, &lt;Center Point> ]
+
* [[ZoomOut Command|ZoomOut]][ <Scale Factor>, &lt;Center Point> ]
* Pan[ <x>, <y> ]
+
* [[Pan Command|Pan]][ <x>, <y> ]
* Cell[ <Column>, <Row> ]
+
* [[Cell Command|Cell]][ <Column>, <Row> ]
* SetCaption[ <Object>, <Text> ]
+
* [[SetCaption Command|SetCaption]][ <Object>, <Text> ]
* SetLabelMode[ <Object>, <Number> ]
+
* [[SetLabelMode Command|SetLabelMode]][ <Object>, <Number> ]
* Slider[ <Min>, <Max>, <Increment>, <Speed>, <Width>, <Is Angle>, <Horizontal>, <Animating>, &lt;Random>]
+
* [[Slider Command|Slider]][ <Min>, <Max>, <Increment>, <Speed>, <Width>, <Is Angle>, <Horizontal>, <Animating>, &lt;Random>]
 
   Only first two arguments are compulsory.
 
   Only first two arguments are compulsory.
* Checkbox[<Caption>, <List of objects to hide>] (both, either or none parameters can be used)
+
* [[Checkbox Command|Checkbox]][ <Caption>, <List of objects to hide>] (both, either or none parameters can be used)
* Textfield[], Textfield[<Linked object>]
+
* [[Textfield[], Textfield Command|Textfield[], Textfield]][ <Linked object>]
* Button[], Button[<Caption>]
+
* [[Button[], Button Command|Button[], Button]][ <Caption>]
* Unique[ <List>]
+
* [[Unique Command|Unique]][ <List>]
 
   Removes duplicates from a list.
 
   Removes duplicates from a list.
  
*Classes[ <List of Data>, <Start>, <Width of Classes> ]
+
*[[Classes Command|Classes]][ <List of Data>, <Start>, <Width of Classes> ]
*Classes[ <List of Data>, <Number of Classes> ]
+
*[[Classes Command|Classes]][ <List of Data>, <Number of Classes> ]
 
   Gives a list of class boundaries.  
 
   Gives a list of class boundaries.  
  
*Frequency[ <List of Raw Data> ]
+
* [[Frequency Command|Frequency]][ <List of Raw Data> ]
*Frequency[ <Cumulative>, <List of Raw Data>]
+
* [[Frequency Command|Frequency]][ <Cumulative>, <List of Raw Data>]
*Frequency[<List of Class Boundaries>, <List of Raw Data>,  ]
+
* [[Frequency Command|Frequency]][ <List of Class Boundaries>, <List of Raw Data>,  ]
*Frequency[ <Cumulative>,<List of Class Boundaries>,<List of Raw Data>]
+
* [[Frequency Command|Frequency]][ <Cumulative>,<List of Class Boundaries>,<List of Raw Data>]
*Frequency[<List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
+
* [[Frequency Command|Frequency]][ <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
*Frequency[ <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
+
* [[Frequency Command|Frequency]][ <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
 
   Gives a list of frequencies.
 
   Gives a list of frequencies.
  
* Fit[ <List of Points>, <Function> ]
+
* [[Fit Command|Fit]][ <List of Points>, <Function> ]
  
* Intersect[ <Function>, <Function> ]
+
* [[Intersect Command|Intersect]][ <Function>, <Function> ]
  
* SetVisibleInView[ <Object>, <View Number 1|2>, <Boolean> ]
+
* [[SetVisibleInView Command|SetVisibleInView]][ <Object>, <View Number 1|2>, <Boolean> ]
  
* ZoomIn[ <Min x>, <Min y>, <Max x>, <Max y> ]
+
* [[ZoomIn Command|ZoomIn]][ <Min x>, <Min y>, <Max x>, <Max y> ]
  
* Corner[ <Graphics View>, <Corner Number> ]
+
* [[Corner Command|Corner]][ <Graphics View>, <Corner Number> ]
  
* Roots[ <Function>, <left-x>, <right-x> ]  
+
* [[Roots Command|Roots]][ <Function>, <left-x>, <right-x> ]  
 
   Calculates the roots for function in the given interval.
 
   Calculates the roots for function in the given interval.
* CompleteSquare[ <Quadratic Function> ]
+
* [[CompleteSquare Command|CompleteSquare]][ <Quadratic Function> ]
  
 
   The following commands draw a function for the respective distributions' pdf / cdf (default: pdf)
 
   The following commands draw a function for the respective distributions' pdf / cdf (default: pdf)
  
* TDistribution[ <Degrees of Freedom>, x ]
+
* [[TDistribution Command|TDistribution]][ <Degrees of Freedom>, x ]
* TDistribution[ <Degrees of Freedom>, x, <Boolean Cumulative>]
+
* [[TDistribution Command|TDistribution]][ <Degrees of Freedom>, x, <Boolean Cumulative>]
* FDistribution[ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, x ]
+
* [[FDistribution Command|FDistribution]][ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, x ]
* FDistribution[ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, x, <Boolean Cumulative> ]
+
* [[FDistribution Command|FDistribution]][ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, x, <Boolean Cumulative> ]
* Gamma[ <Alpha>, <Beta>, x ]
+
* [[Gamma Command|Gamma]][ <Alpha>, <Beta>, x ]
* Gamma[ <Alpha>, <Beta>, x, <Boolean Cumulative> ]
+
* [[Gamma Command|Gamma]][ <Alpha>, <Beta>, x, <Boolean Cumulative> ]
* Cauchy[ <Median>, <Scale>, x ]
+
* [[Erlang Command|Erlang]][ <Shape>, <Rate>, x ]
* Cauchy[ <Median>, <Scale>, x, <Boolean Cumulative> ]
+
* [[Erlang Command|Erlang]][ <Shape>, <Rate>, x, <Boolean Cumulative> ]
* ChiSquared[ <Degrees of Freedom>, x ]
+
* [[Cauchy Command|Cauchy]][ <Median>, <Scale>, x ]
* ChiSquared[ <Degrees of Freedom>, x, <Boolean Cumulative> ]
+
* [[Cauchy Command|Cauchy]][ <Median>, <Scale>, x, <Boolean Cumulative> ]
* Exponential[ <Lambda>, x ]
+
* [[ChiSquared Command|ChiSquared]][ <Degrees of Freedom>, x ]
* Exponential[ <Lambda>, x, <Boolean Cumulative> ]
+
* [[ChiSquared Command|ChiSquared]][ <Degrees of Freedom>, x, <Boolean Cumulative> ]
* Weibull[ <Shape>, <Scale>, x ]
+
* [[Exponential Command|Exponential]][ <Lambda>, x ]
* Weibull[ <Shape>, <Scale>, x, <Boolean Cumulative> ]
+
* [[Exponential Command|Exponential]][ <Lambda>, x, <Boolean Cumulative> ]
* Normal[ <Mean>, <Standard Deviation>, x ]  
+
* [[Weibull Command|Weibull]][ <Shape>, <Scale>, x ]
* Normal[ <Mean>, <Standard Deviation>, x, <Boolean Cumulative>]  
+
* [[Weibull Command|Weibull]][ <Shape>, <Scale>, x, <Boolean Cumulative> ]
* LogNormal[ <Mean>, <Standard Deviation>, x ]
+
* [[Normal Command|Normal]][ <Mean>, <Standard Deviation>, x ]  
* LogNormal[ <Mean>, <Standard Deviation>, x, <Boolean Cumulative>]
+
* [[Normal Command|Normal]][ <Mean>, <Standard Deviation>, x, <Boolean Cumulative>]  
* LogNormal[ <Mean>, <Standard Deviation>, <Variable Value> ]
+
* [[LogNormal Command|LogNormal]][ <Mean>, <Standard Deviation>, x ]
* Uniform[ <Lower Bound>, <Upper Bound>, x ]
+
* [[LogNormal Command|LogNormal]][ <Mean>, <Standard Deviation>, x, <Boolean Cumulative>]
* Uniform[ <Lower Bound>, <Upper Bound>, x, <Boolean Cumulative> ]
+
* [[LogNormal Command|LogNormal]][ <Mean>, <Standard Deviation>, <Variable Value> ]
* Uniform[ <Lower Bound>, <Upper Bound>, <Variable Value> ]
+
* [[Uniform Command|Uniform]][ <Lower Bound>, <Upper Bound>, x ]
* Logistic[ <Mean>, <Scale>, x ]
+
* [[Uniform Command|Uniform]][ <Lower Bound>, <Upper Bound>, x, <Boolean Cumulative> ]
* Logistic[ <Mean>, <Scale>, x, <Boolean Cumulative> ]
+
* [[Uniform Command|Uniform]][ <Lower Bound>, <Upper Bound>, <Variable Value> ]
* Logistic[ <Mean>, <Scale>, <Variable Value> ]
+
* [[Logistic Command|Logistic]][ <Mean>, <Scale>, x ]
* Triangular[ <Lower Bound>, <Upper Bound>, <Mode>, x ]
+
* [[Logistic Command|Logistic]][ <Mean>, <Scale>, x, <Boolean Cumulative> ]
* Triangular[ <Lower Bound>, <Upper Bound>, <Mode>, x, <Boolean Cumulative> ]
+
* [[Logistic Command|Logistic]][ <Mean>, <Scale>, <Variable Value> ]
* Triangular[ <Lower Bound>, <Upper Bound>, <Mode>, <Variable Value> ]
+
* [[Triangular Command|Triangular]][ <Lower Bound>, <Upper Bound>, <Mode>, x ]
 +
* [[Triangular Command|Triangular]][ <Lower Bound>, <Upper Bound>, <Mode>, x, <Boolean Cumulative> ]
 +
* [[Triangular Command|Triangular]][ <Lower Bound>, <Upper Bound>, <Mode>, <Variable Value> ]
  
 
   The following commands draw a Bar Chart for the respective distributions' pdf / cdf (default: pdf)
 
   The following commands draw a Bar Chart for the respective distributions' pdf / cdf (default: pdf)
* Bernoulli[ <Probability>, <Boolean Cumulative> ]
+
* [[Bernoulli Command|Bernoulli]][ <Probability>, <Boolean Cumulative> ]
* Pascal[ <Number of Successes>, <Probability of Success> ]
+
* [[Pascal Command|Pascal]][ <Number of Successes>, <Probability of Success> ]
* Pascal[ <Number of Successes>, <Probability of Success>, <Boolean Cumulative> ]
+
* [[Pascal Command|Pascal]][ <Number of Successes>, <Probability of Success>, <Boolean Cumulative> ]
* Poisson[ <Mean> ]
+
* [[Poisson Command|Poisson]][ <Mean> ]
* Poisson[ <Mean>, <Boolean Cumulative> ]
+
* [[Poisson Command|Poisson]][ <Mean>, <Boolean Cumulative> ]
* Binomial[ <Number of Successes>, <Probability of Success> ]
+
* [[BinomialDist Command|BinomialDist ]][ <Number of Successes>, <Probability of Success> ]
* Binomial[ <Number of Successes>, <Probability of Success>, <Boolean Cumulative> ]
+
* [[BinomialDist Command|BinomialDist ]][ <Number of Successes>, <Probability of Success>, <Boolean Cumulative> ]
* HyperGeometric[ <Population Size>, <Number of Successes>, <Sample Size> ]
+
* [[HyperGeometric Command|HyperGeometric]][ <Population Size>, <Number of Successes>, <Sample Size> ]
* HyperGeometric[ <Population Size>, <Number of Successes>, <Sample Size>, <Boolean Cumulative> ]
+
* [[HyperGeometric Command|HyperGeometric]][ <Population Size>, <Number of Successes>, <Sample Size>, <Boolean Cumulative> ]
* Zipf[ <Number of Elements>, <Exponent> ]
+
* [[Zipf Command|Zipf]][ <Number of Elements>, <Exponent> ]
* Zipf[ <Number of Elements>, <Exponent>, <Boolean Cumulative> ]
+
* [[Zipf Command|Zipf]][ <Number of Elements>, <Exponent>, <Boolean Cumulative> ]
 
 
  
 
=New Keyboard & Mouse Shortcuts=
 
=New Keyboard & Mouse Shortcuts=
Line 790: Line 786:
 
* '''<F1>''' Help / Help on current command
 
* '''<F1>''' Help / Help on current command
 
* '''<Alt>i''' gives the new symbol for sqrt(-1) ί
 
* '''<Alt>i''' gives the new symbol for sqrt(-1) ί
* '''<Alt>u''' (was <Alt>i)
+
* '''<Alt>u''' 8 (was <Alt>i)
 
* '''<Alt>*''' gives ⊗ (Vector Product)
 
* '''<Alt>*''' gives ⊗ (Vector Product)
 
* '''<Alt>-''' now gives a superscript minus (not minus-or-plus)
 
* '''<Alt>-''' now gives a superscript minus (not minus-or-plus)
* <Tab> cycles through matching commands (Input Bar)
+
* '''<Tab>''' cycles through matching commands (Input Bar)
* <Ctrl><Shift>B to export to GeoGebraWeb from GeoGebra 4.0.25.0
+
* '''<Ctrl><Shift>'''B to export to GeoGebraWeb from GeoGebra 4.0.25.0
 +
* '''<Ctrl><Up Arrow>'''Opens the Symbols popup (Input Bar and Input Boxes etc)
  
  
Line 811: Line 808:
 
<br>
 
<br>
 
<br><code> --settingsfile=<File></code>
 
<br><code> --settingsfile=<File></code>
<br><code> --versionCheckAllow=<Setting></code> (since version 4.0.28.0)
+
<br><code> --versionCheckAllow=[on|off|true|false]</code> (since version 4.0.28.0)
  
 
Description of all [[Reference:Command Line Arguments|GeoGebra Command Line Arguments]]
 
Description of all [[Reference:Command Line Arguments|GeoGebra Command Line Arguments]]

Latest revision as of 17:45, 18 November 2014

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

You can install GeoGebra 4 by using our Webstart or Download option.

GeoGebra 4 will not run on Java 1.4.2, so you need to install at least Java 5 from java.com

Compatibility with GeoGebra 3.2

Details about compatibility with GeoGebra 3.2 can be found here: http://wiki.geogebra.org/en/Compatibility

GeoGebraPrim

Our version of GeoGebra for younger students is available here: http://www.geogebra.org/webstart/4.0/GeoGebraPrim.jnlp

* Restricted set of Tools available
* All available Tools visible at once
* Larger Font size
* Larger / Thicker Objects
* Just the Graphics View showing
* Easier to select objects
* Labeling of objects disabled (by default)
* Angles always between 0° and 180° (by default)
* Rounding to nearest whole number (by default)

Tools

New Tools

 Allows a Point to be created in the interior of a Polygon, Circle or Ellipse, or on the perimeter if you click there
 Hold down <Alt> to attach a Point to the interior of a shape (rather than the edge)
Draw a rectangle with the Move Tool first to draw onto a selected region of the Graphics View, or select an existing image first to draw into it. Right-hand mouse button acts as an eraser.

Changed Tools

As well as clicking on an object, then clicking on/to make a vector, you can now just drag an object to translate it (like a "Clone" Tool)

This has been completely rewritten so that dynamic texts are now very easy to make.

Just select the object you want to insert from the "Objects" drop-down menu and it will appear in a rectangle to indicate that it is a dynamic object, not plain text.

If you right-click on the rectangle, you can select "Definition" or "Value" for each dynamic object. There is also now a preview, a Symbol drop-down menu and a row of recently used symbols.

Also, Texts can now be moved by dragging while the Text Tool is selected.

Sliders can now be only moved by dragging while the Slider Tool is selected, or dragging with the right mouse button pressed when the Move Tool is selected.

Checkboxes can now be moved by dragging while the Checkbox Tool is selected.

You can now create a locus from a slider and a dependent point.

New Features

New Object Types

  • Multivariate functions, e.g. f(x, y) = x^2 + y^2
    You can also use them to define single variable functions, e.g. g(x) = f(x, 2) and functions of several variables eg f(a,b,c)=a+b+c
  • PolyLine
 Like a Polygon, but not closed and not filled. See the PolyLine Tool.
 eg 10 = x < 20
 You can use the commands MidPoint, Max, Min on these.

General Features

  • added function log(b, x) for base b
  • Worksheet export: Option to embed the ggb file into the HTML (encoded as Base64, uses the 'ggbBase64' parameter)
  • Export as 'Animated GIF' (animation is controlled using a slider as the "clock")
  • Compass Tool allows selecting a circle first then a center point
  • 'Integer' and 'Random' option for sliders
  • File -> Open Webpage allows loading of ggb files from webpages by pasting a URL from a browser (ending .html or .ggb). Also allows loading of files encoded as a Base 64 or GeoGebra XML string.
  • "Show trimmed intersecting lines" option for intersection points
  • Tooltip options (Object Properties -> Advanced) On, Off, Caption, Next Cell, Automatic (old behaviour: only when Algebra View is open)
  • Proper display of formulas and matrices in the spreadsheet
  • When an expression like ab + 1 is entered, if the variable ab is undefined then it is automatically created as ab = a * b if a and b are Numbers, or ab = Distance[a,b] if a and b are Points.
  • FormulaText]][ <Matrix> ], FormulaText]][ <Vector> ] now display nicely
  • support for csc(x), sec(x), cot(x), csch(x), sech(x), coth(x) and derivatives
  • Algebra View: you can now shift-click to select multiple objects
  • sqrt(3 + i), cbrt(3 + i), conjugate(3 + i), arg(3 + i)
  • "Import Data" option in the Spreadsheet context menu
  • Windows-style keycodes now work in Text Fields (eg Alt-0176 for °) [not Mac OSX]
  • Support for entering Unicode digits as part of expressions eg Eastern Arabic, Thai

All the number systems detailed here (except Osmanya) are supported: Hindu-Arabic Numeral System

  • Syntax a = a + 1 or A = A + (1, 2) now allowed for free objects (useful in buttons)
  • Percentages now allowed eg a = 3.4%
  • Support for numbers to be displayed using localised digits (currently in Arabic, Tamil, Thai and Malayalam locales)
  • Support for superscript powers with more then one digit, eg y = x²², x⁻¹
  • Alt-minus now gives a superscript minus (not minus-or-plus)
  • In Greek and Arabic, Points are labelled in the local alphabet
  • Snap to grid works when dragging Texts, Images, Polygons, Segments, Vectors etc (uses first point)
  • Polygons can be created from a list of points with Polygon[list].
  • You can now drag the edge of a Polygon
  • Much better looking LaTeX equations and an almost complete implementation of LaTeX now supported (using JLaTeXMath)
  • allow LaTeX captions (surround by $ $ ) (all objects except Checkbox, TextField and Button)
  • Dynamic "snap to object/grid" when drawing a new object.
  • Auto-adjust radius of visible angles
  • Colored bracket-matching in the input bar etc
  • Preview for the Angle, Perpendicular Line, Parallel Line, Angle Bisector, Perpendicular Bisector and Conic Through 5 Points Tools
  • Support for eg sin²(x), sin³(x), sin⁻¹(x) for entering functions
  • Support for eg f(x) = sin²(x) as display eg FormulaText[ sin(x)^2 ]
  • Parametric Curves can now be transformed, eg Reflect[Curve[t^2, t^3, t, -1, 1], yAxis]
  • Hit testing in the Graphics View for Integral, Slope, Boxplot, BarChart, Histogram
  • Option for zero line thickness for Integral, Slope, BarChart, Histogram, Angle
  • Applets now automatically get the keyboard focus
  • Simpler dynamic texts: a"text"b is equivalent to a+"text"+b
  • Help -> About -> Copy to Clipboard copies debugging information to the clipboard.
    This can allow you to recreate your work eg if there is a problem saving
  • Ctrl-Shift-M copies just the <applet> tag to the clipboard ready to paste into MediaWiki, Moodle etc etc
  • Caption options:
    •  %v for value
    •  %n for name
    •  %x for x-coordinate (or x coefficient for the line a x + b y + c = 0)
    •  %y for y-coordinate (or y coefficient for the line a x + b y + c = 0)
    •  %z for the 'c' term for the line a x + b y + c = 0 (also: z-coordinate, ready for a 3D View)
  • Custom Tools can now have angles, integrals, lower/upper sums, histograms, boxplots and barcharts as an output.
  • Custom Tools with Numeric and Angle inputs as first input can be now used by just clicking in the Graphics View to activate the dialog.
  • Tracing for Polygons, Lists and Loci (useful for eg SolveODE[x + y, y² - 1, x(A), y(A), 5, 0.05] )
  • Right-click with multiple objects selected now opens a menu, not Object Properties
  • Popup chooser when multiple objects are clicked removed.
  • Texts created in the Input Bar are now put in the middle of the Graphics View (not at the origin)
  • Texts and Loci now visible in the Algebra View (Auxiliary by default)
  • Option in the Style Bar for the Algebra View to list objects by type
  • Dynamic slider range and increment
  • New Graphic Export options: Transparent PNGs and EMF+
  • New Worksheet Export options: Allow Rescaling, Remove Line Breaks, Use Browser for JavaScript scripts
  • Options to export multiple worksheets to HTML: Single File (Tabs) and Linked Files
  • Dynamic Opacity in Object Properties -> Advanced
  • Dynamic Color options for RGB, HSL, HSV in Object Properties -> Advanced
  • Lines can now behave like functions, eg
 a:y=2x
 a(3)
  • Hold down Alt when drawing a Polygon or PolyLine to get angles that are a multiple of 15°
  • Construction Protocol export to HTML improved (eg included Tool icons)
  • atan2(x,y)
  • "Increasing (Once)" option for animating
  • Lists are now draggable, eg {a, b, Segment[D, F], (-0.22, 1.82)}
  • Function labels drawn nicely for 'Value' and 'Name & Value' (using LaTeX)
  • Interpolation for Images can be turned off (Object Properties > Style)
  • Vector product syntax: u ⊗ v
 (<Alt>* for ⊗ symbol) 
  • When multiple sliders are selected, they can be changed in unison with arrow keys
  • When exactly two sliders are selected, Up/Down changes one slider, Left/Right changes the other
  • Special symbol for sqrt(-1) <Alt>i
  • Construction Protocol HTML is saved with some extra information so it can be reloaded into GeoGebra with File -> Open
  • Gaussian Error Function erf(x)
  • Slider dialog now accepts eg "a=2" in the Name field
  • "Use Java Fonts for LaTeX texts" option added
  • "Reverse Mouse Wheel" option added
  • "Return angle from inverse trig functions" option added
  • Degree symbol automatically inserted in the Rotate Tool's dialog box
  • Select objects with the selection rectangle before selecting the "Copy Visual Style" Tool
  • LaTeX rendering for functions in the Algebra View (option, can be turned off in the style bar)
  • Click-and-hold on a Tool button to show the other Tools available
  • Tools > Manage tools > Open
  • Export to Asymptote
  • "Show Online Help" button on Syntax Error
  • Intervals: "3 < x && x < 5" converted to "3 < x < 5"
  • Intersect[line,polygon]
  • booleans in functions, eg f(x) = x (x == round(x))
  • Intersections and unions of polygons
  • Probability calculator
  • positive-direction-only axes, adjustable axis crossing, polar grid, "On Edge" option
  • Background color for Texts & hatching (at the moment the only way to set this is in the spreadsheet or stylebar)
  • Two Graphics Views
  • Hatching & Image fill for Polygons, Conics, Slope, UpperSum etc
  • <param = "useBrowserForJS" value = "true"/>
  • HTML5 export (Ctrl-Shift-B)
  • Upload to GeoGebra
  • Compound paths, eg Point[{Segment[B, A], Segment[B, C], Segment[B, D], (1,1), Circle[A,B], x y = 1}]
 eg Point[{Segment[D, C], Semicircle[B, C], Segment[B, A], Semicircle[D, A]}]
  • Animation of Points on Paths (eg circles, lines, compound paths)
  • Distance[ <Point>, <Object> ]
  • ClosestPoint[ <Point>, <Object> ]
 These two commands work for Circles, Curves, Lines, Segments, Parabolas, Hyperbolas, Ellipses, Implicit Curves & Loci. For functions they work on vertical distance. Also Distance[ <Point>, <Segment> ] now works properly.
  • Preview for LaTeX texts in the Text Dialog
  • New editor for texts & scripts with syntax coloring and bracket matching
  • Added the Gaussian Error Function erf(x)
  • Loci can now be filled / hatched
  • <Ctrl><Shift>B to export to HTML5 from GeoGebra 4.0.25.0

Inequalities

  • Inverse Filling option
  • Conics supported, eg x² + y² < 25
  • Functions supported, eg y < sin(x)
  • Inverse functions supported, eg x<sin(y)+y

New Spreadsheet Features

  • Data Analysis dialog
  • Trace to Spreadsheet dialog
  • Create table
  • Import data file

Scripting

All GeoGebra objects can now have a script associated with them. This can be a list of GeoGebra commands and/or some JavaScript. So for example an image or a circle can now act as a button.

The new Button and TextField objects have been specifically designed to support scripts. When you type some text into a textfield and press <Enter>, the text is passed to a script as %0, so you can have commands such as:
text = "%0"
Text[%0,(3,4)]

The text is also passed to JavaScript as a variable 'arg' allowing commands such as:
ggbApplet.evalCommand('input="' + arg + '"');

GeoGebra now has a built-in JavaScript interpreter. When exporting to a dynamic worksheet, the JavaScript for each button is exported to a separate function in the HTML file and the browser is used to run the JavaScript.

The Global JavaScript is available to all functions, and is also exported to the HTML file.

Extra supported commands:

* alert("hello");
* prompt("What's your favorite software","GeoGebra");

List Operations

<Object> ∈ <List> is an element of

<List> ⊆ <List> is subset of

<List> ⊂ <List> is subset of (strict)

<List> \ <List> set difference

Virtual Keyboard

View the new on-screen keyboard by going to View -> Show Keyboard

It will be transparent if you are running Java 1.6.0_10 or higher on a supported Operating System / Graphics Card (Go to Help -> About to check)

  • Keyboards for Math, Greek, Hebrew, Arabic, Korean, Hindi, French, German, Swedish, Norwegian, Malayalam, Czech, Croatian, Hungarian, Persian, Spanish and English (US and UK) including all accents etc
  • Supports entering Windows-style alt keycodes, eg <Alt>0176
  • Supports different keyboard layouts according to locale
  • Works in all applications, not just GeoGebra
  • Window can be resized
  • AltGr shows accents on the bottom row in all languages. Supported accents: acute, grave, circumflex, cedilla, umlaut, caron, tilde, breve, dot above, ogonek, ring above, double acute, solidus, dialytika tonos

Commands

Improved Commands

 FormulaText[If[x < 3, x, x + 1]
  • Locus <Point Creating Locus Line>, <Slider>]]]
 Makes a locus from a slider and a dependent point
  • Extremum[ <Function>, <Start x-Value>, <End x-Value>]]
 Calculates the extremums of the function between left-x and right-x.
 Function should be continuous in the interval, otherwise false
 extremums near discontinuity might be calculated.
 (previously worked only for polynomials)
  • Intersect[ <Function> , <Function>, <Start x-Value>, <End x-Value> ]]
 eg CountIf[ x == (1,2), {A, B, C} ]
 eg CountIf[ x == "hello", list ]
  • TableText[] or () in the String, horizontal lines by specifying _ and vertical lines by specifying |
 eg TableText[{{1,2},{3,4}},"c()"]
 eg TableText[{{1,2},{3,4}},"c|_"]
 eg TableText[{{1,2},{3,4}},"c||"]
 eg TableText[{{1,2},{3,4}},"c||||"]
 Simplify will now cancel factors from a fraction better, eg Simplify[(x-1)/(x^2-2x+1)]
 Factor has been much improved and gives better answers for simple factoring and also now
 copes with much harder problems eg Factor[ x^33 - 1 ]
Returns vertices of polygon
  • Integral[ <Function>, <Start x-Value>, <End x-Value>, <Boolean Evaluate> ]]
  • IntegralBetween[ <Function>, <Function>, <Start x-Value>, <End x-Value> ]]
  • IntegralBetween[ <Function>, <Function>, <Start x-Value>, <End x-Value>, <Boolean Evaluate> ]]
  Integrals can be shaded but not computed when Evaluate = false
  • Product[ <List>,<Max Index>]] (similar to Sum[<List>, <Max Index>]])
  • Histogram[ <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]]
  • Histogram[ <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]]
 New options for cumulative histograms and density scaling.  
 If Use Density = true histogram bar heights follow the rule: 
       height = (scaling factor * frequency) / class width 
 If a scaling factor is not specified the default is one. 
 When Use Density = false  no density scaling is performed 
 and histogram bar heights equal frequency values.

New Commands

  • Zip[ <Expression>,,<list 1>, ...] -- e.g. Zip[Midpoint[A,B],A,list1,B,list2] is shortcut for Sequence[Midpoint[list1(k),list2(k)],k,1,Min[Length[list1],Length[list2 Command|Zip]]]][ <Expression>,,<list 1>, ...] -- e.g. Zip[Midpoint[A,B],A,list1,B,list2] is shortcut for Sequence[Midpoint[list1(k),list2(k)],k,1,Min[Length[list1],Length[list2]]
  • StemPlot]][ <List> ]
  • StemPlot]][ <List>, <Adjustment -1|0|1> ]
  • PlaySound[ <Note>, <Duration>, <Length>]
  • PlaySound[ <Note Sequence>, <Instrument> ]
  • PlaySound[ <File> ]
  • Shear[ <Object< ,<Line>, <Ratio> ]
  • Stretch[ <Object, <Line> ,<Ratio> ]
  • SolveODE[ <f(x,y)>, <Start x>, <Start y>, <End x>, <Step> ]
  • SolveODE[ <f(x,y)>, <g(x,y)>, <Start x>, <Start y>, <End t>, <Step> ]
  • SolveODE[ <b(x)>, <c(x)>, <f(x)>, <Start x>, <Start y>, <Start y'>, <End x>, <Step> ]
 also see FillCells[ ], First]][ <Locus>, <Number> ] and Length]][ <Locus> ] commands
 Number of points in the list must be 9, 14, 20, 26, 33, etc

Implicit curves created this way can be transformed with: Translate, Rotate, Dilate (Enlarge), Reflect (in point or line)

 Creates an Identity matrix of the specified order
  • FormulaText[ <Object>, <Boolean for Substitution of Variables>, <Boolean Show Name> ]
  • [[Command|GetTime[]
 Returns a list such as {647, 59, 39, 23, 28, 2, 2011, "February", "Monday", 2}
 ie the current date and time in this order:
 milliseconds, seconds, minutes, hours (0 - 23), date, month (1-12), year, month (as text), day (as text), day (1 = Sunday, 2 = Monday etc)
  • Min[ <Function>, <Start x-Value>, <End x-Value> ]
 Calculates the minimum point for function in the given interval.
 Function should only have one minimum point in the interval.
  • [[Command|Max <Function>, <Start x-Value>, <End x-Value> ]

Calculates the maximum point for function in the given interval. Function should only have on maximum point in the interval.

  • Maximize[ <Number dependent>, <Number independent> ]

Calculates the independent number which gives the maximal value of the dependent number. The independent number must be a slider and the slider interval will be used as the search interval. If the construction is complicated, this command might fail or quit to avoid using too much processor time.

  • Minimize[ <Number dependent>, <Number independent> ]

Calculates the independent number which gives the minimal value of the dependent number. The independent number must be a slider and the slider interval will be used as the search interval. If the construction is complicated, this command might fail or quit to avoid using too much processor time.

  • LeftSum[ <Function>, <Start x-Value>, <End x-Value>, <Number of Rectangles> ]
 Calculates the left sum of the function on the interval [a, b] using n rectangles.
 Note: This command draws the rectangles of the left sum as well.
  • RectangleSum[ <Function>, <Start x-Value>, <End x-Value>, <Number of Rectangles>, <Position for rectangle start> ]
 Calculates the sum of rectangles with left height starting at a
 fraction d of each interval using n rectangles. (0<=d<=1).
 When d=0 this is equivalent to the LowerSum[] command and when d=1 the UpperSum[] command.
 Note: This command draws the rectangles of the sum as well.
 turns a number into an ordinal (as a text)
 eg Ordinal[5] gives "5th" in English
 eg turns a Point on Circle into a slider
  • Point[ <Object>, <Parameter> ]
 eg Point[c, a] (for a circle c and slider a)
 Returns a list of prime factors (works for numbers up to 9 007 199 254 740 992)
 eg PrimeFactors[1] returns {}
 eg PrimeFactors[23] returns {23}
 eg PrimeFactors[24] returns {2, 2, 2, 3}
Returns list of points (prime,exponent). E.g. Factors[3072] returns {(2,10),(3,1)}
  • IndexOf[ <Object>, <List> ]
  • IndexOf[ <Object>, <List>, <Start Index> ]
  • IndexOf[ <Text>, <Text> ]
  • IndexOf[ <Text>, <Text>, <Start Index> ]
  • StemPlot[ <List> ] (UK: StemAndLeaf[ <List> ]
  • StemPlot[ <List> , <Adjustment -1|0|1> ] (UK: StemAndLeaf[ <List> , <Adjustment -1|0|1> ] )
  • ResidualPlot[ <List of Points>, <Function>]
  • DotPlot[ <List of Numbers>]
  • FrequencyPolygon[ <List of Class Boundaries>, <List of Heights> ]
  • FrequencyPolygon[ <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
  • FrequencyPolygon[ <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
  • Hull[ <List of Points> ,<Percentage> ]
 Produces a "Characteristic Hull" as described here: http://www.geosensor.net/papers/duckham08.PR.pdf
 When the percentage is 1, the Convex Hull is produced. As the percentage is decreased, the area of the hull decreases.
 Draws a Voronoi Diagram 
 Useful for ShortestDistance[ ]
 These two commands return the index / element of a Visible List (ie Combobox) that has been selected by the user.
 Note that these are currently available only in the Spreadsheet (when the "Use Buttons and Checkboxes" option is enabled).

Copies the icon for the selected Tool into the Graphics View. The numbers for each Tool are detailed here: http://www.geogebra.org/trac/browser/trunk/geogebra/geogebra/euclidian/EuclidianConstants.java

  • Sample[ <List>, <Size> ]
  • Sample[ <List>, <Size>, <With Replacement> ]
 Makes a rigid polygon. Dragging the polygon translates it, dragging the second point rotates it.
 Attempts to tidy up text expressions by removing repeated negatives etc eg Simplify["f(x) = "+a+"x²+"+b+"x+"+c]
 Note that FormulaText[f] normally produces better results and is simpler
 Sets the state of a boolean / CheckBox
 1 = true, 0 = false
 Sets the selected element of a Visible List (Combobox)
 Useful in Scripting eg SetValue[a, b]
 Useful in Scripting eg SetValue[list1, RandomBetween[1,3], RandomBetween[1,10]]
 Useful in Scripting. Updates all random numbers (like Ctrl-R)

Executes list of commands, e.g. Execute[Join[{"f_{1}=1","f_{2}=1"},Sequence["f_{"+(i+2)+"}=f_{"+(i+1)+"}+f_{"+i+"}",i,1,10]]].

  • Execute[ <List of strings>,<Parameter %0>,....,<Parameter %9>]

Replaces %x for parameter %x. Executes list of resulting commands, e.g. Execute[{"Midpoint[%0,%1]"},A,B}].

 Calculates the Sample Standard Devation
  • SampleSDX[ <List of Points> ], SampleSDY Command|SampleSDX]][ <List of Points> ], SampleSDY]][ <List of Points> ]
 Calculate the Sample Standard Devation of one coordinate
  • SDX[ <List of Points> ], SDY Command|SDX]][ <List of Points> ], SDY]][ <List of Points> ]
 Calculate the Standard Devation of one coordinate
 Calculates the Sample Variance
Calculates Spearman's Correlation Coefficient
 eg Point[ {1, 2} ]
 eg Point[ { {1, 2}, {3, 4} } ]
 eg PointList[ { {1, 2}, {3 ,4}} ] 
 eg RootList[ {1, 2, 3} ]
 eg ParseToNumber[a,"%0"] in a GeoGebra Script
 eg ParseToFunction[f,"%0"] in a GeoGebra Script
Fits a function of the form a*b^x to the points in the list.
(Just like FitExp[], but to avoid the number e, as e is unknown to some pupils
 even if they know the exponential growth function.)
  • Fit[ <List of Points>,<List of Functions>]
Fits a linear combination of functions to the points in the list.
For example, with Points A, B, C, ...
  L={A, B, C, ...}, f(x)=1, g(x)=x, h(x)=e^x, F={f,g,h}
the command
  Fit{L,F}
gives a minimum squared errors curve fitting fit(x) = a + b x + c e^x
 Calculates the sum of squared errors, SSE, between the y-values
 of the points in the list and the function values of the
 x-values in the list.
 If we have some points in a list: L={A,B,C,D,E}
 and have done for example:
 f(x)=RegPoly[L,1] and g(x)=RegPoly[L,2]
 then we can decide the best fit, in the sense of the least sum of squared errors
 (Gauss), by comparing:
 sse_f=SumSquaredErrors[L,f] and sse_g=SumSquaredErrors[L,g].
  • RSquare[ <List of Points>, <Function> ]

returns a list with the coefficients of: x², y², 1, xy, x, y

 See SolveODE[ ]
  • Take[ <Text>, <Start>, <End> ]
  • First[ <Text>, <Number>]
  • First[ <Locus>, <Number>]
 See SolveODE[ ]
  • First[ <Text>]
  • Last[ <Text>, <Number>]
  • Last[ <Text>]
  • Text[ <Object>, <Point>, <Boolean for Substitution of Variables>, <Boolean for LaTeX formula> ]
  • Reflect[ <Circle>, <Object> ]
 Inverts object in circle
 A=Point[xAxis]
 B=Point[xAxis]
 DynamicCoordinates[B, Min[x(B),x(A)],0]
 SetVisibleInView[B, 1, false]
 SetLayer[C, 1]
 Now, C cannot be moved to the right of A
 A=(1,2)
 SetVisibleInView[A, 1, false]
 B=DynamicCoordinates[A, If[x(A) > 3, 3, If[x(A) < -(3), -3, If[x(A) < 0, round(x(A)), x(A)]]], If[x(A) < 0, 0.5, If[y(A) > 2, 2, If[y(A) < 0, 0, y(A)]]]]
 A=(1,2)
 B=(2,3)
 Hide B
 C=DynamicCoordinates[B, If[Distance[A, B] < 1, x(A), x(B)], If[Distance[A, B] < 1, y(A), y(B)]]
 makes A a sticky point when C is dragged near it 
  • TDistribution[ <Degrees of Freedom>, <Variable Value> ]
  • InverseTDistribution[ <Degrees of Freedom>, <Probability> ]
  • FDistribution[ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, <Variable Value> ]
  • InverseFDistribution[ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, <Probability> ]
  • Gamma[ <Alpha>, <Beta>, <Variable Value> ]
  • Erlang[ <Shape>, <Rate>, <Variable Value> ]
  • InverseGamma[ <Alpha>, <Beta>, <Probability> ]
  • Cauchy[ <Median>, <Scale>, <Variable Value> ]
  • InverseCauchy[ <Median>, <Scale>, <Probability> ]
  • ChiSquared[ <Degrees of Freedom>, <Variable Value> ]
  • InverseChiSquared[ <Degrees of Freedom>, <Probability> ]
  • Exponential[ <Mean>, <Variable Value>]
  • InverseExponential[ <Mean>, <Probability> ]
  • Weibull[ <Shape>, <Scale>, <Variable Value> ]
  • InverseWeibull[ <Shape>, <Scale>, <Probability> ]
  • BinomialDist[ <Number of Successes>, <Probability of Success>, <Variable Value>, <Boolean Cumulative> ]
  • InverseBinomial[ <Number of Successes>, <Probability of Success>, <Probability> ]
  • Pascal[ <Number of Successes>, <Probability of Success>, <Variable Value> , <Boolean Cumulative> ]
  • InversePascal[ <Number of Successes>, <Probability of Success>, <Probability> ]
  • Poisson[ <Number of Successes>, <Probability of Success>, <Variable Value> , <Boolean Cumulative> ]
  • InversePoisson[ <Number of Successes>, <Probability of Success>, <Probability> ]
  • HyperGeometric[ <Population Size>, <Number of Successes>, <Sample Size>, <Variable Value> , <Boolean Cumulative> ]
  • InverseHyperGeometric[ <Population Size>, <Number of Successes>, <Sample Size>, <Probability> ]
  • Zipf[ <Number of Elements>, <Exponent>, <Variable Value> , <Boolean Cumulative> ]
  • InverseZipf[ <Number of Elements>, <Exponent>, <Probability> ]

clears selection

 eg FillCells[A1:B20, loc1] to get the coordinates of a locus into the spreadsheet
 eg FillCells[A1:B20, 3] to copy '3' into multiple cells
 eg FillCells[A1:B2, {{1,2},{3,4}}] to copy a matrix into the spreadsheet
 Sets the Active View (3 reserved for 3D View in future)
  • ZoomIn[ <Scale Factor> ]
  • ZoomOut[ <Scale Factor> ]
  • ZoomIn[ <Scale Factor>, <Center Point> ]
  • ZoomOut[ <Scale Factor>, <Center Point> ]
  • Pan[ <x>, <y> ]
  • Cell[ <Column>, <Row> ]
  • SetCaption[ <Object>, <Text> ]
  • SetLabelMode[ <Object>, <Number> ]
  • Slider[ <Min>, <Max>, <Increment>, <Speed>, <Width>, <Is Angle>, <Horizontal>, <Animating>, <Random>]
 Only first two arguments are compulsory.
  • Checkbox[ , <List of objects to hide>] (both, either or none parameters can be used)
  • [[Textfield[], Textfield Command|Textfield[], Textfield]][ <Linked object>]
  • [[Button[], Button Command|Button[], Button]][ <Caption>]
  • Unique[ <List>]
 Removes duplicates from a list.
  • Classes[ <List of Data>, <Start>, <Width of Classes> ]
  • Classes[ <List of Data>, <Number of Classes> ]
 Gives a list of class boundaries. 
  • Frequency[ <List of Raw Data> ]
  • Frequency[ <Cumulative>, <List of Raw Data>]
  • Frequency[ <List of Class Boundaries>, <List of Raw Data>, ]
  • Frequency[ <Cumulative>,<List of Class Boundaries>,<List of Raw Data>]
  • Frequency[ <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
  • Frequency[ <Boolean Cumulative>, <List of Class Boundaries>, <List of Raw Data>, <Use Density> , <Density Scale Factor> (optional) ]
 Gives a list of frequencies.
  • Fit[ <List of Points>, <Function> ]
  • ZoomIn[ <Min x>, <Min y>, <Max x>, <Max y> ]
  • Corner[ <Graphics View>, <Corner Number> ]
  • Roots[ <Function>, <left-x>, <right-x> ]
 Calculates the roots for function in the given interval.
 The following commands draw a function for the respective distributions' pdf / cdf (default: pdf)
  • TDistribution[ <Degrees of Freedom>, x ]
  • TDistribution[ <Degrees of Freedom>, x, <Boolean Cumulative>]
  • FDistribution[ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, x ]
  • FDistribution[ <Numerator Degrees of Freedom>, <Denominator Degrees of Freedom>, x, <Boolean Cumulative> ]
  • Gamma[ <Alpha>, <Beta>, x ]
  • Gamma[ <Alpha>, <Beta>, x, <Boolean Cumulative> ]
  • Erlang[ <Shape>, <Rate>, x ]
  • Erlang[ <Shape>, <Rate>, x, <Boolean Cumulative> ]
  • Cauchy[ <Median>, <Scale>, x ]
  • Cauchy[ <Median>, <Scale>, x, <Boolean Cumulative> ]
  • ChiSquared[ <Degrees of Freedom>, x ]
  • ChiSquared[ <Degrees of Freedom>, x, <Boolean Cumulative> ]
  • Exponential[ <Lambda>, x ]
  • Exponential[ <Lambda>, x, <Boolean Cumulative> ]
  • Weibull[ <Shape>, <Scale>, x ]
  • Weibull[ <Shape>, <Scale>, x, <Boolean Cumulative> ]
  • Normal[ <Mean>, <Standard Deviation>, x ]
  • Normal[ <Mean>, <Standard Deviation>, x, <Boolean Cumulative>]
  • LogNormal[ <Mean>, <Standard Deviation>, x ]
  • LogNormal[ <Mean>, <Standard Deviation>, x, <Boolean Cumulative>]
  • LogNormal[ <Mean>, <Standard Deviation>, <Variable Value> ]
  • Uniform[ <Lower Bound>, <Upper Bound>, x ]
  • Uniform[ <Lower Bound>, <Upper Bound>, x, <Boolean Cumulative> ]
  • Uniform[ <Lower Bound>, <Upper Bound>, <Variable Value> ]
  • Logistic[ <Mean>, <Scale>, x ]
  • Logistic[ <Mean>, <Scale>, x, <Boolean Cumulative> ]
  • Logistic[ <Mean>, <Scale>, <Variable Value> ]
  • Triangular[ <Lower Bound>, <Upper Bound>, <Mode>, x ]
  • Triangular[ <Lower Bound>, <Upper Bound>, <Mode>, x, <Boolean Cumulative> ]
  • Triangular[ <Lower Bound>, <Upper Bound>, <Mode>, <Variable Value> ]
 The following commands draw a Bar Chart for the respective distributions' pdf / cdf (default: pdf)
  • Bernoulli[ <Probability>, <Boolean Cumulative> ]
  • Pascal[ <Number of Successes>, <Probability of Success> ]
  • Pascal[ <Number of Successes>, <Probability of Success>, <Boolean Cumulative> ]
  • Poisson[ <Mean> ]
  • Poisson[ <Mean>, <Boolean Cumulative> ]
  • BinomialDist [ <Number of Successes>, <Probability of Success> ]
  • BinomialDist [ <Number of Successes>, <Probability of Success>, <Boolean Cumulative> ]
  • HyperGeometric[ <Population Size>, <Number of Successes>, <Sample Size> ]
  • HyperGeometric[ <Population Size>, <Number of Successes>, <Sample Size>, <Boolean Cumulative> ]
  • Zipf[ <Number of Elements>, <Exponent> ]
  • Zipf[ <Number of Elements>, <Exponent>, <Boolean Cumulative> ]

New Keyboard & Mouse Shortcuts

  • <Ctrl>H Show / Hide Objects (not MacOS)
  • <Ctrl><Shift>H Show / Hide Labels (not MacOS)
  • <Ctrl>G Show / Hide Objects
  • <Ctrl><Shift>G Show / Hide Labels
  • <Ctrl>I Invert Selection
  • <Tab> Select next object (alphabetic / spreadsheet order, not objects with "Allow Selection" unchecked)
  • <Shift><Tab> Select previous object (alphabetic / spreadsheet order, not objects with "Allow Selection" unchecked)
  • <Ctrl><Tab> toggles focus between Graphics View and the Spreadsheet
  • <Page Up> increases layer of the selected objects
  • <Page Down> decreases layer of the selected objects
  • The Following work (together with Alt, Shift, Ctrl modifiers) to pan the Graphics View when no objects are selected:
    • <Page Up> Go up one screen's worth
    • <Page Down> Go down one screen's worth
    • <Insert> Go left one screen's worth
    • <Home> Go right one screen's worth
    • Left arrow Go left 1% of the screen's width
    • Right arrow Go right 1% of the screen's width
    • Up arrow Go up 1% of the screen's height
    • Down arrow Go down 1% of the screen's height
  • <Ctrl>M Revert to standard view in the Graphics View
  • <Ctrl><Shift>M Share
  • Menu button (on keyboard) opens Graphics View menu / Object Properties dialog
  • Spacebar Toggle checkbox (if selected)
  • Spacebar run scripts (if selected) eg for a Button
  • <Ctrl><Shift>N Select next window (or load next file in folder if just one file loaded)
  • <Ctrl><Alt><Shift>N Select last window
  • <Home> go to start of row (in spreadsheet)
  • <Ctrl><Home> go to cell A1 (in spreadsheet)
  • <Ctrl><Shift>K Show/Hide CAS View
  • <Ctrl><Shift>L Show/Hide Construction Protocol
  • <Ctrl><Shift>1 Show/Hide Graphics View
  • <Ctrl><Shift>2 Show/Hide Graphics View 2
  • <Ctrl><Shift>3 Reserved (for 3D View in future)
  • <Ctrl><Shift>Z Redo
  • <Ctrl>UpArrow (in Text Field) Open symbol table
  • Click and drag middle button (scroll wheel) to pan view or rescale the axes
  • <F1> Help / Help on current command
  • <Alt>i gives the new symbol for sqrt(-1) ί
  • <Alt>u 8 (was <Alt>i)
  • <Alt>* gives ⊗ (Vector Product)
  • <Alt>- now gives a superscript minus (not minus-or-plus)
  • <Tab> cycles through matching commands (Input Bar)
  • <Ctrl><Shift>B to export to GeoGebraWeb from GeoGebra 4.0.25.0
  • <Ctrl><Up Arrow>Opens the Symbols popup (Input Bar and Input Boxes etc)


Description of all Keyboard Shortcuts

New Applet Parameters

  • allowStyleBar, default false
  • useBrowserForJS, default true

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 -Xmx512m -jar geogebra.jar --settingsfile=geogebra.properties

--settingsfile=<File>
--versionCheckAllow=[on|off|true|false] (since version 4.0.28.0)

Description of all GeoGebra Command Line Arguments

New JavaScript commands

  • String getPNGBase64(double exportScale, boolean transparent, double DPI)
    eg var str = ggbApplet.getPNGBase64(1, true, 72);
  • boolean writePNGtoFile(String filename, double exportScale, boolean transparent, double DPI)
    signed applets only
    eg var success = ggbApplet.writePNGtoFile("c:\\test.png", 1, false, 300);
  • boolean isIndependent(String objName) (checks if object is independent)
  • boolean isMoveable(String objName) (checks if object is moveable)
  • getBase64()
  • setBase64(String)

Description of all GeoGebra JavaScript Methods

GeoGebra's XML File Format

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

License

You are free to copy, distribute and transmit GeoGebra for non-commercial purposes. Please see the GeoGebra license for details: http://www.geogebra.org/download/license.txt


es:Notas Lanzamiento de GeoGebra 4.0 it:Note di versione di GeoGebra 4.0

© 2020 International GeoGebra Institute