X3D with Haptics

We are using H3DAPI, a library that extends X3D with haptic support by adding new elements that implement haptic functions. It should be as if you are writing an X3D scene as normal but adding extra elements in some places to make use of the haptics device.

One significant difference in working with H3DAPI is that by default the scenes are typically very small - almost everything is less than one unit in size.

Some of the later exercises use python scripts to perform calculations. In general these are provided for you so don't worry if you don't know python.

By completing this lab you should have:
  • Experience in using a haptics device
  • An appreciation of the application for haptics devices
  • Improved X3D knowledge

    You should have gained experience with the H3DAPI and be able to:
  • Implement a SmoothSurface on geometric shapes in X3D scenes
  • Implement a FrictionalSurface on geometric shapes in X3D scenes
  • Implement a MagneticSurface on geometric shapes in X3D scenes
  • Implement a DepthMapSurface on geometric shapes in X3D scenes
  • Implement a ForceField effect in X3D scenes
  • Implement a MagneticGeometryEffect in X3D scenes
  • Implement a SpringEffect in X3D scenes
  • Implement a ViscosityEffect in X3D scenes
  • Implement a PositionFunctionEffect in X3D scenes
  • Implement a TimeFunctionEffect in X3D scenes
  • Use Python scripts to perform calculations for scenes in X3D

    The following terms are used throughout these exercises:
    Stylus: The pen-like end effector on the omni arm.
    Proxy: The visual representation of the stylus in the scene
    Element: A node in an XML file, such as
    Attribute: A particular field belonging to an element, such as the radius in

    A reference of useful H3D elements and their attributes can be found here

    1.

    To remove the stylus from the inkwell, lift it from below and then pull it out. Do not pull it straight out.

    Test the Phantom Omni is working properly by running the "Phantom Test" utility (Start > Programs > SenseAble > Phantom Test). If you move the stylus around and the movement is reflected in the display of the utility, it is working correctly.

    The following pages have exercises designed to help you understand what effects are possible in H3D and how to implement them. All example files can be found here, you should copy them to your own workspace.

    Surfaces Exercises - the surfaces that can be simulated on geometric shapes in scenes.
    Force Effects Exercise - the effects that can be applied to the stylus.
    Advanced Exercises - making use of haptics

    You are encouraged to try at least 2-3 (or more if you're interested) exercises in the surfaces and force effects sections to get an understanding of how they work and then move on the more complicated exercises.