Extension · Chapter 10

mdi-3D

A JOGL-based extension that brings three-dimensional visualization into the same application, view, and simulation architecture used throughout the book.

github.com/heddle/mdi-3D

What It Demonstrates

Demo Views

ViewWhat it shows
Rotating MDI logoIndependently tilting, lit panels with a precessing rotation axis
Aizawa attractorA chaotic strange-attractor simulation rendered as an evolving 3D trajectory
Kinetics demoA live simulation driving 3D geometry via SimulationEngine
Scatter plot 3D3D point-cloud rendering, including lit-sphere point markers
Geometry sliceInteractive cross-sections through a 3D solid
GlobeA lazily-loaded 3D globe view
2D drawing viewAn ordinary 2D DrawingView, included to show 2D and 3D coexisting

Keyboard Controls

3D views use a consistent key binding scheme (rotation, reset, refresh) routed through a single KeyAdapter3D/KeyBindings3D pair — see the project README for the full list.

Screenshots of the demo application's 3D views.

Try It

git clone https://github.com/heddle/mdi-3D.git
cd mdi-3D
mvn install
mvn exec:java -Dexec.mainClass=edu.cnu.mdi.mdi3D.app.DemoApp3D

Maven Coordinates

<dependency>
    <groupId>io.github.heddle</groupId>
    <artifactId>mdi-3d</artifactId>
    <version>1.0.2</version>
</dependency>

MDI-3D 1.0.2 depends on MDI 1.2.3. See Maven Central for the artifact listing or the v1.0.2 release for the book’s exact source.

Full Javadoc is available here.