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.

Please note that I am available as a consultant on matters relating to the material found here.

Projection and displays

Cylindrical display in Yagan Square, Perth.

Two dimensional representations of 360x180 degree image or video

Framing of 360 video for the iDome, Epicylinder and AVIE displays

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

Image warping for projection onto a cylinder
An interactive tool for evaluating projection options onto cylindrical displays

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

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

Ray tracing

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).

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

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).

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

Typical pipeline for 360 video processing

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. 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.

Converting to/from cubemaps. Including CubeRender (Historic Document). A technique for fast 3D viewing from a single view position.

Slit Scan photography

Macro photography with reversed lenses
Macro Photography of Western Australia seed pods

Enlivening fountains

Image warping

Compositing equations

Equirectangular to perspective projection
Equirectangular to fisheye projection
Equirectangular to cylindrical panoramic projection
Mapping an equirectangular onto another equirectangular. For example, to "level" equirectangular (spherical) images from hand held 360 cameras.
Replacing a rooms floor in an equirectangular projection.

X-Ray lens photography

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

Focus Stacking and Image Mosaicing: GH5, GoPro and Phase One

Photostitching ad-hoc photographs

"Little Planet" photography from the University of Western Australia campus.


Examples of Gigapixel photography

Workflow for creating seamless, tripod artefact free spherical panoramas

Chronopanorama (Previously known as Time Lapse Panoramas)

Inverse panoramas, or object panoramas

ffmpeg and imagemagick cheat sheet

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

Art work by Karina Nunez.

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

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

Representations of molecular data

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.

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

Contents : 
Index )   
All pages )   
Papers, Presentations, Workshops
Data Formats: 3D, Audio, Image
Geometry, Surfaces, Curves, Polyhedra
Fractals, Chaos, Self similarity
Photographic reconstruction
Domes, Planetariums, Fisheye, Spherical mirror
Stereographics, 3D Projection
Miscellaneous: Projection, Modelling, Rendering
Exhibitions, Posters
Fun, Puzzles, Travel,  Texture Library
New/Updated :  Infinite spiral septagonal fractal
3D Reconstruction of a human body
Object (inverse) panorama
2D representations of 360x180 degree images
Fisheye lens rectification
Offsite :  FaceBook -- YouTube -- Vimeo -- Sketchfab -- Shapeways
360Cities -- LinkedIn -- ResearchGate -- Orchid -- Loop

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 your own personal use. Permission must be sought for any other use. Any source code found here may be freely used provided credits are given to the author. Purchase of credit free licenses of material found on this site can be negotiated with the author. The author can also quote for unique variations and/or higher resolution versions of the images found on this site.