mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-10 21:58:48 +01:00
Add a little ASCII art Mandelbrot example.
This commit is contained in:
36
example/mandelbrot.wren
Normal file
36
example/mandelbrot.wren
Normal file
@ -0,0 +1,36 @@
|
||||
var yMin = -0.2
|
||||
var yMax = 0.1
|
||||
var xMin = -1.5
|
||||
var xMax = -1.1
|
||||
|
||||
for (yPixel in 0...24) {
|
||||
var y = (yPixel / 24) * (yMax - yMin) + yMin
|
||||
for (xPixel in 0...80) {
|
||||
var x = (xPixel / 79) * (xMax - xMin) + xMin
|
||||
var pixel = " "
|
||||
var x0 = x
|
||||
var y0 = y
|
||||
for (iter in 0...80) {
|
||||
var x1 = (x0 * x0) - (y0 * y0)
|
||||
var y1 = 2 * x0 * y0
|
||||
|
||||
// Add the seed.
|
||||
x1 = x1 + x
|
||||
y1 = y1 + y
|
||||
|
||||
x0 = x1
|
||||
y0 = y1
|
||||
|
||||
// Stop if the point escaped.
|
||||
var d = (x0 * x0) + (y0 * y0)
|
||||
if (d > 4) {
|
||||
pixel = " .:;+=xX$&"[(iter / 8).floor]
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
IO.write(pixel)
|
||||
}
|
||||
|
||||
IO.print("")
|
||||
}
|
||||
Reference in New Issue
Block a user