Here’s a fun place to visit:
As in the previous post, it’s a no-interpolation scalar field. However, this one is continuous, making normal vectors easier to calculate.
var field = function(x, y, z) { var a = 2 * Math.cos(1.2 * x); var b = 2 * Math.cos(0.7 * y); var c = 2 * Math.cos(1.3 * z); return (Math.sin(x + y + a) + Math.sin(y + z + b) + Math.sin(z + x + c)) / 3; };
Changing the constants in the first three lines will create all sorts of wacky alternate realities.