Re: Interactively placing points onto 3D surfaces

• To: mathgroup at smc.vnet.net
• Subject: [mg129006] Re: Interactively placing points onto 3D surfaces
• From: Bob Hanlon <hanlonr357 at gmail.com>
• Date: Sat, 8 Dec 2012 01:29:16 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-newout@smc.vnet.net
• Delivered-to: mathgroup-newsend@smc.vnet.net
• References: <20121207063733.3B5526920@smc.vnet.net>

```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 at mypacks.net> wrote:
> Howdy folks.
>
>
> 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
>

```

• Prev by Date: when is y=x+a not a straight line?
• Next by Date: Mathematica is using on my Core i7 PC only on one CPU with 13 %
• Previous by thread: Interactively placing points onto 3D surfaces
• Next by thread: Re: Interactively placing points onto 3D surfaces