rt :: n-dimensional raytracer April 6th, 2009


The picture at the top of the page is a trace of a 4-dimensional cube with a cylinder cut out of each major axis.

Here is a sample of the objects and textures that are possible with this raytracer. This is a slice from a trace of a four-dimensional scene. Here is the whole image and the source file that generated it.


From left to right, these are:

  • a (0,4)-cylinder (cube)
  • a (2,4)-cylinder
  • a (3,4)-cylinder
  • a (4,4)-cylinder (hypersphere)
  • a duo-circle
  • a quadratic surface (intersected with a box)
  • a half-space (intersected with a box)
  • a simplex
  • a hypercube (8-cell)
  • a hyperoctahedron (16-cell)
  • a 24-cell
  • a 120-cell
  • a 600-cell
  • a union of a cube and a sphere
  • the intersection of a cube and a sphere
  • the intersection of a cube and the complement of a sphere
  • an extrusion of a hexagon into 4-d
  • a refracting half-sphere over a striped box
  • a (3-4)-cylinder that is colored by tracing back into this same scene

Here, a (k,n)-cylinder means an n-dimensional cylinder where k of the dimensions are restricted by the sum of their squares being less than or equal to the square of the radius. The remaining (n-k) dimensions are
independently clipped.

Feedback of any sort is welcome to rt@nklein.com

I am in the process of moving older data over to the new website. In the meantime, please refer to old.nklein.com for a more robust set of sample images.

Lisp Package Dependencies October 21st, 2008
Patrick Stein

Some time back, xach posted information about all of the interdependcies amongst the Lisp packages available on Cliki. He had toyed with a few visualization techniques. Me, I tweaked some old code visualization stuff I had written to output where everything was after it stabilized. Then, I tweaked my ray tracer to read that input […]

First decent images from my new raytracer September 25th, 2008
Patrick Stein

Some time ago, I wrote an n-dimensional raytracer in C++. It does a fair number of things, none of them efficiently, most of the rigidly. There are a bunch of things that I wanted to do with it for a long time, but it’s been too slow and rigid to make any of those things […]

rt v2.7.2007.05.17 May 17th, 2007
Patrick Stein

The documentation The source code The feature set now includes: Phong shading, reflection, refraction Functional textures (including textures generated by raytracing other scenes) Cylinders (including spheres and cubes) Quadratic surfaces Regular polytopes Halfspaces Convex hulls of a sets of points Extrusions of lower-dimensional objects Intersections, unions, and complements Different colors for k-dimensional subfacets of convex […]