summaryrefslogtreecommitdiffstats
path: root/kig/examples
diff options
context:
space:
mode:
Diffstat (limited to 'kig/examples')
-rw-r--r--kig/examples/Makefile.am11
-rw-r--r--kig/examples/cubic-locus.kig91
-rw-r--r--kig/examples/ellipse.kig29
-rw-r--r--kig/examples/figure_angle.fgeo30
-rw-r--r--kig/examples/figure_manyobjects.fgeo72
-rw-r--r--kig/examples/fregier.kigt61
-rw-r--r--kig/examples/locustest.kig116
-rw-r--r--kig/examples/parabolaBDF.kigt28
-rw-r--r--kig/examples/session_alotofthings.fgeo162
-rw-r--r--kig/examples/sine-curve.kig55
-rw-r--r--kig/examples/sine-curve.pngbin0 -> 49486 bytes
-rw-r--r--kig/examples/trifolium-of-delongchamps.kig163
12 files changed, 818 insertions, 0 deletions
diff --git a/kig/examples/Makefile.am b/kig/examples/Makefile.am
new file mode 100644
index 00000000..095f1a85
--- /dev/null
+++ b/kig/examples/Makefile.am
@@ -0,0 +1,11 @@
+noinst_DATA= \
+ cubic-locus.kig \
+ ellipse.kig \
+ figure_angle.fgeo \
+ figure_manyobjects.fgeo \
+ fregier.kigt \
+ locustest.kig \
+ parabolaBDF.kigt \
+ session_alotofthings.fgeo \
+ sine-curve.kig \
+ sine-curve.png
diff --git a/kig/examples/cubic-locus.kig b/kig/examples/cubic-locus.kig
new file mode 100644
index 00000000..92d3cd20
--- /dev/null
+++ b/kig/examples/cubic-locus.kig
@@ -0,0 +1,91 @@
+<!DOCTYPE KigDocument>
+<KigDocument Version="0.7.1" >
+ <CoordinateSystem>Euclidean</CoordinateSystem>
+ <Hierarchy>
+ <Data type="double" id="1" >-2.27219</Data>
+ <Data type="int" id="2" >1</Data>
+ <Data type="double" id="3" >1.98431</Data>
+ <Data type="double" id="4" >1.90809</Data>
+ <Data type="double" id="5" >2.0933</Data>
+ <Data type="double" id="6" >-2.09014</Data>
+ <Data type="double" id="7" >-1.85202</Data>
+ <Data type="double" id="8" >1.53769</Data>
+ <Data type="hierarchy" id="9" >
+ <input requirement="point" id="1" />
+ <input requirement="point" id="2" />
+ <input requirement="point" id="3" />
+ <input requirement="int" id="4" />
+ <intermediate action="calc" type="CircleBCP" id="5" >
+ <arg>2</arg>
+ <arg>1</arg>
+ </intermediate>
+ <intermediate action="calc" type="RayAB" id="6" >
+ <arg>3</arg>
+ <arg>1</arg>
+ </intermediate>
+ <result action="calc" type="ConicLineIntersection" id="7" >
+ <arg>5</arg>
+ <arg>6</arg>
+ <arg>4</arg>
+ </result>
+ </Data>
+ <Data type="double" id="10" >3.70405</Data>
+ <Data type="double" id="11" >0.738799</Data>
+ <Object type="FixedPoint" id="12" >
+ <Parent id="3" />
+ <Parent id="5" />
+ </Object>
+ <Object type="FixedPoint" id="13" >
+ <Parent id="6" />
+ <Parent id="1" />
+ </Object>
+ <Object type="FixedPoint" id="14" >
+ <Parent id="7" />
+ <Parent id="8" />
+ </Object>
+ <Object type="FixedPoint" id="15" >
+ <Parent id="10" />
+ <Parent id="4" />
+ </Object>
+ <Object type="LineAB" id="16" >
+ <Parent id="15" />
+ <Parent id="12" />
+ </Object>
+ <Object type="ConstrainedPoint" id="17" >
+ <Parent id="11" />
+ <Parent id="16" />
+ </Object>
+ <Object type="Locus" id="18" >
+ <Parent id="9" />
+ <Parent id="16" />
+ <Parent id="14" />
+ <Parent id="13" />
+ <Parent id="2" />
+ </Object>
+ <Object type="CircleBCP" id="19" >
+ <Parent id="14" />
+ <Parent id="17" />
+ </Object>
+ <Object type="RayAB" id="20" >
+ <Parent id="13" />
+ <Parent id="17" />
+ </Object>
+ <Object type="ConicLineIntersection" id="21" >
+ <Parent id="19" />
+ <Parent id="20" />
+ <Parent id="2" />
+ </Object>
+ </Hierarchy>
+ <View>
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="15" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="21" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="12" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="18" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="14" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="16" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="20" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="13" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="19" />
+ <Draw width="-1" point-style="Round" style="SolidLine" shown="true" color="#0000ff" object="17" />
+ </View>
+</KigDocument>
diff --git a/kig/examples/ellipse.kig b/kig/examples/ellipse.kig
new file mode 100644
index 00000000..442ba664
--- /dev/null
+++ b/kig/examples/ellipse.kig
@@ -0,0 +1,29 @@
+<!DOCTYPE KigDocument>
+<KigDocument Version="0.4.0" >
+ <CoordinateSystem>Euclidean</CoordinateSystem>
+ <Objects>
+ <Data type="double" id="1" >-5.76253</Data>
+ <Data type="double" id="2" >0.831135</Data>
+ <Data type="double" id="3" >1.77309</Data>
+ <Data type="double" id="4" >1.20053</Data>
+ <Data type="double" id="5" >-2.29024</Data>
+ <Data type="double" id="6" >4.15567</Data>
+ <Object width="5" shown="true" type="FixedPoint" id="7" color="#0000ff" >
+ <Parent id="1" />
+ <Parent id="2" />
+ </Object>
+ <Object width="5" shown="true" type="FixedPoint" id="8" color="#0000ff" >
+ <Parent id="3" />
+ <Parent id="4" />
+ </Object>
+ <Object width="5" shown="true" type="FixedPoint" id="9" color="#0000ff" >
+ <Parent id="5" />
+ <Parent id="6" />
+ </Object>
+ <Object width="-1" shown="true" type="EllipseBFFP" id="10" color="#0000ff" >
+ <Parent id="7" />
+ <Parent id="8" />
+ <Parent id="9" />
+ </Object>
+ </Objects>
+</KigDocument>
diff --git a/kig/examples/figure_angle.fgeo b/kig/examples/figure_angle.fgeo
new file mode 100644
index 00000000..22db1113
--- /dev/null
+++ b/kig/examples/figure_angle.fgeo
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<drgenius>
+ <drgeo name="Figure 1" scale="30.000000" origin_x="0.000000" origin_y="0.000000" grid="False">
+ <point id="827A5C0" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-5.833333</x>
+ <y>2.950000</y>
+ </point>
+ <point id="8248660" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-4.666666</x>
+ <y>-0.783334</y>
+ </point>
+ <point id="822A6B0" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>2.333334</x>
+ <y>-0.216667</y>
+ </point>
+ <line id="822BC80" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="827A5C0"/>
+ <parent ref="8248660"/>
+ </line>
+ <line id="8249A48" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="822A6B0"/>
+ <parent ref="8248660"/>
+ </line>
+ <angle id="82B86D8" type="3pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="822A6B0"/>
+ <parent ref="8248660"/>
+ <parent ref="827A5C0"/>
+ </angle>
+ </drgeo>
+</drgenius>
diff --git a/kig/examples/figure_manyobjects.fgeo b/kig/examples/figure_manyobjects.fgeo
new file mode 100644
index 00000000..c03634e3
--- /dev/null
+++ b/kig/examples/figure_manyobjects.fgeo
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<drgenius>
+ <drgeo name="Figure 1" scale="30.000000" origin_x="0.000000" origin_y="0.000000" grid="False">
+ <point id="82257B8" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-6.700000</x>
+ <y>2.250000</y>
+ </point>
+ <point id="8250458" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>0.266667</x>
+ <y>2.083333</y>
+ </point>
+ <point id="8250D30" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-0.800000</x>
+ <y>-2.516667</y>
+ </point>
+ <point id="8255158" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-2.766667</x>
+ <y>1.883333</y>
+ </point>
+ <point id="8226648" type="Middle_2pts" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <parent ref="82257B8"/>
+ <parent ref="8255158"/>
+ </point>
+ <halfLine id="8225B10" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="8250D30"/>
+ <parent ref="8250458"/>
+ </halfLine>
+ <point id="82043A0" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-2.833333</x>
+ <y>-0.983334</y>
+ </point>
+ <point id="8115668" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>1.500000</x>
+ <y>1.883333</y>
+ </point>
+ <point id="82AED28" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-0.566667</x>
+ <y>3.983333</y>
+ </point>
+ <segment id="82B0888" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="82257B8"/>
+ <parent ref="82AED28"/>
+ </segment>
+ <line id="82B1B80" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="82043A0"/>
+ <parent ref="8115668"/>
+ </line>
+ <point id="82B26F0" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-5.533333</x>
+ <y>-0.383333</y>
+ </point>
+ <vector id="82A3948" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <Ox>-2.800000</Ox>
+ <Oy>1.883333</Oy>
+ <parent ref="8255158"/>
+ <parent ref="82B26F0"/>
+ </vector>
+ <point id="82B4358" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>3.166667</x>
+ <y>-0.683333</y>
+ </point>
+ <circle id="82B5918" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="82B4358"/>
+ <parent ref="8115668"/>
+ </circle>
+ <arcCircle id="82B5D30" type="3pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="82257B8"/>
+ <parent ref="82B26F0"/>
+ <parent ref="8250D30"/>
+ </arcCircle>
+ </drgeo>
+</drgenius>
diff --git a/kig/examples/fregier.kigt b/kig/examples/fregier.kigt
new file mode 100644
index 00000000..7f986fec
--- /dev/null
+++ b/kig/examples/fregier.kigt
@@ -0,0 +1,61 @@
+<!DOCTYPE KigMacroFile>
+<KigMacroFile Number="1" Version="0.4.0" >
+ <Macro>
+ <Name>fregier</Name>
+ <Description></Description>
+ <Construction>
+ <input requirement="conic" id="1" />
+ <input requirement="point" id="2" />
+ <intermediate action="calc" type="ConicPolarLine" id="3" >
+ <arg>1</arg>
+ <arg>2</arg>
+ </intermediate>
+ <intermediate action="calc" type="LinePerpend" id="4" >
+ <arg>3</arg>
+ <arg>2</arg>
+ </intermediate>
+ <intermediate action="push" type="int" id="5" >1</intermediate>
+ <intermediate action="calc" type="ConicLineIntersection" id="6" >
+ <arg>1</arg>
+ <arg>4</arg>
+ <arg>5</arg>
+ </intermediate>
+ <intermediate action="calc" type="MidPoint" id="7" >
+ <arg>2</arg>
+ <arg>6</arg>
+ </intermediate>
+ <intermediate action="calc" type="LinePerpend" id="8" >
+ <arg>4</arg>
+ <arg>7</arg>
+ </intermediate>
+ <intermediate action="push" type="int" id="9" >-1</intermediate>
+ <intermediate action="calc" type="ConicLineIntersection" id="10" >
+ <arg>1</arg>
+ <arg>8</arg>
+ <arg>9</arg>
+ </intermediate>
+ <intermediate action="calc" type="RayAB" id="11" >
+ <arg>2</arg>
+ <arg>10</arg>
+ </intermediate>
+ <intermediate action="calc" type="LinePerpend" id="12" >
+ <arg>11</arg>
+ <arg>2</arg>
+ </intermediate>
+ <intermediate action="push" type="int" id="13" >1</intermediate>
+ <intermediate action="calc" type="ConicLineIntersection" id="14" >
+ <arg>1</arg>
+ <arg>12</arg>
+ <arg>13</arg>
+ </intermediate>
+ <intermediate action="calc" type="SegmentAB" id="15" >
+ <arg>10</arg>
+ <arg>14</arg>
+ </intermediate>
+ <result action="calc" type="LineLineIntersection" id="16" >
+ <arg>15</arg>
+ <arg>4</arg>
+ </result>
+ </Construction>
+ </Macro>
+</KigMacroFile>
diff --git a/kig/examples/locustest.kig b/kig/examples/locustest.kig
new file mode 100644
index 00000000..42f1ccc0
--- /dev/null
+++ b/kig/examples/locustest.kig
@@ -0,0 +1,116 @@
+<!DOCTYPE KigDocument>
+<KigDocument Version="0.4.0" >
+ <CoordinateSystem>Euclidean</CoordinateSystem>
+ <Objects>
+ <Data type="double" id="1" >9.99611</Data>
+ <Data type="double" id="2" >9.67971</Data>
+ <Data type="double" id="3" >9.18808</Data>
+ <Data type="double" id="4" >-2.03061</Data>
+ <Data type="double" id="5" >-1.55367</Data>
+ <Data type="double" id="6" >13.0171</Data>
+ <Data type="double" id="7" >-9.63092</Data>
+ <Data type="double" id="8" >9.86598</Data>
+ <Data type="double" id="9" >-10.4258</Data>
+ <Data type="double" id="10" >-10.3351</Data>
+ <Data type="double" id="11" >0.725237</Data>
+ <Data type="hierarchy" id="12" >
+ <input requirement="point" id="1" />
+ <input requirement="point" id="2" />
+ <input requirement="line" id="3" />
+ <input requirement="point" id="4" />
+ <input requirement="point" id="5" />
+ <intermediate action="calc" type="LineAB" id="6" >
+ <arg>1</arg>
+ <arg>2</arg>
+ </intermediate>
+ <intermediate action="calc" type="LineLineIntersection" id="7" >
+ <arg>6</arg>
+ <arg>3</arg>
+ </intermediate>
+ <intermediate action="calc" type="LineAB" id="8" >
+ <arg>7</arg>
+ <arg>4</arg>
+ </intermediate>
+ <intermediate action="calc" type="LineAB" id="9" >
+ <arg>1</arg>
+ <arg>5</arg>
+ </intermediate>
+ <result action="calc" type="LineLineIntersection" id="10" >
+ <arg>8</arg>
+ <arg>9</arg>
+ </result>
+ </Data>
+ <Object width="5" shown="true" type="FixedPoint" id="13" color="#0000ff" >
+ <Parent id="1" />
+ <Parent id="2" />
+ </Object>
+ <Object width="5" shown="true" type="FixedPoint" id="14" color="#0000ff" >
+ <Parent id="3" />
+ <Parent id="4" />
+ </Object>
+ <Object width="5" shown="true" type="FixedPoint" id="15" color="#0000ff" >
+ <Parent id="5" />
+ <Parent id="6" />
+ </Object>
+ <Object width="5" shown="true" type="FixedPoint" id="16" color="#0000ff" >
+ <Parent id="7" />
+ <Parent id="8" />
+ </Object>
+ <Object width="5" shown="true" type="FixedPoint" id="17" color="#0000ff" >
+ <Parent id="9" />
+ <Parent id="10" />
+ </Object>
+ <Object width="-1" shown="true" type="LineAB" id="18" color="#0000ff" >
+ <Parent id="15" />
+ <Parent id="14" />
+ </Object>
+ <Object width="-1" shown="true" type="LineAB" id="19" color="#0000ff" >
+ <Parent id="16" />
+ <Parent id="13" />
+ </Object>
+ <Object width="-1" shown="true" type="LineAB" id="20" color="#0000ff" >
+ <Parent id="16" />
+ <Parent id="17" />
+ </Object>
+ <Object width="-1" shown="true" type="LineAB" id="21" color="#0000ff" >
+ <Parent id="15" />
+ <Parent id="17" />
+ </Object>
+ <Object width="-1" shown="true" type="LineLineIntersection" id="22" color="#0000ff" >
+ <Parent id="19" />
+ <Parent id="18" />
+ </Object>
+ <Object width="5" shown="true" type="ConstrainedPoint" id="23" color="#0000ff" >
+ <Parent id="21" />
+ <Parent id="11" />
+ </Object>
+ <Object width="-1" shown="true" type="Locus" id="24" color="#0000ff" >
+ <Parent id="21" />
+ <Parent id="12" />
+ <Parent id="22" />
+ <Parent id="20" />
+ <Parent id="14" />
+ <Parent id="13" />
+ </Object>
+ <Object width="-1" shown="true" type="LineAB" id="25" color="#0000ff" >
+ <Parent id="23" />
+ <Parent id="13" />
+ </Object>
+ <Object width="-1" shown="true" type="LineAB" id="26" color="#0000ff" >
+ <Parent id="23" />
+ <Parent id="22" />
+ </Object>
+ <Object width="-1" shown="true" type="LineLineIntersection" id="27" color="#0000ff" >
+ <Parent id="26" />
+ <Parent id="20" />
+ </Object>
+ <Object width="-1" shown="true" type="LineAB" id="28" color="#0000ff" >
+ <Parent id="27" />
+ <Parent id="14" />
+ </Object>
+ <Object width="-1" shown="true" type="LineLineIntersection" id="29" color="#0000ff" >
+ <Parent id="28" />
+ <Parent id="25" />
+ </Object>
+ </Objects>
+</KigDocument>
diff --git a/kig/examples/parabolaBDF.kigt b/kig/examples/parabolaBDF.kigt
new file mode 100644
index 00000000..ea9253ab
--- /dev/null
+++ b/kig/examples/parabolaBDF.kigt
@@ -0,0 +1,28 @@
+<!DOCTYPE KigMacroFile>
+<KigMacroFile Number="1" Version="0.4.0" >
+ <Macro>
+ <Name>parabolaBDF</Name>
+ <Description></Description>
+ <Construction>
+ <input requirement="line" id="1" />
+ <input requirement="point" id="2" />
+ <intermediate action="calc" type="LinePerpend" id="3" >
+ <arg>1</arg>
+ <arg>2</arg>
+ </intermediate>
+ <intermediate action="calc" type="LineLineIntersection" id="4" >
+ <arg>3</arg>
+ <arg>1</arg>
+ </intermediate>
+ <intermediate action="calc" type="MidPoint" id="5" >
+ <arg>2</arg>
+ <arg>4</arg>
+ </intermediate>
+ <result action="calc" type="ConicBDFP" id="6" >
+ <arg>1</arg>
+ <arg>2</arg>
+ <arg>5</arg>
+ </result>
+ </Construction>
+ </Macro>
+</KigMacroFile>
diff --git a/kig/examples/session_alotofthings.fgeo b/kig/examples/session_alotofthings.fgeo
new file mode 100644
index 00000000..967dada9
--- /dev/null
+++ b/kig/examples/session_alotofthings.fgeo
@@ -0,0 +1,162 @@
+<?xml version="1.0"?>
+<drgenius>
+ <drgeo name="Figure 1" scale="30.000000" origin_x="0.000000" origin_y="0.000000" grid="False">
+ <point id="82076B0" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>0.766667</x>
+ <y>2.450000</y>
+ </point>
+ <point id="8281F08" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-3.300000</x>
+ <y>2.650000</y>
+ </point>
+ <point id="82535F0" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-7.900000</x>
+ <y>-2.583333</y>
+ </point>
+ <point id="822F448" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-7.800000</x>
+ <y>0.116667</y>
+ </point>
+ <point id="8208228" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-4.533333</x>
+ <y>1.216667</y>
+ </point>
+ <point id="822FB88" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-8.566667</x>
+ <y>3.116667</y>
+ </point>
+ <point id="82B08A0" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-7.066667</x>
+ <y>1.783334</y>
+ </point>
+ <line id="82C3C40" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="8281F08"/>
+ <parent ref="82076B0"/>
+ </line>
+ <arcCircle id="82C2F40" type="3pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="8208228"/>
+ <parent ref="822F448"/>
+ <parent ref="82535F0"/>
+ </arcCircle>
+ <halfLine id="82A86B8" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="822FB88"/>
+ <parent ref="82B08A0"/>
+ </halfLine>
+ <point id="82C8738" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-1.066667</x>
+ <y>-0.416667</y>
+ </point>
+ <point id="82C4DC8" type="Intersection" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="" extra="0">
+ <parent ref="82A86B8"/>
+ <parent ref="82C2F40"/>
+ </point>
+ <point id="82C5230" type="Intersection" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="" extra="1">
+ <parent ref="82A86B8"/>
+ <parent ref="82C2F40"/>
+ </point>
+ <line id="82BF640" type="perpendicular" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="82C8738"/>
+ <parent ref="82C3C40"/>
+ </line>
+ <point id="83030E0" type="Reflexion" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <parent ref="82C4DC8"/>
+ <parent ref="82BF640"/>
+ </point>
+ </drgeo>
+ <text name="Testo 1">Figure 1 contains:
+- some points;
+- an arc;
+- a line;
+- a perpendicular;
+- a ray;
+- an intersection point;
+- a reflection point;
+
+Figure 2 contains:
+- some points;
+- 2 lines;
+- a midpoint;
+- a parallel;
+- 2 intersection points;
+
+Figure 3 contains:
+- some points;
+- a circle;
+- a vector;
+- a moved circle;
+</text>
+ <drgeo name="Figure 2" scale="30.000000" origin_x="0.000000" origin_y="0.000000" grid="False">
+ <point id="831A340" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-5.200000</x>
+ <y>0.216667</y>
+ </point>
+ <point id="82D1958" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>1.200000</x>
+ <y>3.116667</y>
+ </point>
+ <point id="82EB588" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-7.666667</x>
+ <y>1.650000</y>
+ </point>
+ <line id="8337158" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="82EB588"/>
+ <parent ref="831A340"/>
+ </line>
+ <point id="8339778" type="Middle_2pts" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <parent ref="831A340"/>
+ <parent ref="82D1958"/>
+ </point>
+ <line id="8322C38" type="parallel" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="8339778"/>
+ <parent ref="8337158"/>
+ </line>
+ <point id="8322E28" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-6.200000</x>
+ <y>-1.483334</y>
+ </point>
+ <line id="831E530" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="8322E28"/>
+ <parent ref="82D1958"/>
+ </line>
+ <point id="8356028" type="Intersection" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="" extra="0">
+ <parent ref="831E530"/>
+ <parent ref="8337158"/>
+ </point>
+ <point id="8320CC8" type="Intersection" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="" extra="0">
+ <parent ref="8322C38"/>
+ <parent ref="831E530"/>
+ </point>
+ </drgeo>
+ <drgeo name="Figure 3" scale="30.000000" origin_x="0.000000" origin_y="0.000000" grid="False">
+ <point id="837C5E0" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-6.433334</x>
+ <y>2.050000</y>
+ </point>
+ <point id="83380E8" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-1.400000</x>
+ <y>2.583333</y>
+ </point>
+ <point id="83565C8" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-1.300000</x>
+ <y>-0.350000</y>
+ </point>
+ <point id="82FBCC8" type="Free" color="Red" thickness="Dashed" style="Round" filled="False" masked="False" name="">
+ <x>-3.433333</x>
+ <y>-0.883333</y>
+ </point>
+ <vector id="8108B10" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <Ox>-6.433334</Ox>
+ <Oy>2.050000</Oy>
+ <parent ref="837C5E0"/>
+ <parent ref="83380E8"/>
+ </vector>
+ <circle id="83A2B10" type="2pts" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="82FBCC8"/>
+ <parent ref="83565C8"/>
+ </circle>
+ <circle id="83D6820" type="Translation" color="Black" thickness="Normal" style="Cross" filled="False" masked="False" name="">
+ <parent ref="83A2B10"/>
+ <parent ref="8108B10"/>
+ </circle>
+ </drgeo>
+</drgenius>
diff --git a/kig/examples/sine-curve.kig b/kig/examples/sine-curve.kig
new file mode 100644
index 00000000..e20f24d4
--- /dev/null
+++ b/kig/examples/sine-curve.kig
@@ -0,0 +1,55 @@
+<!DOCTYPE KigDocument>
+<KigDocument Version="0.5.1" >
+ <CoordinateSystem>Euclidean</CoordinateSystem>
+ <Objects>
+ <Data internal="true" type="double" id="1" >-3.50779</Data>
+ <Data internal="true" type="double" id="2" >3.80326</Data>
+ <Data internal="true" type="double" id="3" >5.49045</Data>
+ <Data internal="true" type="double" id="4" >-0.492505</Data>
+ <Data internal="true" type="double" id="5" >0.65293</Data>
+ <Data internal="true" type="hierarchy" id="6" >
+ <input requirement="any" id="1" />
+ <input requirement="string" id="2" />
+ <intermediate action="calc" type="PythonCompileType" id="3" >
+ <arg>2</arg>
+ </intermediate>
+ <result action="calc" type="PythonExecuteType" id="4" >
+ <arg>3</arg>
+ <arg>1</arg>
+ </result>
+ </Data>
+ <Data internal="true" type="string" id="7" >def calc( arg1 ):
+ c = arg1.coordinate();
+ y = sin( c.x );
+ return Point( Coordinate( c.x, y ) )
+</Data>
+ <Object width="-1" internal="false" shown="true" type="FixedPoint" id="8" color="#0000ff" >
+ <Parent id="1" />
+ <Parent id="2" />
+ </Object>
+ <Object width="-1" internal="false" shown="true" type="FixedPoint" id="9" color="#0000ff" >
+ <Parent id="3" />
+ <Parent id="4" />
+ </Object>
+ <Object width="-1" internal="true" shown="true" type="PythonCompileType" id="10" color="#0000ff" >
+ <Parent id="7" />
+ </Object>
+ <Object width="-1" internal="false" shown="true" type="LineAB" id="11" color="#0000ff" >
+ <Parent id="8" />
+ <Parent id="9" />
+ </Object>
+ <Object width="-1" internal="false" shown="true" type="ConstrainedPoint" id="12" color="#0000ff" >
+ <Parent id="11" />
+ <Parent id="5" />
+ </Object>
+ <Object width="-1" internal="false" shown="true" type="Locus" id="13" color="#0000ff" >
+ <Parent id="11" />
+ <Parent id="6" />
+ <Parent id="7" />
+ </Object>
+ <Object width="-1" internal="false" shown="true" type="PythonExecuteType" id="14" color="#0000ff" >
+ <Parent id="10" />
+ <Parent id="12" />
+ </Object>
+ </Objects>
+</KigDocument>
diff --git a/kig/examples/sine-curve.png b/kig/examples/sine-curve.png
new file mode 100644
index 00000000..dce01c74
--- /dev/null
+++ b/kig/examples/sine-curve.png
Binary files differ
diff --git a/kig/examples/trifolium-of-delongchamps.kig b/kig/examples/trifolium-of-delongchamps.kig
new file mode 100644
index 00000000..8b4f1fa3
--- /dev/null
+++ b/kig/examples/trifolium-of-delongchamps.kig
@@ -0,0 +1,163 @@
+<!DOCTYPE KigDocument>
+<KigDocument axes="1" grid="1" CompatibilityVersion="0.7.0" Version="0.9.1" >
+ <CoordinateSystem>Euclidean</CoordinateSystem>
+ <Hierarchy>
+ <Data type="double" id="1" >0</Data>
+ <Data type="int" id="2" >0</Data>
+ <Data type="double" id="3" >0</Data>
+ <Data type="double" id="4" >4</Data>
+ <Data type="double" id="5" >0</Data>
+ <Data type="double" id="6" >0</Data>
+ <Data type="string" id="7" >%1</Data>
+ <Data type="string" id="8" >O</Data>
+ <Data type="string" id="9" >%1</Data>
+ <Data type="double" id="10" >0</Data>
+ <Data type="int" id="11" >0</Data>
+ <Data type="double" id="12" >-0.740892</Data>
+ <Data type="hierarchy" id="13" >
+ <input requirement="point" id="1" />
+ <input requirement="point" id="2" />
+ <input requirement="any" id="3" />
+ <input requirement="any" id="4" />
+ <input requirement="point" id="5" />
+ <input requirement="line" id="6" />
+ <intermediate action="calc" type="LineAB" id="7" >
+ <arg>2</arg>
+ <arg>1</arg>
+ </intermediate>
+ <intermediate action="calc" type="LinePerpend" id="8" >
+ <arg>7</arg>
+ <arg>5</arg>
+ </intermediate>
+ <intermediate action="calc" type="LineLineIntersection" id="9" >
+ <arg>8</arg>
+ <arg>7</arg>
+ </intermediate>
+ <intermediate action="calc" type="LineReflection" id="10" >
+ <arg>9</arg>
+ <arg>6</arg>
+ </intermediate>
+ <intermediate action="calc" type="LinePerpend" id="11" >
+ <arg>7</arg>
+ <arg>10</arg>
+ </intermediate>
+ <result action="calc" type="LineLineIntersection" id="12" >
+ <arg>11</arg>
+ <arg>7</arg>
+ </result>
+ </Data>
+ <Data type="double" id="14" >1.53353</Data>
+ <Data type="double" id="15" >0.0197571</Data>
+ <Data type="string" id="16" >Trifolium of de Longchamps</Data>
+ <Data type="double" id="17" >0.427352</Data>
+ <Data type="int" id="18" >0</Data>
+ <Data type="double" id="19" >0</Data>
+ <Data type="string" id="20" >M</Data>
+ <Data type="point" id="21" >
+ <x>-2.36097</x>
+ <y>2.74624</y>
+ </Data>
+ <Object type="FixedPoint" id="22" >
+ <Parent id="4" />
+ <Parent id="1" />
+ </Object>
+ <Object type="FixedPoint" id="23" >
+ <Parent id="6" />
+ <Parent id="5" />
+ </Object>
+ <Object type="FixedPoint" id="24" >
+ <Parent id="12" />
+ <Parent id="14" />
+ </Object>
+ <Object type="Label" id="25" >
+ <Parent id="11" />
+ <Parent id="21" />
+ <Parent id="16" />
+ </Object>
+ <Object type="RelativePoint" id="26" >
+ <Parent id="15" />
+ <Parent id="3" />
+ <Parent id="22" />
+ </Object>
+ <Object type="LineAB" id="27" >
+ <Parent id="23" />
+ <Parent id="22" />
+ </Object>
+ <Object type="RelativePoint" id="28" >
+ <Parent id="10" />
+ <Parent id="19" />
+ <Parent id="23" />
+ </Object>
+ <Object type="CircleBCP" id="29" >
+ <Parent id="23" />
+ <Parent id="24" />
+ </Object>
+ <Object type="Label" id="30" >
+ <Parent id="18" />
+ <Parent id="26" />
+ <Parent id="7" />
+ <Parent id="20" />
+ </Object>
+ <Object type="Label" id="31" >
+ <Parent id="2" />
+ <Parent id="28" />
+ <Parent id="9" />
+ <Parent id="8" />
+ </Object>
+ <Object type="ConstrainedPoint" id="32" >
+ <Parent id="17" />
+ <Parent id="29" />
+ </Object>
+ <Object type="Locus" id="33" >
+ <Parent id="13" />
+ <Parent id="29" />
+ <Parent id="23" />
+ <Parent id="6" />
+ <Parent id="5" />
+ <Parent id="22" />
+ <Parent id="27" />
+ </Object>
+ <Object type="LineAB" id="34" >
+ <Parent id="23" />
+ <Parent id="32" />
+ </Object>
+ <Object type="LinePerpend" id="35" >
+ <Parent id="34" />
+ <Parent id="22" />
+ </Object>
+ <Object type="LineLineIntersection" id="36" >
+ <Parent id="35" />
+ <Parent id="34" />
+ </Object>
+ <Object type="LineReflection" id="37" >
+ <Parent id="36" />
+ <Parent id="27" />
+ </Object>
+ <Object type="LinePerpend" id="38" >
+ <Parent id="34" />
+ <Parent id="37" />
+ </Object>
+ <Object type="LineLineIntersection" id="39" >
+ <Parent id="38" />
+ <Parent id="34" />
+ </Object>
+ </Hierarchy>
+ <View>
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="true" color="#0000ff" object="30" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="true" color="#0000ff" object="33" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="true" color="#0000ff" object="31" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="false" color="#0000ff" object="29" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="false" color="#0000ff" object="24" />
+ <Draw width="-1" point-style="Round" namecalcer="8" style="SolidLine" shown="true" color="#0000ff" object="23" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="false" color="#0000ff" object="34" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="true" color="#0000ff" object="39" />
+ <Draw width="-1" point-style="Round" namecalcer="20" style="SolidLine" shown="true" color="#0000ff" object="22" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="true" color="#0000ff" object="27" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="false" color="#0000ff" object="38" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="false" color="#0000ff" object="35" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="false" color="#0000ff" object="37" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="true" color="#0000ff" object="32" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="false" color="#0000ff" object="36" />
+ <Draw width="-1" point-style="Round" namecalcer="none" style="SolidLine" shown="true" color="#0000ff" object="25" />
+ </View>
+</KigDocument>