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 The KDE Education Project (or KDE-Edu project) develops free educational software based on the KDE technologies for students and parents. These educational software is translated into more than 65 languages, so that users can access them without ...
. It has some facilities for scripting in
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
, as well as the creating macros from existing constructions.


Import and export

Kig can import files made by DrGeo 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. T ...
-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 (angiosperms ...
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 circl ...
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 i ...
of a curve; # The
dilation Dilation (or dilatation) may refer to: Physiology or medicine * Cervical dilation, the widening of the cervix in childbirth, miscarriage etc. * Coronary dilation, or coronary reflex * Dilation and curettage, the opening of the cervix and surgic ...
, generic
affinity Affinity may refer to: Commerce, finance and law * Affinity (law), kinship by marriage * Affinity analysis, a market research and business management technique * Affinity Credit Union, a Saskatchewan-based credit union * Affinity Equity Par ...
,
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,
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 A harmonic is a wave with a frequency that is a positive integer multiple of the ''fundamental frequency'', the frequency of the original periodic signal, such as a sinusoidal wave. The original signal is also called the ''1st harmonic'', th ...
; # 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, cal ...
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 t ...
s (2nd and 3rd degree); # The
polar line The Polar Line ( no, Polarbanen, german: Polarbahn) is an incomplete and abandoned railway line in Norway, from Fauske to Narvik and, if finished, ultimately would have run to Kirkenes. The railway was constructed by the ''Wehrmacht'' in oc ...
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 the ...
of a line 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 specia ...
; # 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, cal ...
; # 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 eq ...
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 curv ...
through 6 points; # The cubic curve with a
cusp A cusp is the most pointed end of a curve. It often refers to cusp (anatomy), a pointed structure on a tooth. Cusp or CUSP may also refer to: Mathematics * Cusp (singularity), a singular point of a curve * Cusp catastrophe, a branch of bifurc ...
through 4 points.


Scripting language


Inside the figure

Another object is available inside Kig, it is a
Python language Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically-typed and garbage-collected. It supports multiple programming par ...
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 In mathematics, the complex plane is the plane formed by the complex numbers, with a Cartesian coordinate system such that the -axis, called the real axis, is formed by the real numbers, and the -axis, called the imaginary axis, is formed by the ...
), 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 form ...
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 sign ...
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