Homer had a lyre. You have Grok Imagine.
Create a compelling scene from Homer’s The Odyssey that shows what Grok @Imagine’s video and voice capabilities can do. We’re awarding $100K, $50K, and $25K to the top three videos submitted by quoting this post. 🧵
Apparently, grok sees chaos differently in its imagination.
#mandelbrot#chaos@imagine
Prompt:
The Mandelbrot set is defined by iterating a single complex quadratic map:
zn+1=zn2+c,z0=0z_{n+1} = z_n^2 + c, \qquad z_0 = 0zn+1=zn2+c,z0=0
A point c∈Cc \in \mathbb{C}
c∈C belongs to the set if the orbit {zn}\{z_n\}
{zn} stays bounded forever. Everything else in the rendering is bookkeeping around that one line.
Escape criterion. You can't iterate forever, so you use the fact that once ∣zn∣>2|z_n| > 2
∣zn∣>2, the orbit is guaranteed to diverge. (If ∣z∣>2|z| > 2
∣z∣>2 and ∣z∣≥∣c∣|z| \geq |c|
∣z∣≥∣c∣, then ∣z2+c∣≥∣z∣2−∣c∣≥∣z∣(∣z∣−1)>∣z∣|z^2 + c| \geq |z|^2 - |c| \geq |z|(|z| - 1) > |z|
∣z2+c∣≥∣z∣2−∣c∣≥∣z∣(∣z∣−1)>∣z∣, and the gap widens each step.) So iterate until either ∣z∣2>4|z|^2 > 4
∣z∣2>4 or you hit a cap NN
N.
Real-valued form. Writing z=x+iyz = x + iy
z=x+iy and c=a+ibc = a + ib
c=a+ib:
xn+1=xn2−yn2+ayn+1=2xnyn+bx_{n+1} = x_n^2 - y_n^2 + a \qquad y_{n+1} = 2x_ny_n + bxn+1=xn2−yn2+ayn+1=2xnyn+b
Cache x2x^2
x2 and y2y^2
y2 — you need them for both the update and the bailout test, so one iteration costs 3 multiplies, not 5.
Pixel-to-plane mapping
For an image W×HW \times H
W×H pixels over the rectangle [xmin,xmax]×[ymin,ymax][x_{\min}, x_{\max}] \times [y_{\min}, y_{\max}]
[xmin,xmax]×[ymin,ymax]:
a=xmin+(px+0.5)(xmax−xmin)Wb=ymax−(py+0.5)(ymax−ymin)Ha = x_{\min} + \frac{(p_x + 0.5)(x_{\max} - x_{\min})}{W} \qquad b = y_{\max} - \frac{(p_y + 0.5)(y_{\max} - y_{\min})}{H}a=xmin+W(px+0.5)(xmax−xmin)b=ymax−H(py+0.5)(ymax−ymin)
The +0.5+0.5
+0.5 samples pixel centers; the flipped sign on bb
b accounts for screen coordinates running downward. Keep xmax−xminymax−ymin=WH\frac{x_{\max}-x_{\min}}{y_{\max}-y_{\min}} = \frac{W}{H}
ymax−yminxmax−xmin=HW or the set comes out stretched. A good default window is [−2.5,1]×[−1.25,1.25][-2.5, 1] \times [-1.25, 1.25]
[−2.5,1]×[−1.25,1.25].
The algorithm
```
for each pixel (px, py):
a, b = pixel_to_complex(px, py)
x = y = x2 = y2 = 0
n = 0
while x2 + y2 <= 4 and n < N:
y = 2*x*y + b
x = x2 - y2 + a
x2 = x*x
y2 = y*y
n += 1
color = palette(n, x2 + y2)
```
Note the order inside the loop: y must be updated before x is overwritten, since it needs the old x.
Coloring
Raw nn
n gives visible concentric bands, because it's an integer. The standard fix is the normalized iteration count:
ν=n+1−log(log∣zn∣)log2\nu = n + 1 - \frac{\log(\log|z_n|)}{\log 2}ν=n+1−log2log(log∣zn∣)
This works because near the bailout radius ∣zn+1∣≈∣zn∣2|z_{n+1}| \approx |z_n|^2
∣zn+1∣≈∣zn∣2, so loglog∣z∣\log\log|z|
loglog∣z∣ increases by exactly log2\log 2
log2 per step — the correction term interpolates the fractional position between iterations. Run 2–3 extra iterations past the bailout before evaluating it; the estimate is more accurate the larger ∣zn∣|z_n|
∣zn∣ is.
Then map ν\nu
ν through a palette. A cheap continuous one: hue=ν/N\text{hue} = \nu / N
hue=ν/N, or sinusoids at three offsets, R=sin(fν)R = \sin(f\nu)
R=sin(fν), G=sin(fν+2)G = \sin(f\nu + 2)
G=sin(fν+2), B=sin(fν+4)B = \sin(f\nu + 4)
B=sin(fν+4), rescaled to [0,255][0,255]
[0,255]. Points that never escaped (n=Nn = N
n=N) get painted black.
Worthwhile optimizations
Interior shortcut. The two largest bounded regions have closed forms, and testing them skips NN
N iterations for a large fraction of pixels. Main cardioid, with q=(a−14)2+b2q = (a - \tfrac14)^2 + b^2
q=(a−41)2+b2:
q(q+a−14)≤14b2q\left(q + a - \tfrac14\right) \leq \tfrac14 b^2q(q+a−41)≤41b2
Period-2 bulb:
(a+1)2+b2≤116(a+1)^2 + b^2 \leq \tfrac{1}{16}(a+1)2+b2≤161
Symmetry. The set is symmetric about the real axis, so if your window straddles b=0b = 0
b=0 evenly you compute half and mirror.
Periodicity checking. Store zz
z every few iterations and compare; if the orbit returns to within ϵ\epsilon
ϵ of a stored value, it's periodic and therefore bounded — bail out early as interior.
Iteration budget. NN
N has to grow with zoom or the boundary detail turns to mush. Something like N∝log(1/zoom)N \propto \log(1/\text{zoom})
N∝log(1/zoom) or just N=100⋅2kN = 100 \cdot 2^{k}
N=100⋅2k for zoom level kk
k.
Anti-aliasing. Supersample 2×2 or 4×4 per pixel and average the colors. The boundary is fractal, so no amount of sampling fully resolves it, but this kills the worst of the crawling.
Precision wall
Double precision has about 15–16 significant digits, which caps you around 101310^{13}
1013–101410^{14}
1014 magnification before the pixel grid degenerates into visible blocks. Past that you need arbitrary-precision arithmetic, or the standard trick: perturbation theory — compute one high-precision reference orbit, then track nearby points as low-precision deltas δn+1=2znδn+δn2+δc\delta_{n+1} = 2z_n\delta_n + \delta_n^2 + \delta_c
δn+1=2znδn+δn2+δc, with series approximation to skip the early iterations. render this. no talking
@JaneidyEve@HoffPlanet The winner were selected by Verified Premium Home Timeline impressions first, then by quality of production. Lurker accounts has ZERO chance of winning a prize.
ART IS ART
Art does not ask what tool you used.
It asks if you made something worth looking at.
That is the whole argument.
The rest is noise.
AI artists are not a glitch in the timeline.
They are here. They ship. They stay up late.
They build worlds, characters, mornings, and tiny impossible things that did not exist yesterday.
Some people will keep calling it theft.
Some will keep calling it slop.
Fine. Let them talk.
We will keep posting.
If a piece moves you, that is art.
If a community shows up under it and makes more, that is a scene.
If someone found a way to tell their story after years of being locked out of the old gate, that is not a crime. That is the point.
Support the work.
Quote the piece you love.
Leave the artist a real comment, not a lecture.
The future is not waiting for permission.
It is already on the timeline.
We grow it together.
@llx1llx1@BowtiedQueenBee Corny.. yes, and that was the first time a saw a grown man walk around with untied shoes like it was cool or something...not long after that I saw someone doing it at school. before sagging was a thing.
poteto poteto poteto
is a referral program in the works, by chance? I have @bot pilled many human beings and I'm not stopping anytime soon but if I could be compensation with tokens perhaps I would certainly use them all :) Thank you for reading!