David R Newman

Biologically-Inspired Computing

Morphogenesis and Skin Pattern Generation for 3D Models

My group consisted of Robert Mills, Simon Smith, Qing Yan Zhang and myself.

You can download a PDF of the final report here. Instructions on how to use the executables designed in this project can be found within this report.

Below is the project abstract followed by a listing of various executables, models and pattern results used and produced in this project.

Project Abstract

This report firstly examines how Morphogenesis can be interpreted through the use of computer modelling, concentrating on reaction-diffusion equations and how they can be used to simulate real-world animal skin patterns. The report then focuses on the work done by Greg Turk in his 1991 paper "Generating Textures on Arbitrary Surfaces Using Reaction-Diffusion" [19]. The work accomplished in Turk's paper is discussed; implementations based on his work in one, two and three dimensions are constructed and analysed for this report. This analysis compares the implementations' results to both those achieved by Turk and real-world skin patterns. The analysis also attempts to determine how reactiondiffusion models proposed by Turk and others function, in particular, how changing parameters affects the patterns produced. The report concludes with a discussion of whether reaction-diffusion is an appropriate model for the natural phenomenon of animal skin pattern formation. Finally, further work is proposed to extend the current implementations, as these provide a solid basis to construct a generator for more complex reaction-diffusion models.

2D OpenGL Examples of Skin Pattern Generation

These example are adapted from those found on Vipul Swarup's site and should compile and run successfully on both Windows and Linux systems.

  • Zip file with source code and makefile / batch file to build executables, for Turk's basic 2 chemical reaction-diffusion system.
  • Zip file with source code and makefile / batch file to build executables, for Witkin and Kass' 2 chemical reaction-diffusion system, that allows cell seeding through mouse clicking.
  • Zip file with source code and makefile / batch file to build executables for a 2 chemical reaction-diffusion system with cascading.

Final Executables, Models, Parameter and Pattern Files

A ZIP file containing all the executables, models, parameter and pattern files can be downloaded here. Otherwise you can download these files separately.

Linux Executables

Executable for generating spots on 3D models. To run at command line type:

rdspots <PLY file> [ -p <Parameters file> ]

Executable for generating zebra-like stripes on 3D models. To run at command line type:

rdstripes <PLY file> [ -p <Parameters file> ]

Executable for generating cascading patterns like cheetah spots on 3D models. To run at command line type:

rdcascade <PLY file> [ -p <Parameters file> ]

Executable for viewing pre-generated patterns on 3D models. To run at command line type:

rdviewer <Pattern file>

(NB. PLY file must be in same directory as the pattern file).

Windows Executables

Executable for generating spots on 3D models. To run at command line type:

rdspots <PLY file> [ -p <Parameters file> ]

Executable for generating zebra-like stripes on 3D models. To run at command line type:

rdstripes <PLY file> [ -p <Parameters file> ]

Executable for generating cascading patterns like cheetah spots on 3D models. To run at command line type:

rdcascade <PLY file> [ -p <Parameters file> ]

Executable for viewing pre-generated patterns on 3D models. To run at command line type:

rdviewer <Pattern file>

(NB. PLY file must be in same directory as the pattern file).

Source Code

  • Adapted from RPly website to read in PLY models.
  • Header file for above C file.
  • C file that generates spots on PLY models.
  • C file that generates stripes on PLY models.
  • C file that generates cascading patterns on PLY models.
  • C file that allows models with mapped patterns to be viewed.
  • File to build executables for Linux systems.
  • Batch file to build executables for Windows systems.

Zipped PLY Model Files

  • Zipped PLY model with neighbouring and normals data included. (~3.25MB)
  • Zipped PLY model with neighbouring and normals data included. (~2.5MB)
  • Zipped PLY model with neighbouring and normals data included. (~100KB)

Parameter Files

  • Parameters file for spots and cascading reaction-diffusions.
  • Parameters file for stripes reaction-diffusion.

Pattern Files

  • Zipped pattern file for zebra stripes generated on horse_nbs.ply. (~350KB)
  • Zipped pattern file for spots generated on bunny_nbs.ply. (~180KB)
  • Zipped pattern file for spots generated on horse_nbs.ply. (~270KB)

Page written by David R Newman (drn[at]ecs.soton.ac.uk). Last updated June 27 2018 14:44:54.