Move geometry by picking it and dragging by mouse

The math is the same once you’ve got your picking.

The easiest way to get started might be to skim this section of the docs:

…and maybe look at this example:

To quickly get started with Lemur and get the dependencies hooked up and so on, you can check here:

…and just stop after this:
GuiGlobals.initialize(this);

That line is all you need to initialize the built-in picking support. The first link I gave you talks about manually setting it up but if you call GuiGlobals.initialize(app) then you don’t have to do that.

After that, you can add a mouse listener or cursor listener to any JME Spatial.

If you get to that point, we can talk about whether you want to add a listener to every draggable spatial or one listener to the parent that contains them.