H3D is an open source haptic software developed in part by Sensegraphics. It provides a framework for haptic and visual simulations. Models can be created using X3D, a graphic modeling standard (similar to VRML) which uses XML. Additional force generation can be implemented using Python and C++.

The goal of these tutorials is to get a user started with H3D beginning with a basic introduction to X3D and progressively getting more in depth with the introduction of Python integration and ending with the creation of force effects with C++. The target demographic is anyone interested in haptics with some programming experience.

Other resources:
H3D: Main Wiki     General tutorials    Manual    API Doxygen
Python: Beginners Guide    Tutorials

General Tutorials:

1 Introduction

Includes an overview of XML and X3D and discusses how to setup a scene with geometry. Covers <Scene>, <Shape>, Geometries, <Apperance>, and Material properties.

2 Force Effects Overview

Includes an overview of force effect nodes available with H3D such as ForceField, SpringForceEffect, PositionForceEffect, TimeForceEffect, MagneticForceEffect, and deviceLogger.

3 Overview of Haptic Renderers

Discusses the God-object and Ruspini renderers used by H3D.


Introduces different surface types such as smooth, frictional, depth map, haptic texture map, and magnetic surfaces.

5 Motion Constraints Using Python
Without (left) and with (right) constrained axis.

Learn how to restrict user motion using X3D and Python.

6 Block Maze

Develop a demo using dynamic objects, haptic constraints, and Python scripting

7 Logging Data using Python

Log any data from X3D or the haptic device by routing to Python and writing to text files. Process this data using Matlab (or Python+SciPy) to compare user motion with and without haptic guidance.

8 Custom Stylus

Create your own 3D stylus using CAD or modeling software and use it within H3D.

9 Multi-device Configuration

Setup multiple haptic devices within the same scene and allow them to work together.

10 Developing Force Effect Nodes using C++

Create new force effect nodes for H3D.

For questions or concerns email Colin Lea at colincsl (at) gmail (dot) com.
For more information visit my website.

The attached files may be useful:
Colin Lea,
May 13, 2010, 7:52 AM
Colin Lea,
May 13, 2010, 7:52 AM
Colin Lea,
May 13, 2010, 7:53 AM