Skip to content

Commit 7997522

Browse files
committed
adding skeleton for conv update chapter
1 parent a59dcc8 commit 7997522

File tree

8 files changed

+145
-4
lines changed

8 files changed

+145
-4
lines changed

SUMMARY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
* [Plotting](contents/plotting/plotting.md)
77
* [Domain Coloring](contents/domain_coloring/domain_coloring.md)
88
* [Iterated Function Systems](contents/IFS/IFS.md)
9+
* [Fractal Flame](contents/fractal_flame/fractal_flame.md)
910
* [Data Structures](contents/data_structures/data_structures.md)
1011
* [Stacks and Queues](contents/stacks_and_queues/stacks_and_queues.md)
1112
* [Mathematical Background](contents/mathematical_background/mathematical_background.md)
@@ -21,7 +22,7 @@
2122
* [Matrix Methods](contents/matrix_methods/matrix_methods.md)
2223
* [Gaussian Elimination](contents/gaussian_elimination/gaussian_elimination.md)
2324
* [Thomas Algorithm](contents/thomas_algorithm/thomas_algorithm.md)
24-
* [Convolutions](contents/convolutions/convolutions.md)
25+
* [Signal Processing](contents/signal_processing/signal_processing.md)
2526
* [Computational Geometry](contents/computational_geometry/computational_geometry.md)
2627
* [Gift Wrapping](contents/gift_wrapping/gift_wrapping.md)
2728
* [Jarvis March](contents/jarvis_march/jarvis_march.md)

contents/IFS/IFS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ The code examples are licensed under the MIT license (found in [LICENSE.md](http
225225

226226
##### Text
227227

228-
The text of this chapter was written by [James Schloss](https://github.com/leio) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
228+
The text of this chapter was written by [James Schloss](https://github.com/leios) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
229229

230230
[<p><img class="center" src="../cc/CC-BY-SA_icon.svg" /></p>](https://creativecommons.org/licenses/by-sa/4.0/)
231231

contents/computus/computus.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ The code examples are licensed under the MIT license (found in [LICENSE.md](http
316316

317317
##### Text
318318

319-
The text of this chapter was written by [James Schloss](https://github.com/leio) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
319+
The text of this chapter was written by [James Schloss](https://github.com/leios) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
320320

321321
[<p><img class="center" src="../cc/CC-BY-SA_icon.svg" /></p>](https://creativecommons.org/licenses/by-sa/4.0/)
322322

contents/correlations/correlations.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Correlations
2+
3+
In the world of signal processing, there are plenty of situations where one might wish to determine how similar (or correlated) different signals might be.
4+
The most straightforward method to do this might be to multiply two signals together.
5+
For example, take two sine waves super-imposed on one another:
6+
7+
ADD IMAGE
8+
9+
Here, we show the two sine waves and their product.
10+

contents/flood_fill/flood_fill.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,7 @@ The code examples are licensed under the MIT license (found in [LICENSE.md](http
263263

264264
##### Text
265265

266-
The text of this chapter was written by [James Schloss](https://github.com/leio) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
266+
The text of this chapter was written by [James Schloss](https://github.com/leios) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
267267

268268
[<p><img class="center" src="../cc/CC-BY-SA_icon.svg" /></p>](https://creativecommons.org/licenses/by-sa/4.0/)
269269

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Fractal Flame
2+
3+
To begin this chapter, please read through the chapter on [Iterated Function Systems](../IFS/IFS.md) where we discuss methods through which fractals and fractal-like patterns can be generated with an assortment of functions known as the Hutchinson operator:
4+
5+
$$
6+
H(P) = \bigcup_{i=1}^Nf_i(P).
7+
$$
8+
9+
Here, $$P$$ represents a point in some coordinate system, and $$\bigcup_{i=1}^Nf_i(P)$$ signifies a union of $$N$$ functions ($$f_i(P)$$) that act on that point to create new, unique patterns.
10+
The classical example is the Sierpinski triangle, where the Hutchinson operator encompasses three distinct functions:
11+
12+
$$
13+
\begin{align}
14+
f_1(P) &= \frac{P + A}{2}\\
15+
f_2(P) &= \frac{P + B}{2}\\
16+
f_3(P) &= \frac{P + C}{2}\\
17+
\end{align}
18+
$$
19+
20+
Here, $$A$$, $$B$$, and $$C$$ are three arbitrarily chosen points on a two-dimensional plane ($$\mathcal{R}^2$$).
21+
There are many ways to iterate through this function system, but the most common method is with a "chaos game."
22+
This process works by choosing a random point on the plane and and then randomly selecting any function it every iteration.
23+
This will chaotically produce the an image of a triangle of triangles shown below:
24+
25+
ADD IMAGE
26+
27+
This is the Sierpinsky triangle and might be one of the most famous fractals currently known.
28+
To make sure we are all on the same page, the code to generate this triangle can be seen here:
29+
30+
ADD CODE
31+
32+
The idea of a chaos game will be used throughout this chapter to recreate similar fractal-like structures; however, the functions have much, much more variation than those shown for the Sierpinski triangle.
33+
In addition, several other concepts (like [convolutions](../signal_processing/signal_processing.md)) are used to make sure the resulting image is visually ... .
34+
To start, let's discuss the breadth of available functions and use them in the chaos game before.
35+
After that, we will discuss several image manipulation strategies make the resulting images really *pop*!
36+
37+
## Possible variations
38+
39+
In the fractal flame method, each function is known as a *variation* and there are at least 48 outlined in the original paper {{ "draves2003fractal" | cite }}.
40+
For the purposes of this chapter, we will not be covering all 48, but will instead cover a subset that allows for the greatest understanding of all possible variations allowed by this method.
41+
42+
## Image processing
43+
44+
## Example Code
45+
46+
{% method %}
47+
{% sample lang="jl" %}
48+
[import, lang:"julia"](code/julia/IFS.jl)
49+
{% endmethod %}
50+
51+
### Bibliography
52+
53+
{% references %} {% endreferences %}
54+
55+
<script>
56+
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
57+
</script>
58+
59+
## License
60+
61+
##### Code Examples
62+
63+
The code examples are licensed under the MIT license (found in [LICENSE.md](https://github.com/algorithm-archivists/algorithm-archive/blob/master/LICENSE.md)).
64+
65+
##### Text
66+
67+
The text of this chapter was written by [James Schloss](https://github.com/leios) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
68+
69+
[<p><img class="center" src="../cc/CC-BY-SA_icon.svg" /></p>](https://creativecommons.org/licenses/by-sa/4.0/)
70+
71+
#### Images/Graphics
72+
73+
- The image "[IFS triangle 1](res/IFS_triangle_1.png)" was created by [James Schloss](https://github.com/leios) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Signal Processing
2+
3+
Signal processing is the art of taking a signal and processing it into something more easily understandable.
4+
Not only is this a field of study unto itself, but it is also the heart of many computational and experimental research.
5+
6+
To be completely honest, this chapter is a bit of a stub.
7+
There is a lot of content to cover in this area, but I need some discussion of signal processing to cover other methods in the Archive right now, so I will put the necessary information here and restructure the chapter later when I can look into everything in more depth.
8+
9+
For now, please excuse the fact that we have an entire section on signal processing, but only really cover two related topics: cross-correlations and convolutions.
10+
11+
## Cross-Correlations
12+
13+
## Convolutions
14+
15+
## Example Code
16+
17+
{% method %}
18+
{% sample lang="jl" %}
19+
[import, lang:"julia"](code/julia/IFS.jl)
20+
{% endmethod %}
21+
22+
### Bibliography
23+
24+
{% references %} {% endreferences %}
25+
26+
<script>
27+
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
28+
</script>
29+
30+
## License
31+
32+
##### Code Examples
33+
34+
The code examples are licensed under the MIT license (found in [LICENSE.md](https://github.com/algorithm-archivists/algorithm-archive/blob/master/LICENSE.md)).
35+
36+
##### Text
37+
38+
The text of this chapter was written by [James Schloss](https://github.com/leios) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
39+
40+
[<p><img class="center" src="../cc/CC-BY-SA_icon.svg" /></p>](https://creativecommons.org/licenses/by-sa/4.0/)
41+
42+
#### Images/Graphics
43+
44+
- The image "[IFS triangle 1](res/IFS_triangle_1.png)" was created by [James Schloss](https://github.com/leios) and is licensed under the [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/legalcode).
45+

literature.bib

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,3 +279,15 @@ @book{torbert2016
279279
publisher={Springer}
280280
}
281281

282+
#------------------------------------------------------------------------------#
283+
# Fractal Flame
284+
#------------------------------------------------------------------------------#
285+
286+
@article{draves2003fractal,
287+
title={The fractal flame algorithm},
288+
author={Draves, Scott and Reckase, Erik},
289+
journal={Forthcoming, available from http: I Itlam3. com/flame. pdf},
290+
year={2003},
291+
publisher={Citeseer}
292+
}
293+

0 commit comments

Comments
 (0)