Release Notes GeoGebra Pre-Release
From GeoGebraWiki
GeoGebra 3.1.50.0 development release October 5th 2008
Welcome to the next public preview of GeoGebra 3.2!
You can download this version here: http://www.geogebra.org/webstart/dev/unpacked/
or use this link for the WebStart version: [1]
GeoGebra 3.2 will be the next stable release of GeoGebra (after 3.0). The development versions will be called 3.1.x.y
Most of the new features should remain unchanged but we may, for instance, change some of the new command names.
All the new features need some more testing - please report bugs in the Pre-Release forum
(comments and suggestions also welcome, as always)
Thank you in advance for your time,
The GeoGebra Team.
Bugs fixed since 3.1.0.0
- cbrt()
- Dynamic Color, red=1.0 was the same as red=0.0
- Tools menu reinstated
- <list> * <list>
- Dynamic color formulas preserved over a redefine
- "Condition to show object" preserved over a redefine
- bug in FunctionVariable which meant many functions were incorrect eg y=x sin(x)
- dynamic colors were causing problems with redefining
- Layer preserved over a redefine
- bug loading applets with LaTeX equations
- unicode symbols and % in LaTeX formulae
- bug exporting PDF/EMF containing LaTeX equation
- text + list (eg {1,2,3} + "")
- algebra view disappearing on file load
- algebra view and Euclidian view the wrong way round when split horizontally
- (FreeHEP) exporting SVG in some locales in some months (accented letters)
- problem with LaTeX font sizes
- Binomial[0,0]
- problems with Turkish Locale
- reflecting a Ray
- Mod[-3,26]
- Sequence[x^i, i, 0, 3, 0.2]
- MacOS Cmd-C in input bar
New Tools
- Compass (Segment or two points for radius, then center point)
- Mirror point at circle
- Ellipse by three points (two foci and a point on it)
- Hyperbola by three points (two foci and a point on it)
- Parabola by focus and directrix
New Features
- Captions enabled for all objects
- New option "Force Reflex Angle" forces angles to be between 180 and 360 degrees
- For two points A and B, A/B does complex divison (in 3.0, undocumented)
- Dynamic Worksheets now exported as W3C validated XHTML
- Pressing <Enter> toggles the focus between the Input Bar and the Drawing Pad
- Improvements to the way translation works
- Dynamic colors (Properties -> Advanced tab). Set a function with range [0,1] for each color component (red, green, blue)
- Option for the grid to be bold
- Thumbnail saved in GGB files. (Now we need some volunteers to write a shell plugin for Windows Explorer and the equivalent for MacOS and Linux :)
- Worksheets resized if they were saved on a larger screen
- Isometric grid
- Comparing objects of different types doesn't return an error, can now compare Text and Image objects
- If the Points Export_1 and Export_2 exist, they will be used to define the export rectangle
(Export_1 and Export_2 must be within the visible area)
- Checkbox now consistent across all platforms
- Options->Checkbox Size-> Regular/Large
- Perpendicular check added to "Relation between two objects" Tool
- Messages from "Relation between two objects" Tool rewritten
- Angular Bisector Command and Tool renamed to Angle Bisector
- Line Bisector Command and Tool renamed to Perpendicular Bisector
- BMP import (Java 1.5+)
- Unicode fonts used in LaTeX equations
- LaTeX equations exported at full resolution
- in SVG and PDF export, option to export text as editable text or shapes
- support for inline equations and linefeeds in LaTeX eg "if x=9 find $ \sqrt{ x } $"
- Angle entered in rotate dialog box is remembered (if it is in degrees)
- Show All Objects in Drawing Pad menu
- Option for up to 15 decimal places
- x^7, x^8, x^9 now displayed nicely
- PGF/TikZ export
- added degree symbol to axes units
- new command-line parameter: --antiAliasing=off
- GeoGebra now creates a subfolder to store temporary files
- defines e to be the Euler number when used in expressions (unless it has already been defined to something else)
- templates for 2x2 and 3x3 matrix in LaTeX drop-down menu
- Option to display numbers as Significant Figures (3,5,10,15)
- New options Edit -> Select Descendents/Select Ancestors
- Double-click on an object in the Drawing Pad opens the redefine dialog, which now has a button to open the Properties dialog as well as 'OK' and 'Apply' buttons
- Input Field renamed to Input Bar
- Algorithm to decide which point to select added (rather than popping up a menu)
Spreadsheet
- Record to spreadsheet Tool (for Vectors, Points and Numbers)
- Right-click on a Point in the Drawing Pad -> Trace to spreadsheet option
Layers
- Layers (advanced tab) - higher numbered layers are drawn on top of lower numbered layers
- Layers are used to determine which object to select/drag when the user clicks on multiple objects
- Objects are grouped by layer for SVG export.
- Edit -> Select Current Layer (Ctrl-L) added (available only when objects of a single layer are selected)
- JavaScript control of layers - see below
Clipboard Enhancements
- Image Tool - alt-click now pastes a bitmap from the clipboard
- "Clipboard" button added to "Export->Drawing Pad as Picture" dialog, and "Export" button renamed to "Save"
- Edit->Drawing Pad to Clipboard added (also in File->Export submenu as before)
Complex Numbers
GeoGebra now has support for complex numbers. Points/Vectors are used to represent complex numbers, so (3,4) represents 3 + 4i
There is an option to display Points/Vectors as Complex Numbers in the algebra window.
If the variable "i" has not already been defined, it is recognised as the coordinates (0,1) ie the complex number 0 + 1i ie you can type complex numbers into the input bar eg q = 3 + 4i
Addition, subtraction are just the same as for points:
(2,1) + (1,-2) = (3,-1)
(2,1) - (1,-2) = (1,3)
Complex multiplication is done using a "circled times" symbol, available in the drop-down menu:
(2,1) ? (1,-2) = (0,1)
Complex division is done using the usual "/" operator.
(2,1) / (1,-2) = (0,1)
GeoGebra also recognises expressions involving real and complex numbers:
3 + (4,5) = (7,5)
3 - (4,5) = (-1,-5)
3 / (0,1) = (0,-3)
3 ? (1,2) = (3,6)
Matrix operations
GeoGebra now has support for matrices.
[1 2 3]
[4 5 6] is represented in GeoGebra as { {1,4,7}, {2,5,8}, {3,6,9} }
[7 8 9]
Permitted operatons:
Matrix * Number
Matrix * Matrix
Matrix + Matrix
Matrix - Matrix
{{1,3,5},{2,4,6}}*{{11,14},{12,15},{13,16}}
2x2 Matrix * Point (or Vector)
{{1,2}, {3,4}} * (3,4)
3x3 Matrix * Point (or Vector)
{{1,2,0}, {3,4,0}, {5,6,1} } * (3,4)
This is a special case for affine transformations. A dummy z-coordinate of 1 in used for the point. So the example in fact does this: {{1,2,0}, {3,4,0}, {5,6,1} } * { {3,4,1} } and discards the resulting z-coordinate (which is 1)
List operations
You can now compare two lists:
<list> == <list>
<list> != <list>
You can now perform arithmetic operations on lists:
<list> + <list>
<list> + <number>
<list> - <list>
<list> - <number>
<list> * <list>
<list> * <number>
<list> / <list>
<list> / <number>
<number> / <list>
<list> ^2
sin( <list> )
etc
New Commands
- LCM[a,b]
- LCM[<list>]
Lowest common multiple
- GCD[a,b]
- GCD[ <list> ]
Greatest common divisor (UK_English HCF Highest common factor)
- Sort[ <list> ]
Sorts a list of numbers or text objects
eg Sort[{3,2,1}], Sort[{"pears","apples","figs"}]
- Reverse[ <list> ]
Reverses the order of a list
- First[ <list> ,n]
Returns a list containing just the first n elements of the list.
- Last[ <list> ,n]
Returns a list containing just the last n elements of the list.
- Take[ <list> ,m,n]
Returns a list containing the elements from m to n of the list.
- Append[ <list>, <object> ]
- Append[ <object>, <list> ]
- Insert[ <list>, <list>, <position>]
- Join[ <list>, <list>]
- Intersection[ <list>, <list>]
- Union[ <list>, <list>]
- Clean[ <list> ]
Removes undefined objects from a list
- Defined[ <Object> ]
Returns true or false depending on whether an object is defined or not.
- Sum[ <list> ]
- Sum[ <list> ,n]
Works for numbers or functions
eg Sum[{1,2,3}]
eg Sum[{x^2,x^3}]
eg Sum[Sequence[i,i,1,100]]
eg Sum[Sequence[1 / (2 k - 1) sin((2 k - 1) x), k, 1, 20]]
- Product[ <list> ]
- Mean[ <list> ]
- Variance[ <list> ]
- SD[ <list> ]
standard deviation
- Median[ <list> ]
- Q1[ <list> ] lower quartile
- Q3[ <list> ] upper quartile
- Mode[ <list> ]
Mode[{1,2,3,4}] returns {}
Mode[{1,1,1,2,3,4}] returns {1}
Mode[{1,1,2,2,3,3,4}] returns {1,2,3}
- MeanX[ <list of points> ]
Mean of the x coordinates
- MeanY[ <list of points> ]
Mean of the y coordinates
- Covariance[ <list of numbers> , <list of numbers> ]
- Covariance[ <list of points> ]
- Sxx[ <list of numbers> , <list of numbers> ]
- Sxx[l <list of points> ]
Calculates the statistic sigma(x^2) - sigma(x)*sigma(x)/n
- Sxy[ <list of numbers> , <list of numbers> ]
- Sxy[ <list of points> ]
Calculates the statistic sigma(xy) - sigma(x)*sigma(y)/n
- Syy[ <list of numbers> , <list of numbers> ]
- Syy[ <list of points> ]
Calculates the statistic sigma(y^2) - sigma(y)*sigma(y)/n
- PMCC[ <list of numbers> , <list of numbers> ]
- PMCC[ <list of points> ]
Product moment correlation coefficient
- SigmaXX[ <list of numbers> ]
- SigmaXX[ <list of numbers> , <list of numbers> ]
- SigmaXX[ <list of points> ]
Sum of squares (of first list, or x coords)
- SigmaYY[ <list of numbers> , <list of numbers> ]
- SigmaYY[ <list of points> ]
Sum of squares (of second list, or y coords)
- SigmaXY[ <list of numbers> , <list of numbers> ]
- SigmaXY[ <list of points> ]
Calculates the sum of (the product of the x and y coordinates).
- FitLine[ <list of points> ]
Calculates the y on x regression line of the points.
- FitLineX[ <list of points> ]
Calculates the x on y regression line of the points.
- FitPoly[ <list of points>, <Number n> ]
- FitExp[ <list of points> ]
- FitPow[ <list of points> ]
- FitLog[ <list of points> ]
- Polynomial[ <list of points> ] (in 3.0, undocumented)
Fits a polynomial order (n-1) to a list of n points.
- Mirror[ <Point>, <Circle> ]
Inverts the point in the circle
- Ellipse[ <Point A>, <Point B>, <Point C> ]
Draws an ellipse with foci A and B passing through C
- Hyperbola[ <Point A>, <Point B>, <Point C> ]
Draws a hyperbola with foci A and B passing through C
- InverseNormal[ <mean>, <standard deviation>, <number> ]
Calculates the function inversephi(x) * ( standard deviation ) + ( mean ) where inversephi(x) is the inverse of the pdf for N(0,1)
- Normal[ <mean>, <standard deviation>, <number> ]
Calculates the function ( phi(x) - mean ) / (standard deviation) where phi(x) is the pdf for N(0,1)
- Binomial[ <Number n>, <Number r>]
Calculates the binomial coefficient "n choose r".
- Expand[ <Function> ]
Multiplies out the brackets
- Factor[ <Polynomial> ]
Factors the polynomial
- Corner[n]
Creates a point at the corner of the drawing pad (n=1,2,3,4)
- ConstructionStep[]
Returns the current construction protocol step
- ConstructionStep[Object]
Returns the construction protocol step for the Object
- Row[ <Cell name>]
Returns the row of the cell as a number (starting at 1)
- Column[ <Cell name>]
Returns the column of the cell as a number (starting at 1)
- ColumnName[ <Cell name>]
Returns the column name of the cell as a text
- ToNumber[ <Text> ]
Turns a single letter into its Unicode number eg ToNumber["a"] = 97
- ToNumbers[ <Text> ]
Turns some text into a list of Unicode numbers, one for each character
eg ToNumbers["Some text"] = {83, 111, 109, 101, 32, 116, 101, 120, 116}
- ToText[ <Number> ]
- ToText[ <List> ]
Converts Unicode numbers back into text
eg ToText[97] = "a"
eg ToText[{83, 111, 109, 101, 32, 116, 101, 120, 116}] = "Some text"
- BarChart[ <start>, <end>, <List of Heights> ]
eg BarChart[10, 20, {1,2,3,4,5} ]
- BarChart[ <start>, <end>, <expression>, , <from>, <to> ]
- BarChart[ <start>, <end>, <expression>, <var>, <from>, <to>, <step> ]
eg p = 0.1
q = 0.9
n = 10
BarChart[ -.5, n+.5, Binomial[n,k]*p^k*q^(n-k), k, 0, n ]
- Histogram[ <Class Boundaries>, <Heights> ]
eg Histogram[ {1,2,4,8}, {3,5,7} ]
- Histogram[ <Class Boundaries>, <Raw Data> ]
eg Histogram[{1,1.5,2,4},{1.0,1.1,1.1,1.2,1.7,1.7,1.8,2.2,2.5,4.0}]
- BoxPlot[ <yOffset>, <yScale>, <Raw Data> ]
eg BoxPlot[0, 1, {2,2,3,4,5,5,6,7,7,8,8,8,9} ]
- BoxPlot[ <yOffset>, <yScale>, <start>, <Q1>, <median>, <Q3>, <end> ]
eg BoxPlot[0, 1, 2, 3, 4, 5, 6 ]
- TrapezoidalSum[ <Function>, <Start>, <End>, <# Steps> ]
Works the same way as UpperSum[] and LowerSum[] eg TrapezoidalSum[ x^2, 1, 2, 5]
- CountIf[ <Condition>, <List> ]
Counts the number of elements in the list satisfying the condition
eg CountIf[ x < 3, {1, 2, 3, 4, 5} ]
- Table[ <List>, <List>, List>, ... ]
- Table[ <List>, <List>, List>, ... , <Text>]
Draws a table of list objects.
The optional text controls the orientation and alignment of the table.
Possible values: "vl", "vc", "vr", "v", "h", "hl", "hc", "hr"
v = vertical ie with columns
h = horizontal ie wth rows
l = left aligned
r = right aligned
c = centered
Default is "vl"
eg Table[ { x^2, x^3, x^4 } ] 1 column, left aligned
eg Table[ Sequence[ i^2, i, 1, 10] ] 1 column, left aligned
eg Table[{1,2,3,4},{1,4,9,16},"v"] 2 columns, left aligned
eg Table[{1,2,3,4},{1,4,9,16},"h"] 2 rows, left aligned
eg Table[{11.2,123.1,32423.9,"234.0"},"r"] 1 column right aligned
New Applet Tags
<param name="enableLabelDrags" value="false"/>
New JavaScript commands
- void setLayer(string,int)
- int getLayer(string)
- void setLayerVisible(int,boolean)
- String evalYacas(String)
Provisional features
These are not currently working/supported/finished and may be removed:
- RandomNormal[mean,standard deviation]
Generates a random number from a normal distribution.
- Corner[text,n]
- ToString[ <Object> ]
Returns the formula for the object
eg a=1
c=a^2
ToString[c]
- ToLaTeX[ <Object> ]
Returns the formula for the object (as LaTeX where appropriate)
eg a=1
c=sqrt(a)
text = ToLaTeX[c] + ""
then check the "LaTeX formula" checkbox for the text.
- ToYacasString[ <Object> ]
- Eval[ <Text> ]
- Object[ <Text> ]
- EvalYacas[ <Text>]
- CellRange[]
- Plugin system
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
