<p>There is some information about the <a href="https://github.com/scottdraves/flam3/wiki/XML-File-Format" rel="nofollow noreferrer">XML file format</a> used for .flame files. There are a number of forks of this program written in different languages, the <a href="https://sourceforge.net/projects/apophysis/" rel="nofollow noreferrer">original site</a> is by definition the place to go for answers; unless you are using a fork - the original  seems to have been abandoned years ago.</p>

<p>Coefs is 6 floats which defines the coefficients for the affine part of the function, in row order (a d b e c f). Xform has an <strong>interpolation_type</strong> which is a string describing the method for interpolation of xform positions: options are "log", "linear", "old", etc. (a <a href="https://github.com/mebigfatguy/apophysis-j/tree/master/src/org/apophysis/variations" rel="nofollow noreferrer">list of a few dozen options is here</a>). There can be multiple xforms, each applies a transformation to the previous state.</p>

<p>The spherical transform is complex, there's a 19 page .docx tutorial with 9 pages of examples at: "<a href="https://www.deviantart.com/universalkinase/art/Understanding-Spherical-Transforms-Apophysis-Tut-506110933" rel="nofollow noreferrer">Understanding Spherical Transforms: Apophysis Tut</a>" by UniversalKinase (direct link to <a href="https://www.deviantart.com/download/506110933/understanding_spherical_transforms__apophysis_tut_by_universalkinase-d8dbpp1.zip?token=e603ea5d429e198913d7f60f3aaddc4620d78399&amp;ts=1537297719" rel="nofollow noreferrer">.ZIP</a> file). Another tutorial is "<a href="https://www.deviantart.com/fiery-fire/art/Apo-Tuto-Sphericals-146647576" rel="nofollow noreferrer">Apo-Tuto Sphericals</a>" by Fiery-Fire.</p>

CC BY-SA 4.0
2018-09-18T19:28:52.547Z
2018-09-18T19:28:52.547Z
Rob
<p>I pulled a .zip file from <a href="https://www.deviantart.com/clairejones/art/Apophysis-Starter-Flames-V-67029474" rel="nofollow noreferrer">https://www.deviantart.com/clairejones/art/Apophysis-Starter-Flames-V-67029474</a> and the file I was interested was the <code>.flame</code> file which contains parameters for several different Fractal Flames.</p>

<p>One of them looks like this:</p>

<pre><code>&lt;flame name="CJ_Starter_Flame_1" version="Apophysis 2.06c beta" size="640 512" center="0.536884822382779 -0.626382357937026" scale="764.167485097157" angle="1.82997772071605" rotate="-104.85" oversample="2" filter="1" quality="5" background="0 0 0" brightness="2" gamma="5" &gt;
   &lt;xform weight="0.5" color="0" linear="0.98505982500501" spherical="0.0149401749949902" coefs="0.047466 -0.574133 0.524841 0.137706 0.620555 -0.116118" /&gt;
   &lt;xform weight="0.5" color="1" spherical="0.17593513103202" bubble="0.82406486896798" coefs="0.268823 -0.261644 0.261644 0.268823 0.204257 0.083402" /&gt;
   &lt;palette count="256" format="RGB"&gt;
      253625384A3348593D5C664C6E685B7A7260827363938169
...
   &lt;/palette&gt;
&lt;/flame&gt;
</code></pre>

<p>Having read <a href="http://flam3.com/flame.pdf" rel="nofollow noreferrer">the original Draves &amp; Reckase paper</a> some of this is obvious.  The <code>coefs=</code> probably contains the parameters of the affine transform.  The thing that really confuses me is how a single <code>xform</code> clause mentions two variants, e.g. <code>linear</code> and <code>spherical</code>.  It appears that the values on each attribute sum to 1 so they are probably weights/probabilities.  But why are there two xform clauses?  Are they alternating weighted transform sets?</p>

<2d>
How do I interpret the format of the .flame files used by apophysis?
Mutant Bob
# How do I interpret the format of the .flame files used by apophysis?

(Asked by: username_0 on 2018-07-31)

I pulled a .zip file from <https://www.deviantart.com/clairejones/art/Apophysis-Starter-Flames-V-67029474> and the file I was interested was the `.flame` file which contains parameters for several different Fractal Flames.

One of them looks like this:

```
<flame name="CJ_Starter_Flame_1" version="Apophysis 2.06c beta" size="640 512" center="0.536884822382779 -0.626382357937026" scale="764.167485097157" angle="1.82997772071605" rotate="-104.85" oversample="2" filter="1" quality="5" background="0 0 0" brightness="2" gamma="5" >
   <xform weight="0.5" color="0" linear="0.98505982500501" spherical="0.0149401749949902" coefs="0.047466 -0.574133 0.524841 0.137706 0.620555 -0.116118" />
   <xform weight="0.5" color="1" spherical="0.17593513103202" bubble="0.82406486896798" coefs="0.268823 -0.261644 0.261644 0.268823 0.204257 0.083402" />
   <palette count="256" format="RGB">
      253625384A3348593D5C664C6E685B7A7260827363938169
...
   </palette>
</flame>

```

Having read [the original Draves & Reckase paper](http://flam3.com/flame.pdf) some of this is obvious. The `coefs=` probably contains the parameters of the affine transform. The thing that really confuses me is how a single `xform` clause mentions two variants, e.g. `linear` and `spherical`. It appears that the values on each attribute sum to 1 so they are probably weights/probabilities. But why are there two xform clauses? Are they alternating weighted transform sets?

**Tags:** 2d


---

## 1 answers

### Answer by username_1 on 2018-09-18. Score: 2

There is some information about the [XML file format](https://github.com/scottdraves/flam3/wiki/XML-File-Format) used for .flame files. There are a number of forks of this program written in different languages, the [original site](https://sourceforge.net/projects/apophysis/) is by definition the place to go for answers; unless you are using a fork - the original seems to have been abandoned years ago.

Coefs is 6 floats which defines the coefficients for the affine part of the function, in row order (a d b e c f). Xform has an **interpolation\_type** which is a string describing the method for interpolation of xform positions: options are "log", "linear", "old", etc. (a [list of a few dozen options is here](https://github.com/mebigfatguy/apophysis-j/tree/master/src/org/apophysis/variations)). There can be multiple xforms, each applies a transformation to the previous state.

The spherical transform is complex, there's a 19 page .docx tutorial with 9 pages of examples at: "[Understanding Spherical Transforms: Apophysis Tut](https://www.deviantart.com/universalkinase/art/Understanding-Spherical-Transforms-Apophysis-Tut-506110933)" by UniversalKinase (direct link to [.ZIP](https://www.deviantart.com/download/506110933/understanding_spherical_transforms__apophysis_tut_by_universalkinase-d8dbpp1.zip?token=e603ea5d429e198913d7f60f3aaddc4620d78399&ts=1537297719) file). Another tutorial is "[Apo-Tuto Sphericals](https://www.deviantart.com/fiery-fire/art/Apo-Tuto-Sphericals-146647576)" by Fiery-Fire.


---

