Published
Edited
Mar 20, 2019
2 stars
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
drawPlot3(domainColoringParameters)
Insert cell
drawPlot3 = plot3.createDrawFunction(`vec2 f (vec2 z) {
return cdiv(cmul(csqr(z) - vec2(1, 0), csqr(z - vec2(2, 1))), csqr(z) + vec2(2, 2));
}`)
Insert cell
Insert cell
Insert cell
drawPlot1 = plot1.createDrawFunction(`
vec2 f (vec2 z) {
return z;
}
`)
Insert cell
drawPlot1( domainColoringParameters)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
drawPlot2 = plot2.createDrawFunction(`
uniform float n;
vec2 f (vec2 z) {
return cpow(z, n);
}
`)
Insert cell
drawPlot2(Object.assign({n}, domainColoringParameters))
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
drawPlot4 = plot4.createDrawFunction(`
uniform float t;
vec2 f (vec2 z) {
vec2 fz = C_ONE;
vec2 a0 = cexp(vec2(0.375, -0.125 * t));
fz = cmul(fz, z - cexp(vec2(0.0, t)));
fz = cdiv(fz, z - cexp(vec2(0.5, 0.5 * t)));
fz = cmul(fz, z - cexp(vec2(0.125, -0.625 * t)));
fz = cdiv(fz, z - cexp(vec2(0.25, -0.25 * t)));
fz = cmul(fz, csqr(z - a0));
return fz;
}
`)
Insert cell
drawPlot4(Object.assign({t: 6}, domainColoringParameters))
Insert cell
!paused && drawPlot4(Object.assign({t: (now / 1000) % 1000}, domainColoringParameters))
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
drawPlot5 = plot5.createDrawFunction(`
vec2 f (vec2 z) {
z /= 16.0;
return csin(cinv(z));
}
`)
Insert cell
drawPlot5(domainColoringParameters)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more