P a u l    B o u r k e


paulbourke.net+61 (0)433338325paul.bourke@gmail.comFBSketchfabYouTubeVimeoShapeways

If you have found the contents of this site useful, please donate to one of my vices:
Cup of coffeeCan of beerBottle of wine

Miscellaneous: projection, modelling, rendering

The following contains explorations and documentation by the author that don't fit into any other other themed section of this web site.

Projection and displays

Reverse mapping VR display projections

Notes on Resolution. Tiled displays, display resolution specifications. Comparative resolution of 360 video capture devices. Comparative resolution of displays.

Peppers ghost: prototype

Diagram explaining how to create projections on surfaces

How do you play 8 Xbox games on one screen?

Evaluating pico projectors for some unusual applications

Edge blending. Edge blending two (or more) images using commodity projectors. Blending across left/right edge of a 360 degree panoramic image.

Deep Space: between body and cosmos. Zendai Museum of Modern Art, Shanghai, 23 July - 31 August 2006.

Exhibition automation capabilities built into MacOSX. (Historical interest only).

Question. Why did the computer programmer die in the shower?
Answer. The instructions on the shampoo bottle read: "Lather, Rinse, Repeat"

Ray tracing

Experiments in reverse perspective

Creating depth maps using PovRay.

Various POVRay related material. PovRay for scientific illustration: diagrams to photo-realism. POVRay density (DF3) files: Using POVRay as a volume renderer. Frustum clipping polygonal models for POVRay. CSG modelling, bump maps, media, quality settings, texture billboarding, fog, lens types, QuickTime VR navigable objects. Representing Wavefront OBJ files in POVRay.

Fun with mirrors. The infinite room and how simple geometry (plane, sphere, cylinder) giving rise to complicated lighting structure. The "Space Mesh".

Topics in raytracing. Simulating depth of field blurring using standard rendering packages. Generating wireframe renderings from pure rendering engines. Antialiasing in images and raytracing.

TRACE - rendering point fields

POVRay competitions
Short Code Contest - Round 5. The animation competition. (2008)
Short Code Contest - Round 4. Maximum of 256 characters. (2006)
Short Code Contest - Round 3. Maximum of 256 characters. (2004)

Rendering examples using cluster based distributed rendering. Includes Spiral Vase, Waves, and Watersun by Dennis Miller, spacecraft hanger by Justin Watkins, Glass Cloud by Morgan Larch, Addict by Rob Richens, example by Stèfan Viljoen, examples by Gena Obukhov

Solar heater simulator

   global_settings {max_trace_level 1000}
   #declare a=sqrt(2);
   #declare r=texture{
   pigment{color<1,1,1>}finish{ambient 0 diffuse 1 reflection 1}}
   camera{location x-y+z look_at<0,0,0>}
   light_source{<-3, 3, 3>color<0,0,1>}
   light_source{< 3, 3,-3>color<1,0,0>}
   sphere{z-x-y,a texture{r}} sphere{x+y+z,a texture{r}}
   sphere{y-x-z,a texture{r}} sphere{x-y-z,a texture{r}}

I broke up with a girl once because she lied about her weight. Well, I say that, but actually she died in a bungee-jumping accident. Jimmy Carr

Physical visualisation

Data visualisation in crystal. Experiments representing data using laser induced bubbles within crystal blocks.

3D printing. Experiments in Rapid Prototyping. Workflow for rapid prototyping of 3D reconstructed surfaces and molecular models. Photoscan to Shapeways.

There cannot be a language more universal and more simple, more free from errors and obscurities,....more worthy to express the invariable relations of natural things than mathematics. It interprets all phenomena by the same language, as if to attest the unity and simplicity of the plan of the universe, and to make still more evident that unchangeable order which presides over all natural causes. Joseph Fourier


PVIEW. Real-time interactive visualisation for large point datasets in astronomy.

Visualising the Universe

Representing astronomy Including Rendering Galaxy and Nebulae with 3DStudioMax. Simulated interaction between M31 and M32. Realistic star field and equirectangular versions. 2dF galaxy survey revealing the 3D distribution of galaxies in the Universe.

Various Mars datasets and renderings of same. Includes rendering from the 1/8 degree data, the 1/128 degree data, and an early cloud based rendering engine.

Asteroids. Modelling asteroids, real and imagined.

Visualisation of the Earth. The mantle and oceans (A new way of viewing the Earth).

Moon topology. The topology of the Earth's moon based upon the Clementine data.

Terrain modelling and visualisation techniques. Including data reduction/filtering for terrain modelling and terrain morphing. tgs_interp : A utility to extend the animation capabilities of Terragen. Supports stereoscopic view generation as well as cubic maps. (Which can then be used for panoramic, fisheye, spherical projection generation).

Venus topology Initial topology reconstruction from the NASA datasets along with rendered examples using Terragen.

Before you criticize someone, you should walk a mile in their shoes. That way, when you criticize them you're a mile away and you have their shoes. Jack Handey


Modelling and rendering the Royal Exhibition Building, Melbourne

Architectural visualisation examples. Examples from RenderPark, BMRT (Palace by Jorge Angles), the Radiance cabin, the RayShade (Redentore by Nathan O'Brien), The Jerash amphitheatre.

Waldram diagrams, how to create from realtime graphics APIs.

"Babylon in all its desolation is a sight not so awful as that of the human mind in ruins". Scrope Davies

Photography and image manipulation

High resolution scans of paintings.

Cross polarisation in photography, an example

"Crystal ball" photography. University of Western Australia campus and the Victoria Park photographic competition. 2012.

Parallax error. Fundamental parallax error when blending images from multiple cameras. Determining zero parallax for a lens/camera system.

Lenses. Field of view and focal length. Changing to/from vertical/horizontal field of view. Depth of focus. Lens distortion: Including an example on how to achieve general distortion in OpenGL. As well as Computer simulated lens distortion such as Fisheye lens, extreme perspective, panoramic, hemispherical, and 360 degree. Multiple wall displays using OpenGL and independent machines driving each wall.

Slit Scan photography

Macro photography with reversed lenses
Macro photography with the Canon MP-E 65mm
Macro Photography of Western Australia seed pods
Focus Stacking and Image Mosaicing: GH5, GoPro and Phase One

Enlivening fountains

Image warping

Compositing equations

X-Ray lens photography

Image histogram matching. Modifying one image so its histogram matches that of another, includes histogram normalisation (also known as equalisation).

Photostitching ad-hoc photographs


Examples of Gigapixel photography

ffmpeg, imagemagick, krpano and MeshLab cheat sheet

Various simple image processing techniques Including Bicubic image interpolation: The standard method for scaling an image up or down.

Charlie was a chemist, but Charlie is no more, what Charlie thought was H2O, was H2SO4

Volume rendering

Fulldome content creation with Drishti

Transferring slice data to Drishti using ImageJ

Drishti samples from 2007

Hardware accelerated volume rendering. Example from confocal microscope images.

What's the difference between an oral thermometer and a rectal thermometer? Answer: The taste.

Virtual environments

ASKAP Walk About

Virtual environment based upon Beacon Island

Virtual environment based upon rock shelters

Virtual tour of exhibition at ECU Art Gallery.

Precomputed, interactive 3D exploration.

The construction itself is an art, its application to the world an evil parasite. Luitzen Brouwer

Mathematics / Statistics

Discrete Stepped Frequency Modulated Chirp

Determinant and inverse of a square matrix

Mean and Variance, center of mass and radius of gyration.

AutoRegression Analysis (AR)

Maths library (Historical interest only)

Gaussian Elimination. Algorithm for solving simultaneous solutions

Least Squares Method

Correlation. Introduction to auto-correlation and cross-correlation with an example of 2D cross correlation for pattern identification.

Notes on Interpolation. Interpolation schemes. Trilinear Interpolation. Linear Regression. Curve Fit Through Arbitrary Points. Nearest neighbour weighted interpolation. A rather perverse way of fitting a curve through any points. Colour and Normal Interpolation

Random number generator Uniform and Gaussian random number generator library. The generation of random numbers is too important to be left to chance.

Fourier Outline Analysis. Including a Macintosh application that calculates radial series for shape analysis.

Mountains should have holes in. To see the other side. By observing the view through this aperture. Would save a considerable ride. Spike Milligan

Signal Processing

DFT and FFT. Everything you want to know about the Fast Fourier Transform (and Discrete Fourier Transform) including the 2 dimensional FFT. Software to compute dft/fft, historical interest only.

Windows. Welch, triangular, Bartlett, Hanning, Hamming, Kaiser.

Image filtering in the frequency domain

Fourier method of designing digital filters

Sonification of a pulsar (Vela, PSR B0833-45)

Sonograms. Creating time - frequency plots.

Nothing is rich but the inexhaustible wealth of nature. She shows us only surfaces, but she is a million fathoms deep. Ralph Waldo Emerson


iPhone and iPodTouch projects

Visualisation of HPC queue statistics

Animations produced from the visible human database. Installed in 1999 for the human body exhibit at the Melbourne Museum. 1999.

Evaluation of VRML for delivering 3D data/visualisation

QTVR object capture.

Registration of HDR images.

meshviewer - textured mesh viewer

Description of various colour spaces. Including the RGB colour values for "familiar" named colours, the X-Windows named colours, the Resene RGB Values List, and traditional WEB browser palette. Resene RGB Values List formatted for POVRay. Converting between various colour spaces. YCC colour space and image compression. Colour ramps: Mapping some scalar value onto RGB colour space with applications in data visualisation, a simple storage format, a HSV colour ramp/selector, and index colour tables. Brief description of gamma correction. Colour space images (Note: these are not corrected for display gamma) Hue/intensity colour circle, Grey diagonal ramp, Colour mixtures, Wavelengths, Colour bands: Red = 700nm, Green = 546.1nm, Blue = 435.8nm

Approaches to modelling the surface of the Human Cortex. Examples of various approaches using a number of datasets and derived images.

Dangerous data - images from scientific visualisation. Created with the (old) mesh animator

View Frustum and clipping

WiTilt 3 axis accelerometer - A user interface

Project: Driving task simulator

CLbresenham.cpp. Contribution by Mark Sheeky: Bresenham line drawing algorithm in 3D or 2D.

Topics in OpenGL. Saving images from OpenGL. Distributed OpenGL. AutoCAD to OpenGL. Multiwall and offaxis projection.

Organising unstructured networks

Solving systems defined by differential equations

Fluid simulation, contributed by Peter Birtles.

Representations of molecular data

Particle and Spring example

Simple model of diffusion

Computer representation, modelling and rendering of plant structures

Miscellaneous functions -- Tables of integrals. Includes the following functions: Alpha, Zeta, SINC, Factorial Gamma, Gabor, Sigmoid, Gompertz, Biexponential. As well as the Gaussian (Normal), Poisson, Gamma, Exponential, Rayleigh, and Rice distributions. Also: trigonometric relationships, and various series and sequences.

Miscellaneous numbers. For example, phi, pi, e, a description of Sumerian arithmetic, and a integer square root algorithm. Happy Numbers. Hazy Primes.

You are totally unique, just like everyone else. Sigmund Freud

Papers, Presentations, WorkshopsGeometry, Surfaces, Curves, PolyhedraFractals, Chaos, Self similarityDomes, Planetariums, Fisheye, Spherical MirrorStereographics, 3D ProjectionPanorama, 360 VideoPhotographic ReconstructionMiscellaneous: Projection, Modelling, RenderingData Formats: 3D, Audio, ImageTexture LibraryFun, Puzzles, Travel
(All pages in one place)

Digitising the Murten Panorama. The story behind the highest resolution scan of an artwork.Markov Blankets and Mirror Symmetries.... Vertical PanoramasSymmetry in ChaosDome Projection and Calibration for Offaxis Fisheye LensesTools for Spherical Mirror Projection

The contents of this web site are © Copyright Paul Bourke or a third party contributor where indicated. You may print or save an electronic copy of parts of this web site for personal use, permission must be sought for any other use.