Miscellaneous: projection, modelling, rendering

Projection and displays

iPhone and iPodTouch projects

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

I can't smell mothballs. Because it is so hard to get their little legs apart. Steve Martin

How do you play 8 Xbox games on one screen?

Evaluating pico projectors for some unusual applications

I don't want to achieve immortality through my work, I want to achieve immortality through not dying. Woodey Allen

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

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

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

Data visualisation

Representations of laser scan data

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

Anthology: The Art and Science of Insight in Research
Art work by Karina Nunez.

- Fulldome content creation
- Transferring slice data to Drishti using ImageJ
- PVL (Processed VoLume) file format
- Samples from 2007

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

Real-time interactive visualisation for large point datasets.

Why do kamikaze pilots wear helmets? Smacks of indecision to me. Sean Mea

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

Some people can read a musical score and in their minds hear the music.... Others can see, in their mind's eye, great beauty and structure in certain mathematical functions....Lesser folk, like me, need to hear music played and see numbers rendered to appreciate their structures. Peter Schroeder

Visualisation of HPC queue statistics

Solar heater simulator

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

Visualising the Universe
Stuart Gill, C. Fluke, P. Bourke

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.

I was walking down the street when I saw a dead baby ghost on the road. On reflection it might have been a handkerchief. Milton Jones

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.

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

Modelling asteroids, real and imagined

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

I used to think that the brain was the greatest organ in the human body, then I realized,"Hey! Look what's telling me that!" Emo Philips

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.

Evaluation of VRML for delivering 3D data/visualisation

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

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

Hardware accelerated volume rendering
Example from confocal microscope images.

Art, like morality, consists of drawing lines somewhere. G.K. Chesterton
Modelling and rendering the Royal Exhibition Building, Melbourne

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

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.

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

Photography and image manipulation

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

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

All that glitters has a high refractive index. Anon

Slit Scan photography

Macro photography with reversed lenses

Enlivening fountains

X-Ray lens photography

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

If you can explain it then you aren't experiencing it! Sigmund Freud

Focus Stacking and Image Mosaicing with the Phase One
Focus stacking with Lumix GH5

I have a stepladder. It's a very nice stepladder, but it's sad that I never knew my real ladder.

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)

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

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

Art work by Karina Nunez.
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

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

Virtual environment based upon Beacon Island

Virtual environment based upon rock shelters

Virtual tour of exhibition at ECU Art Gallery.

Do not try to teach a pig to sing hymns. It wastes your time and annoys the pig. R. Heinlein

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

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.

Image warping

Compositing equations

Equirectangular to perspective projection

The difference between a mountain and a molehill is your perspective. Anon

Experiments with the GoPro cameras

QTVR object capture.

Registration of HDR images.

Computers are useless. They can only give you answers. Pablo Picasso

TRACE - rendering point fields

meshviewer - textured mesh viewer

A picture is worth a million bytes. PDB

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

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

I wanted to persuade myself that these flaws were only apparent flaws, that they were all part of a much vaster regular structure in which every symmetry we thought we observed really corresponded to a network or symmetries so complicated we couldn't comprehend them all. Italo Calvino

Mathematics / Statistics

Discrete Stepped Frequency Modulated Chirp

Determinant and inverse of a square matrix

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

I could be bounded in a nutshell and count myself a king of infinite space. Shakespear

AutoRegression Analysis (AR)

Maths library (Historical interest only)

Gaussian Elimination
Algorithm for solving simultaneous solutions

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

Least Squares Method

In any field find the strangest thing and then explore it. John Archibald Wheeler

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

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.

Signal Processing

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

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.

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

Image filtering in the frequency domain

Fourier method of designing digital filters

Why is the winner of the Miss Universe contest always from planet Earth? Rob Hall

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

Creating time - frequency plots.


Texture Library

3D scanner notes (May 2015)

View Frustum and clipping

WiTilt 3 axis accelerometer - A user interface

America is the only country where a significant proportion of the population believes that professional wrestling is real but the moon landing was faked. David Letterman

Project: Driving task simulator

We must be clear that, when it comes to atoms, language can be used only as in poetry. Niels Bohr

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

The prolonged application of polysyllabic vocabulary infallibly exercises a deleterious influence on the fecundity of expression, rendering the ultimate tendency apocryphal. Anon

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.

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)

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

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

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

If toast always land butter side down, and cats always land on their feet, what happens if you strap toast on the back of a cat and drop it? Stephen Wright

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

To tell us that every species of thing is endowed with an occult specific quality by which it acts and produces manifest effects, is to tell us nothing. But to derive two or three general principles of motion from phenomena, and afterwards to tell us how the properties and actions of all corporeal things follow from these manifest principles would be a very great step. Issac Newton

Precomputed, interactive 3D exploration

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language. D. E. Knuth, 1967

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

You may say I'm a hacker, But I'm not the only one.
I hope someday you'll join us, And the world will code as one.

Organising unstructured networks

Solving systems defined by differential equations

Fluid simulation, contributed by Peter Birtles.

Particle and Spring example

Simple model of diffusion

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

Computer representation, modelling and rendering of plant structures

Prediction is difficult, especially of the future. Niels Bohr

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.

Hazy Primes
Happy Numbers

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

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

Contents : 
Index ) 
All pages ) 
Papers, Articles, Seminars, 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
New/Updated :  Fulldome workshop (Slides only) -- Macro photography with reversed lenses -- How do Cortical Dynamics Organize an Anatomy of Cognition? -- EqualAngle Cubemaps (EAC) -- Spatial errors in stereoscopic displays
Offsite : 
Sketchfab -- Fotomerchant -- Shapeways -- Zazzle -- 360Cities
ResearchGate -- Orchid -- Loop -- Dark the movie

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.