The RGBA textures are just four independently computed noise textures in one file. In nearly all scenarios this should be what you want. Even with a small number of slices the problem described above becomes relevant. It is only slightly weaker because with few samples you miss most of the exterior of the spherical center region.

]]>For the RGBA examples you created, were those 3D textures 4 pixels deep? Or is each channel a separate 2D texture with a different random seed?

]]>If you want, you can use my code to generate 1D blue noise that actually has good blue noise properties. Just pass (1024,) as OutputShape where 1024 may be replaced by any other number of samples.

]]>Anyway, thanks for the analysis, this is great stuff!

]]>– I want to be able to write posts offline with an immediate preview of what they look like in the blog layout. Achieving this with the native Markdown support of WordPress would have taken at least as long as what I did here.

– Markdown is not the same as Markdeep. Markdeep is an extension with various features that really come in handy for me.

– I respect that some users like to have JavaScript disabled by default when browsing the web (for security and privacy reasons). Therefore, I would not want to run the formatting scripts on the client-side. Admittedly, formulas still require JavaScript but having broken formulas without JavaScript clearly seems more acceptable than completely broken posts and pages.

– I’ve had a look at JetPack and did not like how it sends data about my visitors to a centralized server.

This is not to say that the built-in Markdown support is bad or should not be used. It just did not match my design goals.

]]>you are absolutely right, the Fourier slice theorem is equivalent to what I proved here. I never knew the statement under this name but it’s handy. Nonetheless, it’s nice to give the proof, especially if it’s just three steps plus the definition of the Fourier transform.

You are also right about the structure of the Fourier transform of the 2D slice. What you get is the sum of the slices in Figure 2 and that amounts to Figure 5.

]]>Basically, projecting-then-fourier is equivalent to fourier-then-slicing. There is kind of a duality there, like convolution-then-fourier is equivalent to fourier-then-multiplication.

So what is the fourier transform of a 2-D slice of a volumetric blue noise texture? I believe the above tells you that it is the projection of the fourier transform of the volume (a solid with a ball bunched out), which is not going to be what you want (a plane with a disc punched out). Parts outside the sphere are going to land in the disc.

]]>