Julia set: Difference between revisions
Content added Content deleted
m (no longer draft) |
(Added Elixir) |
||
Line 6: | Line 6: | ||
* [[Mandelbrot_set|Mandelbrot Set]] |
* [[Mandelbrot_set|Mandelbrot Set]] |
||
<br><br> |
<br><br> |
||
=={{header|AWK}}== |
=={{header|AWK}}== |
||
<lang AWK> |
<lang AWK> |
||
Line 57: | Line 58: | ||
# |
# |
||
</pre> |
</pre> |
||
=={{header|C++}}== |
=={{header|C++}}== |
||
[[File:JuliaSetCpp.png|200px|thumb|right]] |
[[File:JuliaSetCpp.png|200px|thumb|right]] |
||
Line 292: | Line 294: | ||
</pre> |
|||
=={{header|Elixir}}== |
|||
{{trans|AWK}} |
|||
<lang elixir>defmodule Julia do |
|||
def set(c_real, c_imag) do |
|||
IO.puts "#{c_real}, #{c_imag}" |
|||
vlist = Enum.take_every(-100..100, 4) |
|||
hlist = Enum.take_every(-280..280, 4) |
|||
Enum.each(vlist, fn v -> |
|||
Enum.map(hlist, fn h -> |
|||
loop(c_real, c_imag, h/200, v/100, "#", 0) |
|||
end) |> IO.puts |
|||
end) |
|||
end |
|||
defp loop(_, _, _, _, char, i) when i>=50, do: char |
|||
defp loop(_, _, _, _, " ", _), do: " " |
|||
defp loop(c_real, c_imag, x, y, char, i) do |
|||
z_real = (x * x - y * y) + c_real |
|||
z_imag = x * y * 2 + c_imag |
|||
char = if z_real * z_real > 10000, do: " ", else: char |
|||
loop(c_real, c_imag, z_real, z_imag, char, i+1) |
|||
end |
|||
end |
|||
c_real = if r=Enum.at(System.argv, 0), do: Float.parse(r) |> elem(0), else: -0.8 |
|||
c_imag = if c=Enum.at(System.argv, 1), do: Float.parse(c) |> elem(0), else: 0.156 |
|||
Julia.set(c_real, c_imag)</lang> |
|||
{{out}} |
|||
<pre style="font-size: 50%;"> |
|||
-0.8, 0.156 |
|||
# |
|||
# |
|||
## |
|||
####### |
|||
## #### |
|||
## |
|||
# #### ## # |
|||
# # ### ### # ## # |
|||
# ###### ########## # # |
|||
# # ###### ########## # |
|||
# ### ### # ############ ###### # |
|||
################ ################### # # ### # |
|||
################ #################### ## # ### ## |
|||
## ############################## ### #### # ####### ### |
|||
# ## ## # ##################### # #### ## #### ### ########### ###### |
|||
# # ##### ##################### # # ## ###################### |
|||
### ####### #### # ####################### # ### ############ ### ## ## |
|||
## ## ## ################# ######################## ### ########### ## ### ### |
|||
################# ## ###### # # ################### # ##### ## ######## # ### # ###### |
|||
############ ## ## # ### ############## # ## ### ## # #### # # ## ### |
|||
## ########### ## #### ############# ## # ## ### ## ## ####### ## ##### |
|||
######### ############# ### # # ####### # # ### ############# ######### |
|||
##### ## ####### ## ## ### ## # ## ############# #### ## ########### ## |
|||
### ## # # #### # ## ### ## # ############## ### # ## ## ############ |
|||
###### # ### # ######## ## ##### # ################### # # ###### ## ################# |
|||
### ### ## ########### ### ######################## ################# ## ## ## |
|||
## ## ### ############ ### # ####################### # #### ####### ### |
|||
###################### ## # # ##################### ##### # # |
|||
###### ########### ### #### ## #### # ##################### # ## ## # |
|||
### ####### # #### ### ############################## ## |
|||
## ### # ## #################### ################ |
|||
# ### # # ################### ################ |
|||
# ###### ############ # ### ### # |
|||
# ########## ###### # # |
|||
# # ########## ###### # |
|||
# ## # ### ### # # |
|||
# ## #### # |
|||
## |
|||
#### ## |
|||
####### |
|||
## |
|||
# |
|||
# |
|||
</pre> |
</pre> |
||