1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import palette;
size(200);
real fracpart(real x) {return (x-floor(x));}
pair pws(pair z) {
pair w=(z+exp(pi*I/5)/0.9)/(1+z/0.9*exp(-pi*I/5));
return exp(w)*(w^3-0.5*I);
}
int N=512;
pair a=(-1,-1);
pair b=(0.5,0.5);
real dx=(b-a).x/N;
real dy=(b-a).y/N;
pen f(int u, int v) {
pair z=a+(u*dx,v*dy);
pair w=pws(z);
real phase=degrees(w,warn=false);
real modulus=w == 0 ? 0: fracpart(log(abs(w)));
return hsv(phase,1,sqrt(modulus));
}
image(f,N,N,(0,0),(300,300),antialias=true);
|