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
>