Date: Dec 8, 2012 1:28 AM
Author: Bob Hanlon
Subject: Re: Interactively placing points onto 3D surfaces
A clicking on a point on a 3D graphic would represent an infinite

number of points on the line extending straight back into the 3D

space.

One approach would be use intersecting orthogonal lines to designate a

point. You could rotate the 3D graphic as you adjusted the line

locations to help identify the specific point of interest.

Manipulate[

Column[{Show[

ParametricPlot3D[

{Cos[u], Sin[u] + Cos[v], Sin[v]},

{u, 0, 2 \[Pi]}, {v, -\[Pi], \[Pi]},

PlotStyle -> Opacity[.5]],

Graphics3D[{Thick,

Red, Line[{{-1, y, z}, {1, y, z}}],

Blue, Line[{{x, -2, z}, {x, 2, z}}],

Green, Line[{{x, y, -1}, {x, y, 1}}]}]],

StringForm["Point coordinates: ``",

Dynamic[pt = {x, y, z}]]}],

{{x, 0, "x (red fixed)"}, -1, 1, Appearance -> "Labeled"},

{{y, 0, "y (blue fixed)"}, -2, 2, Appearance -> "Labeled"},

{{z, 0, "z (green fixed)"}, -1, 1, Appearance -> "Labeled"}]

Dynamic[pt]

Bob Hanlon

On Fri, Dec 7, 2012 at 1:37 AM, <wearer35429@mypacks.net> wrote:

> Howdy folks.

>

> Could someone please help smash thru my current brick wall?

>

> I generate 3D surfaces from medical anatomy files (".off" files). I would like to be able to scroll the mouse over the surface & click to set an interactive point on the surface, & have the program be able to read the {x,y, z} coordinates of the new point.

>

> Can anyone point me in the right direction.

>

> Thanks very much.

>

> Tom

>