HOME

TheInfoList



OR:

KIG is
free and open-source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
interactive geometry software Interactive geometry software (IGS) or dynamic geometry environments (DGEs) are computer programs which allow one to create and then manipulate geometric constructions, primarily in plane geometry. In most IGS, one starts construction by putting a ...
, which is part of the KDE Education Project. It has some facilities for scripting in Python, as well as the creating macros from existing constructions.


Import and export

Kig can import files made by
DrGeo GNU Dr. Geo is interactive geometry software that allows its users to design & manipulate interactive geometric sketches. It is free software (source code, translations, icons and installer are released under GNU GPL license), created by Hilaire Fe ...
and
Cabri Geometry Cabri Geometry is a commercial interactive geometry software produced by the French company Cabrilog for teaching and learning geometry and trigonometry.. It was designed with ease-of-use in mind. The program allows the user to animate geometric ...
as well as its own file format, which is
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
-encoded. Kig can export figures in
LaTeX Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well. In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosper ...
format and as SVG (vector graphics) files.


Objects

Kig can handle any classical object of the dynamic geometry, but also: # The
center of curvature In geometry, the center of curvature of a curve is found at a point that is at a distance from the curve equal to the radius of curvature lying on the normal vector. It is the point at infinity if the curvature is zero. The osculating circle ...
and
osculating circle In differential geometry of curves, the osculating circle of a sufficiently smooth plane curve at a given point ''p'' on the curve has been traditionally defined as the circle passing through ''p'' and a pair of additional points on the curve ...
of a curve; # The dilation, generic affinity,
inversion Inversion or inversions may refer to: Arts * , a French gay magazine (1924/1925) * ''Inversion'' (artwork), a 2005 temporary sculpture in Houston, Texas * Inversion (music), a term with various meanings in music theory and musical set theory * ...
,
projective application Projective may refer to Mathematics * Projective geometry *Projective space * Projective plane *Projective variety * Projective linear group *Projective module * Projective line * Projective object * Projective transformation * Projective hierar ...
,
homography In projective geometry, a homography is an isomorphism of projective spaces, induced by an isomorphism of the vector spaces from which the projective spaces derive. It is a bijection that maps lines to lines, and thus a collineation. In general ...
and harmonic homology; # The
hyperbola In mathematics, a hyperbola (; pl. hyperbolas or hyperbolae ; adj. hyperbolic ) is a type of smooth curve lying in a plane, defined by its geometric properties or by equations for which it is the solution set. A hyperbola has two pieces, c ...
with given
asymptote In analytic geometry, an asymptote () of a curve is a line such that the distance between the curve and the line approaches zero as one or both of the ''x'' or ''y'' coordinates tends to infinity. In projective geometry and related contexts, ...
s; # The
Bézier curve A Bézier curve ( ) is a parametric curve used in computer graphics and related fields. A set of discrete "control points" defines a smooth, continuous curve by means of a formula. Usually the curve is intended to approximate a real-world shape ...
s (2nd and 3rd degree); # The polar line of a point and
pole Pole may refer to: Astronomy *Celestial pole, the projection of the planet Earth's axis of rotation onto the celestial sphere; also applies to the axis of rotation of other planets * Pole star, a visible star that is approximately aligned with th ...
of a
line Line most often refers to: * Line (geometry), object with zero thickness and curvature that stretches to infinity * Telephone line, a single-user circuit on a telephone communication system Line, lines, The Line, or LINE may also refer to: Art ...
with respect to a
conic section In mathematics, a conic section, quadratic curve or conic is a curve obtained as the intersection of the surface of a cone with a plane. The three types of conic section are the hyperbola, the parabola, and the ellipse; the circle is a ...
; # The
asymptote In analytic geometry, an asymptote () of a curve is a line such that the distance between the curve and the line approaches zero as one or both of the ''x'' or ''y'' coordinates tends to infinity. In projective geometry and related contexts, ...
s of a
hyperbola In mathematics, a hyperbola (; pl. hyperbolas or hyperbolae ; adj. hyperbolic ) is a type of smooth curve lying in a plane, defined by its geometric properties or by equations for which it is the solution set. A hyperbola has two pieces, c ...
; # The
cubic curve In mathematics, a cubic plane curve is a plane algebraic curve defined by a cubic equation : applied to homogeneous coordinates for the projective plane; or the inhomogeneous version for the affine space determined by setting in such an ...
through 9 points; # The cubic curve with a
double point In geometry, a singular point on a curve is one where the curve is not given by a smooth embedding of a parameter. The precise definition of a singular point depends on the type of curve being studied. Algebraic curves in the plane Algebraic cu ...
through 6 points; # The cubic curve with a cusp through 4 points.


Scripting language


Inside the figure

Another object is available inside Kig, it is a Python language script. It can accept Kig objects as variables, and always return one object. For example, if there is already a numeric object inside the figure, for example 3, the following Python object can yield its square (9): def square(arg1): return DoubleObject(arg1.value() ** 2) The variables are always called arg1, arg2 etc. in the order they are clicked upon. Here there is only one variable arg1 and its numerical value is obtained with arg1.value(). If no one wants to implement the square of a complex number (represented by a point in the Argand diagram), the object which has to be selected at the creation of the script must necessarily be a point, and the script is def csquare(arg1): x = arg1.coordinate().x y = arg1.coordinate().y z = x * x - y * y y = 2 * x * y x = z return Point(Coordinate(x, y)) The
abscissa In common usage, the abscissa refers to the (''x'') coordinate and the ordinate refers to the (''y'') coordinate of a standard two-dimensional graph. The distance of a point from the y-axis, scaled with the x-axis, is called abscissa or x coo ...
of the point representing the square of the
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the for ...
is x^2-y^2 as can be seen by expanding (x+iy)^2=x^2-y^2+i(2xy), Coordinate(x,y) creates a Python list made of the two coordinates of the new point. And Point creates the point which
coordinate In geometry, a coordinate system is a system that uses one or more numbers, or coordinates, to uniquely determine the position of the points or other geometric elements on a manifold such as Euclidean space. The order of the coordinates is si ...
s are precisely given by this list. But a Python object inside a figure can only create one object and for more complex figures one has to build the figure with a script:


Figure created by a script

Kig comes up with a little program (written in Python) called pykig.py which can # load a Python script, e.g. MyScript.py # build a Kig figure, described by this script # open Kig and display the figure. For example, here is how a Sierpinski triangle can be made (as an IFS) with pykig: from random import * kigdocument.hideobjects() A = Point(0, 2) A.show() B = Point(-2, -1) B.show() C = Point(2, -1) C.show() M = Point(.1, .1) for i in range(1, 1000): d = randrange(3) if d

0: s = Segment(A, M) M = s.midpoint() if d

1: s = Segment(B, M) M = s.midpoint() if d

2: s = Segment(C, M) M = s.midpoint() M.show()


External links

*
The Kig Handbook
* Thomas G. Pfeiffer

Freies Magazin, December 2009 (German) * Mike Diehl
''Teaching Math with the KDE Interactive Geometry Program''
Linux Journal, 2009-09-19 *Abdul Halim Abdullah, Mohini Mohamed
''The Use Of Interactive Geometry Software (IGS) To Develop Geometric Thinking''
Jurnal Teknologi 49(1), December 2008, DOI: 10.11113/jt.v49.212 {{KDE Free educational software Free interactive geometry software KDE Education Project KDE software KDE Software Compilation Software that uses Qt