Commit 52250586 authored by David Llewellyn-Jones's avatar David Llewellyn-Jones

Added new example files to Functy. Updated packaging info (NEWS, Changelog,...

Added new example files to Functy. Updated packaging info (NEWS, Changelog, wix files, etc.). Added working folder to separate examples from unfinished functions.
parent 9071964f
EXTRA_DIST = linux/build linux/functy.spec windows/*.bat windows/functy.wxs windows/Functy.ico windows/BootStrap/Functy.proj windows/BootStrap/GTK.VSBootstrapperManifest windows/BootStrap/GTK-2.12.9/product.xml windows/BootStrap/GTK-2.12.9/en/package.xml windows/wixui/*.wxs windows/wixui/CPL.TXT windows/wixui/functy/*.wxs windows/wixui/Bitmaps/*.bmp windows/wixui/Bitmaps/*.ico examples/*.xml debian/changelog debian/compat debian/control debian/copyright debian/docs debian/functy.1 debian/menu debian/rules debian/watch resources/*
EXTRA_DIST = linux/build linux/functy.spec windows/*.bat windows/functy.wxs windows/Functy.ico windows/BootStrap/Functy.proj windows/BootStrap/GTK.VSBootstrapperManifest windows/BootStrap/GTK-2.12.9/product.xml windows/BootStrap/GTK-2.12.9/en/package.xml windows/wixui/*.wxs windows/wixui/CPL.TXT windows/wixui/functy/*.wxs windows/wixui/Bitmaps/*.bmp windows/wixui/Bitmaps/*.ico examples/*.xml working/*.xml debian/changelog debian/compat debian/control debian/copyright debian/docs debian/functy.1 debian/menu debian/rules debian/watch resources/cleanglade.py
SUBDIRS = src assets
dist_doc_DATA = AUTHORS ChangeLog COPYING INSTALL NEWS README
......
Functy-0.25: 1-July-2012
- Added export to Stanford Triangle Format (PLY) file for use with modelling applications.
- Option to hide the button bar.
- Improved shader compatibility for functions (or their derivatives) that have exponents (pow).
- Improved shader colour handling.
- Allow the animation to be paused with the space bar.
- Improved performance when rendering the axes.
- Reversed orientation of exported spherical functions for better consistency.
- New example files.
Functy-0.24: 29-May-2012
- Added full support for parametric curves with cylindrical cross-section, including both CPU and GPU rendering.
- Improved Windows installation package.
- New example files.
Functy-0.23: 27-May-2012
- Added initial (CPU-only) support for parametric curves with cylindrical cross-section.
Functy-0.22: 24-June-2009
- Fixed bug that caused variably-coloured spherical functions to be centred incorrectly
- Added Windows binary installer
- Fixed bug that caused variably-coloured spherical functions to be centred incorrectly.
- Added Windows binary installer.
Functy-0.21: 15-June-2009
- Fixed bug that caused spherical functions to be centred incorrectly
Functy-0.2: 14-June-2009
- Improved interface courtesey of Vadi
- Improved function interpretation (especially negatives)
- Support for more functions (acos, cosh, abs, etc.)
- Function rendering in spherical as well as Cartesian coordinates
- Improved interface courtesy of Vadi.
- Improved function interpretation (especially negatives).
- Support for more functions (acos, cosh, abs, etc.).
- Function rendering in spherical as well as Cartesian coordinates.
Functy-0.1: 26-April-2009
- First pre-release version built from SourceForge.net
- First pre-release version built from SourceForge.net.
Functy-0.1: 12-April-2009
- First pre-release version to use the autotools for the build process
- First pre-release version to use the autotools for the build process.
functy (0.25.0-1) unstable; urgency=low
* Added export to Stanford Triangle Format (PLY) file for use with modeling applications.
* Added export to Stanford Triangle Format (PLY) file for use with modelling applications.
* Option to hide the button bar.
* Improved shader compatibility for functions (or their derivatives) that have exponents (pow).
* Improved shader colour handling.
* Allow the animation to be paused with the space bar.
* Improved performance when rendering the axes.
* Reversed orientation of exported spherical functions for better consistency.
* New example files.
-- David Llewellyn-Jones <david@flypig.co.uk> Tue, 29 May 2012 11:06:00 +0100
-- David Llewellyn-Jones <david@flypig.co.uk> Sun, 1 July 2012 09:36:00 +0100
functy (0.24.0-1) unstable; urgency=low
* Added full support for parametric curves with cylindrical cross-section, including both CPU and GPU rendering.
* Improved Windows installation package.
* New example files.
-- David Llewellyn-Jones <david@flypig.co.uk> Tue, 29 May 2012 11:06:00 +0100
......@@ -19,6 +27,6 @@ functy (0.23.0-1) unstable; urgency=low
functy (0.22.0-1) unstable; urgency=low
* Initial release
* Initial release.
-- David Llewellyn-Jones <david@flypig.co.uk> Sat, 27 Jun 2009 20:53:57 +0100
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-10.000000" y="-10.000000" z="-10.000000"/>
</min>
<width>
<coord x="20.000000" y="20.000000" z="20.000000"/>
</width>
</range>
<function type="curve">
<equation>0.05*(1*3/((3*cos(p)**2)+(1*sin(p)**2)**(1/2)))</equation>
<red>(1+sin(25*a*44/7))/2</red>
<green>(1+cos(25*a*44/7))/2</green>
<blue>(1+cos((11/7)+(25*a*44/7)))/2</blue>
<alpha>1</alpha>
<accuracy double="0.000500"/>
<accuracy-radius double="0.020000"/>
<equation-x>4*cos(atan((2*sin(t+a*10*(22/7)))))*cos((2*a*(44/7)+(2*sin(a*20*22/7))))</equation-x>
<equation-y>4*cos(atan((2*sin(t+a*10*(22/7)))))*sin((2*a*(44/7)+(2*sin(a*20*22/7))))</equation-y>
<equation-z>4*sin(atan((2*sin(t+a*10*(22/7)))))</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-10.000000" y="-10.000000" z="-10.000000"/>
</min>
<width>
<coord x="20.000000" y="20.000000" z="20.000000"/>
</width>
</range>
<function type="curve">
<equation>0.05*(1*3/((3*cos(p-a)**2)+(1*sin(p-a)**2)**(1/2)))</equation>
<red>(1+sin(25*a*44/7))/2</red>
<green>(1+cos(25*a*44/7))/2</green>
<blue>(1+cos((11/7)+(25*a*44/7)))/2</blue>
<alpha>1</alpha>
<accuracy double="0.000500"/>
<accuracy-radius double="0.020000"/>
<equation-x>4*cos(atan((3*sin(t+a*10*(22/7)))))*cos(((sin(t)+(a/2))*(44/7)+(3*sin(a*20*22/7))))</equation-x>
<equation-y>4*cos(atan((3*sin(t+a*10*(22/7)))))*sin(((sin(t)+(a/2))*(44/7)+(3*sin(a*20*22/7))))</equation-y>
<equation-z>4*sin(atan((3*sin(t+a*10*(22/7)))))</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-0.079344" y="-0.079344" z="-0.079344"/>
</min>
<width>
<coord x="0.158687" y="0.158687" z="0.158687"/>
</width>
</range>
<function type="spherical">
<equation>(0.01*((1+cos(12*(a+(p*2)))*sin(p))+(1+cos(3*a+p))))</equation>
<red>(1+cos(p*2))/2</red>
<green>0.3</green>
<blue>cos(12*(a+(p*2)))&gt;0.9</blue>
<alpha>1</alpha>
<accuracy double="0.005000"/>
<centre-x>0</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-0.050000" y="-0.050000" z="-0.050000"/>
</min>
<width>
<coord x="0.100000" y="0.100000" z="0.100000"/>
</width>
</range>
<function type="spherical">
<equation>0.01*((3+(cos(12*(a+(p*2)))*((sin(p)+0.01)**(1.3)))+cos(4*p))*(1-((p/(22/7))**(2.5))))</equation>
<red>(1+cos(p*2))/2</red>
<green>0.3</green>
<blue>cos(12*(a+(p*2)))&gt;0.9</blue>
<alpha>1</alpha>
<accuracy double="0.005000"/>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-12.590851" y="-12.590851" z="-12.590851"/>
</min>
<width>
<coord x="25.181701" y="25.181701" z="25.181701"/>
</width>
</range>
<function type="curve">
<equation>0.1</equation>
<red>1</red>
<green>(1+sin(a*44/7))/2</green>
<blue>(1+cos(a*44/7))/2</blue>
<alpha>1</alpha>
<accuracy double="0.000200"/>
<accuracy-radius double="0.200000"/>
<equation-x>4*cos(48*a*(22/7))*cos(49*(22/7)*a)</equation-x>
<equation-y>4*sin(48*a*(22/7))*sin(49*(22/7)*a)</equation-y>
<equation-z>4*cos(32*a*(22/7))</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-12.590851" y="-12.590851" z="-12.590851"/>
</min>
<width>
<coord x="25.181701" y="25.181701" z="25.181701"/>
</width>
</range>
<function type="curve">
<equation>0.1+0.08*sin((48+32*sin(t/100))*a*(22/7))*sin(98*(22/7)*a)</equation>
<red>1</red>
<green>(1+sin(a*44/7))/2</green>
<blue>(1+cos(a*44/7))/2</blue>
<alpha>1</alpha>
<accuracy double="0.000200"/>
<accuracy-radius double="0.200000"/>
<equation-x>4*sin((48+32*sin(t/100))*a*(22/7))*cos(49*(22/7)*a)</equation-x>
<equation-y>4*sin((48+32*sin(t/100))*a*(22/7))*sin(49*(22/7)*a)</equation-y>
<equation-z>4*cos((48+32*sin(t/100))*a*(22/7))</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-12.590851" y="-12.590851" z="-12.590851"/>
</min>
<width>
<coord x="25.181701" y="25.181701" z="25.181701"/>
</width>
</range>
<function type="curve">
<equation>0.1</equation>
<red>1</red>
<green>(1+sin(a*44/7))/2</green>
<blue>(1+cos(a*44/7))/2</blue>
<alpha>1</alpha>
<accuracy double="0.000200"/>
<accuracy-radius double="0.200000"/>
<equation-x>4*sin((48+32*sin(t/100))*a*(22/7))*cos(49*(22/7)*a)</equation-x>
<equation-y>4*sin((48+32*sin(t/100))*a*(22/7))*sin(49*(22/7)*a)</equation-y>
<equation-z>a</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-10.000000" y="-10.000000" z="-10.000000"/>
</min>
<width>
<coord x="20.000000" y="20.000000" z="20.000000"/>
</width>
</range>
<function type="curve">
<equation>0.05*((1*2)/((((2*cos(p))**2)+((1*sin(p))**2))**(1/2)))</equation>
<red>(1+cos(a*44/7))/2</red>
<green>(1+cos((22/7)+a*44/7))/2</green>
<blue>(1+sin(a*44/7))/2</blue>
<alpha>1</alpha>
<accuracy double="0.002000"/>
<accuracy-radius double="0.100000"/>
<equation-x>4*sin(a*(22/7)+(t/2))*cos(20*(22/7)*a)</equation-x>
<equation-y>4*cos(a*(22/7)+(t/12))</equation-y>
<equation-z>4*sin(a*(22/7)+(t/5))*sin(20*(22/7)*a)</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-10.000000" y="-10.000000" z="-10.000000"/>
</min>
<width>
<coord x="20.000000" y="20.000000" z="20.000000"/>
</width>
</range>
<function type="curve">
<equation>0.05</equation>
<red>(1+cos(a*44/7))/2</red>
<green>(1+cos((22/7)+a*44/7))/2</green>
<blue>(1+sin(a*44/7))/2</blue>
<alpha>1</alpha>
<accuracy double="0.000500"/>
<accuracy-radius double="0.200000"/>
<equation-x>4*sin(a*(22/7)+(t/10))*cos(20*(22/7)*a)</equation-x>
<equation-y>4*sin(a*(22/7)+(t/10))*sin(20*(22/7)*a)</equation-y>
<equation-z>4*cos(a*(22/7)+(t/10))</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
<function type="curve">
<equation>0.05</equation>
<red>(1+cos(a*44/7))/2</red>
<green>(1+cos((22/7)+a*44/7))/2</green>
<blue>(1+sin(a*44/7))/2</blue>
<alpha>1</alpha>
<accuracy double="0.000500"/>
<accuracy-radius double="0.200000"/>
<equation-x>4*cos(a*(22/7)+(t/11))</equation-x>
<equation-y>4*sin(a*(22/7)+(t/11))*sin(20*(22/7)*a)</equation-y>
<equation-z>4*sin(a*(22/7)+(t/11))*cos(20*(22/7)*a)</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
<function type="curve">
<equation>0.05</equation>
<red>(1+cos(a*44/7))/2</red>
<green>(1+cos((22/7)+a*44/7))/2</green>
<blue>(1+sin(a*44/7))/2</blue>
<alpha>1</alpha>
<accuracy double="0.000500"/>
<accuracy-radius double="0.200000"/>
<equation-x>4*sin(a*(22/7)+(t/12))*cos(20*(22/7)*a)</equation-x>
<equation-y>4*cos(a*(22/7)+(t/12))</equation-y>
<equation-z>4*sin(a*(22/7)+(t/12))*sin(20*(22/7)*a)</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
......@@ -27,20 +27,31 @@
<Component Id='ExampleFiles' Guid='877D949E-B708-4A17-97CE-A0EE7A9404FD'>
<File Id='ExampleBouncingBall' Name='BouncingBall.xml' DiskId='1' Source='examples\BouncingBall.xml' />
<File Id='ExampleBumpySlides' Name='BumpySlides.xml' DiskId='1' Source='examples\BumpySlides.xml' />
<File Id='ExampleCurveSphere01' Name='CurveSphere01.xml' DiskId='1' Source='examples\CurveSphere01.xml' />
<File Id='ExampleCurveSphere02' Name='CurveSphere02.xml' DiskId='1' Source='examples\CurveSphere02.xml' />
<File Id='ExampleFan01' Name='Fan01.xml' DiskId='1' Source='examples\Fan01.xml' />
<File Id='ExampleFlower01' Name='Flower01.xml' DiskId='1' Source='examples\Flower01.xml' />
<File Id='ExampleFlower02' Name='Flower02.xml' DiskId='1' Source='examples\Flower02.xml' />
<File Id='ExampleGrid' Name='Grid.xml' DiskId='1' Source='examples\Grid.xml' />
<File Id='ExampleIslands01' Name='Islands01.xml' DiskId='1' Source='examples\Islands01.xml' />
<File Id='ExampleLavaLamp01' Name='LavaLamp01.xml' DiskId='1' Source='examples\LavaLamp01.xml' />
<File Id='ExampleLavaLamp02' Name='LavaLamp02.xml' DiskId='1' Source='examples\LavaLamp02.xml' />
<File Id='ExampleLemonade01' Name='Lemonade01.xml' DiskId='1' Source='examples\Lemonade01.xml' />
<File Id='ExampleLissajous01' Name='Lissajous01.xml' DiskId='1' Source='examples\Lissajous01.xml' />
<File Id='ExampleLissajous02' Name='Lissajous02.xml' DiskId='1' Source='examples\Lissajous02.xml' />
<File Id='ExampleLissajous03' Name='Lissajous03.xml' DiskId='1' Source='examples\Lissajous03.xml' />
<File Id='ExampleLissajousLights' Name='LissajousLights.xml' DiskId='1' Source='examples\LissajousLights.xml' />
<File Id='ExampleLogo' Name='Logo.xml' DiskId='1' Source='examples\Logo.xml' />
<File Id='ExampleLoops01' Name='Loops01.xml' DiskId='1' Source='examples\Loops01.xml' />
<File Id='ExampleMetal' Name='Metal.xml' DiskId='1' Source='examples\Metal.xml' />
<File Id='ExamplePulsate' Name='Pulsate.xml' DiskId='1' Source='examples\Pulsate.xml' />
<File Id='ExampleRibbon01' Name='Ribbon01.xml' DiskId='1' Source='examples\Ribbon01.xml' />
<File Id='ExampleScaryForest' Name='ScaryForest.xml' DiskId='1' Source='examples\ScaryForest.xml' />
<File Id='ExampleScarySlides' Name='ScarySlides.xml' DiskId='1' Source='examples\ScarySlides.xml' />
<File Id='ExampleSpikes01' Name='Spikes01.xml' DiskId='1' Source='examples\Spikes01.xml' />
<File Id='ExampleSpiral01' Name='Spiral01.xml' DiskId='1' Source='examples\Spiral01.xml' />
<File Id='ExampleSpiral02' Name='Spiral02.xml' DiskId='1' Source='examples\Spiral02.xml' />
<File Id='ExampleSpiral03' Name='Spiral03.xml' DiskId='1' Source='examples\Spiral03.xml' />
<File Id='ExampleTartan' Name='Tartan.xml' DiskId='1' Source='examples\Tartan.xml' />
<File Id='ExampleWrap01' Name='Wrap01.xml' DiskId='1' Source='examples\Wrap01.xml' />
<File Id='ExampleWrap02' Name='Wrap02.xml' DiskId='1' Source='examples\Wrap02.xml' />
......
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-19.980097" y="-19.980097" z="-19.980097"/>
</min>
<width>
<coord x="39.960194" y="39.960194" z="39.960194"/>
</width>
</range>
<function type="cartesian">
<equation>sin(x*3)/5</equation>
<red>1.000</red>
<green>0</green>
<blue>0.550</blue>
<alpha>1</alpha>
<accuracy double="1.000000"/>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-11.039200" y="-8.086800" z="-11.000000"/>
</min>
<width>
<coord x="20.000000" y="20.000000" z="20.000000"/>
</width>
</range>
<function type="curve">
<equation>0.2</equation>
<red>(floor(a*50) MOD 2) &gt; 0</red>
<green>0.550</green>
<blue>0.550</blue>
<alpha>1</alpha>
<accuracy double="0.020000"/>
<accuracy-radius double="0.020000"/>
<equation-x>2*sin(2*a*(22/7))</equation-x>
<equation-y>(a*16)-8</equation-y>
<equation-z>2*cos(2*a*(22/7))</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
<function type="curve">
<equation>0.05</equation>
<red>1</red>
<green>0</green>
<blue>0</blue>
<alpha>1</alpha>
<accuracy double="0.020000"/>
<accuracy-radius double="0.020000"/>
<equation-x>2*sin(2*0.3*(22/7))-(a*3)</equation-x>
<equation-y>(0.3*16)-8</equation-y>
<equation-z>2*cos(2*0.3*(22/7))+(a*1.5)</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
<function type="curve">
<equation>0.05</equation>
<red>1</red>
<green>0</green>
<blue>0</blue>
<alpha>1</alpha>
<accuracy double="0.020000"/>
<accuracy-radius double="0.020000"/>
<equation-x>2*sin(2*0.5*(22/7))+(a*2)</equation-x>
<equation-y>(0.5*16)-8-(a*2)</equation-y>
<equation-z>2*cos(2*0.5*(22/7))-(a*3)</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
<function type="curve">
<equation>(1-a)/5</equation>
<red>1</red>
<green>0</green>
<blue>0</blue>
<alpha>1</alpha>
<accuracy double="0.020000"/>
<accuracy-radius double="0.020000"/>
<equation-x>2*sin(2*0.5*(22/7))+(((0.2*a)+1)*2)</equation-x>
<equation-y>(0.5*16)-8-(((0.2*a)+1)*2)</equation-y>
<equation-z>2*cos(2*0.5*(22/7))-(((0.2*a)+1)*3)</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
<function type="curve">
<equation>(1-a)/5</equation>
<red>1</red>
<green>0</green>
<blue>0</blue>
<alpha>1</alpha>
<accuracy double="0.020000"/>
<accuracy-radius double="0.020000"/>
<equation-x>2*sin(2*0.3*(22/7))-(((0.2*a)+1)*3)</equation-x>
<equation-y>(0.3*16)-8</equation-y>
<equation-z>2*cos(2*0.3*(22/7))+(((0.2*a)+1)*1.5)</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
<function type="spherical">
<equation>3*((a&lt;0.001)+((a&gt;((22/7)-0.1))*(a&lt;((22/7)+0.1))))</equation>
<red>0.675</red>
<green>0.714</green>
<blue>1.000</blue>
<alpha>0.800</alpha>
<accuracy double="0.020000"/>
<centre-x>2*sin(2*0.3*(22/7))</centre-x>
<centre-y>(0.3*16)-8</centre-y>
<centre-z>2*cos(2*0.3*(22/7))</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-10.371368" y="-9.109315" z="-10.794625"/>
</min>
<width>
<coord x="21.589248" y="21.589248" z="21.589248"/>
</width>
</range>
<function type="curve">
<equation>(2*a)*(2+sin(a+t))/2</equation>
<red>1.000</red>
<green>0.550</green>
<blue>0.550</blue>
<alpha>1</alpha>
<accuracy double="0.020000"/>
<accuracy-radius double="0.020000"/>
<equation-x>(cos(a*(22/7))**2)</equation-x>
<equation-y>exp(a**2)</equation-y>
<equation-z>(4*a)-3</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
</functy>
<?xml version='1.0' encoding='UTF-8' ?>
<functy>
<settings>
<show-axes bool="0"/>
<invert bool="0"/>
<wireframe bool="0"/>
</settings>
<range>
<min>
<coord x="-10.000000" y="-10.000000" z="-10.000000"/>
</min>
<width>
<coord x="20.000000" y="20.000000" z="20.000000"/>
</width>
</range>
<function type="curve">
<equation>0.1</equation>
<red>1.000</red>
<green>0.550</green>
<blue>0.550</blue>
<alpha>1</alpha>
<accuracy double="0.002000"/>
<accuracy-radius double="0.020000"/>
<equation-x>4*cos(atan((2*sin(a*20*(22/7)))))*cos((2*a*(44/7)))</equation-x>
<equation-y>4*cos(atan((2*sin(a*20*(22/7)))))*sin((2*a*(44/7)))</equation-y>
<equation-z>4*sin(atan((2*sin(a*20*(22/7)))))</equation-z>
<centre-x>0.000</centre-x>
<centre-y>0.000</centre-y>
<centre-z>0.000</centre-z>
<texture-file></texture-file>
<texture-x-scale>1.0</texture-x-scale>
<texture-y-scale>1.0</texture-y-scale>
<texture-x-offset>0.0</texture-x-offset>
<texture-y-offset>0.0</texture-y-offset>
</function>
<function type="curve">
<equation></