GeoGebra for Linux
GeoGebra is an open-source mathematics application used in schools that combines dynamic algebra, geometry and calculus. It is written in Java and available on multiple platforms. You can create dynamic constructions using the tools and objects in GeoGebra. Geometric objects include lines and axes, points and vectors, functions, curves, inequalities, conic sections and arcs. Lists of points, loci, lines, arcs, polygons, conic sections, functions, intervals and single variable equalities are called paths. Lists of other paths are paths, too. You can define the point belonging to a path using Point Command. Each point on the path has path parameter ranging from numbers 0 to 1. You use the PathParameter Command to determine this parameter. You can also define a point to a region [arc, conic, polygon, two variable inequalities] using Pointln Command or Point on Object Tool. General objects are numbers and angles, Boolean values, complex numbers, lists, matrices, images and texts. Action objects are useful in making interactive worksheets with scripting. They are: checkboxes> graphical representations of Boolean values; input boxes> text inputs for scripts; buttons> trigger scripts when clicked; comboboxes>only available in Spreadsheet View, a combination of buttons and checkboxes in Speadsheet Tab. Object properties include visibility, fixed objects that cannot be moved, deleted or redefined, filling [standard, hatch, image] and advanced features such as conditional visibility, layers and dynamic colors. There are 3 types of objects in GeoGebra: free objects> do not depend on other objects for position or value; dependend> depend on other objects; auxiliary> defined by user or created by specific tools. You can make labels and captions, change values, select and name objects, do automatic or manual animation of numbers, angles and points. Repetition of an animation cycle could be increasing, decreasing or oscillating [alternate between increasing and decreasing]. You can also do tracing and scripting using JavaScript and GGBScript.