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, particularly those relating to 3D reconstruction from photographs
(see examples on SketchFab) and topics
in the photography section.
3D Reconstruction

Laser scanning vs 3D reconstruction

3D reconstruction: A study of the effect of resolution and colour

Guiding notes for photographing for 3D reconstruction

Reconstruction of medical samples in pathology: an experiment

Workflow for reconstruction using PhotoScan: Beginners guide

Accuracy and photographic reconstruction

Repeatability accuracy in 3D reconstruction

Workflow for comparing two photogrammetrically reconstructed meshes

PhotoScan to PovRay animation

Manual reconstruction from photography.
Manually reconstructing heritage building from photographs.
Examples from Um er Rasas (Amman, Jordan), Qasr Kharana (Amman, Jordan) and Tomb of Cyrus.

3D scanner notes (May 2015)
I don't want to achieve immortality through my work, I want to achieve immortality through not dying.
Woodey Allen
Projection and displays

Cylindrical display in Yagan Square, Perth.

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

Mapping an equirectangular onto another equirectangular.
For example, to "level" equirectangular (spherical) images from hand held 360 cameras.

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

XRay 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 adhoc photographs

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

Photomosaics

Examples of Gigapixel photography

Workflow for creating seamless, tripod artefact free spherical panoramas

Chronopanorama (Previously known as Time Lapse 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 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
Representations of laser scan data
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 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 :
( Index )
( All pages )

Papers, Presentations, Workshops
Data Formats: 3D, Audio, Image
Geometry, Surfaces, Curves, Polyhedra
Fractals, Chaos, Self similarity

Domes, Planetariums, Fisheye, Spherical mirror
Stereographics, 3D Projection
Miscellaneous: Projection, Modelling, Rendering
Exhibitions, Posters
Fun, Puzzles, Travel,
Texture Library

New/Updated :

Yagan square cylindrical display
The geometric beauty of leaves
Gallery of 360 video projects
Estimating fractal dimension of point datasets

Fisheye lens rectification
How do Cortical Dynamics Organize ...?
EqualAngle Cubemaps (EAC)

Offsite :

FaceBook 
YouTube 
Vimeo
LinkedIn 
ResearchGate

360Cities 
Sketchfab 
Shapeways
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.
