[Point Cloud 1 PIC] Kinect Chapter 3.   A Point Cloud for Depths


This chapter was previously labelled as "NUI Chapter 14".


The PointCloud application renders the Kinect Sensor's changing depth map as a point cloud in a Java 3D scene (as shown on the right).

The points have varying coordinates and colors depending on their depths, which is easier to see if the user's viewpoint is moved, as in the screenshot below.

I'll be utilizing Java 3D in three chapters altogether, so I'm not going to explain all the intricacies of 3D programming. It would take up a lot of space and time, and isn't directly relevant to NUI programming. However, I will overview the more important Java 3D concepts in this chapter, and point you to sources of more information.

For example, almost all of the 3D scene in the screenshots, aside from the point cloud, is based on my Checkers3D example. Please read it if my overview isn't enough.

[Point Cloud 2 PIC]

PointCloud is the top-level JFrame for the application, and invokes three important objects:

  1. Points3DPanel: a JPanel for displaying the 3D scene, which also creates most of it, apart from the floor and the point cloud.
  2. PointsShape: a subclass of Java 3D's Shape3D, which initializes and manages updates to the 3D point cloud.
  3. DepthReader: a reader of Kinect depth maps, which passes them over to PointsShape for rendering.




Dr. Andrew Davison
E-mail: ad@fivedots.coe.psu.ac.th
Back to my home page