Miscellaneous: projection, modelling, rendering
Written by Paul Bourke
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

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 photorealism.
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 xy+z look_at<0,0,0>}
light_source{<3,3,3>color<0,1,0>}
light_source{<3, 3, 3>color<0,0,1>}
light_source{< 3, 3,3>color<1,0,0>}
sphere{zxy,a texture{r}} sphere{x+y+z,a texture{r}}
sphere{yxz,a texture{r}} sphere{xyz,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 bungeejumping 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
Astronomy

PVIEW.
Realtime 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
Architectural

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

"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.
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 MPE 65mm
Macro Photography of Western Australia seed pods
Focus Stacking and Image Mosaicing: GH5, GoPro and Phase One

Enlivening fountains

Image warping

Compositing equations

XRay lens photography

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

Photostitching adhoc photographs

Photomosaics

Examples of Gigapixel photography

ffmpeg, imagemagick and MeshLab 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 H_{2}O, was H_{2}SO_{4}
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 autocorrelation and crosscorrelation 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 B083345)

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
Other
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 XWindows 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 :

Papers, Presentations, Workshops
Geometry, Surfaces, Curves, Polyhedra
Fractals, Chaos, Self similarity
Domes, Planetariums, Fisheye, Spherical Mirror
Stereographics, 3D Projection
Panorama, 360 Video
Photographic Reconstruction
Miscellaneous: Projection, Modelling, Rendering
Data Formats: 3D, Audio, Image
Texture Library,
Fun, Puzzles, Travel
All pages in one place

New/Updated :

Canon RF 5.2mm f/2.8L Dual Fisheye lens (the VR180 fallacy)
Calibration and 3D Reconstruction with a PhotoRealistic Simulator Based ...
Dome Projection and Calibration for Offaxis Fisheye Lenses
Adventures with the LookingGlass Portrait
Mathematics of the Meta logo
Small Rhombicuboctahedron
"Field rendering" of laser scan point clouds
Converting an equirectangular image to/from a perspective projection
Taking the Impossible Photograph
GoPro MAX 360 Action Cam movie layout/format
Experiments in Reverse Perspective
Tools for Spherical Mirror Projection

Offsite :

FaceBook,
Sketchfab,
YouTube,
Vimeo,
Shapeways

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.
