Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Locator + EventHandler
Replies: 2   Last Post: Oct 9, 2012 12:46 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Alexander Elkins

Posts: 32
Registered: 4/13/09
Re: Locator + EventHandler
Posted: Oct 6, 2012 4:17 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Here is an example using Locator with Manipulate and
LocatorAutoCreate->True. To use this example, see the help for
LocatorAutoCreate : With LocatorAutoCreate -> True, any Alt + Click that
does not hit an existing locator will cause a new locator to be created at
the position of the click.Alt + Click on an existing locator deletes the
locator.

Manipulate[
If[Length[p] < 2,
Graphics[Point[p], PlotRange -> {{-1, 1}, {-1, 1}}, Frame -> True],
Plot[Evaluate@Interpolation[p, InterpolationOrder -> Length[p] - 1][x], {x,
Min[p[[All, 1]]], Max[p[[All, 1]]]}, PlotRange -> {{-1, 1}, {-1, 1}},
Frame -> True, AspectRatio -> 1]], {{p, {}}, Locator,
LocatorAutoCreate -> True}]

Hope this helps...

"Alexei Boulbitch" <Alexei.Boulbitch@iee.lu> wrote in message
news:k4lvkh$d45$1@smc.vnet.net...
> Dear Community,
>
> There is a nice example at Help/EventHandler/Applications that enables one

to set points on demand, that are interpolated on the spot. Here is the
code:
>
> interpolationCurve[p_, n_] :=
> Module[{x, f = Interpolation[p, InterpolationOrder -> n ]},
> First@Plot[Evaluate@f[x], {x, Min[p[[All, 1]]], Max[p[[All, 1]]]}]];
>
> DynamicModule[{n = 2, p = {}, c = {}},
> EventHandler[
> Dynamic@Graphics[{Point[p], c}, PlotRange -> 1, Frame -> True],
> "MouseDown" :>
> (p = Union[Sort@Append[p, MousePosition["Graphics"]],
> SameTest -> (First[#1] == First[#2] &)];
> If[Length[p] >= n + 1, c = interpolationCurve[p, n]])]]
>
> I am looking for a way to make there locators instead of the points.

Technically, it is a combination of Locator, or LocatorPane with the
EventHandler. The idea behind is to be able to not only to set, but also to
adjust each point. I tried, but if I succeeded to set locators, they have
been motionless.
> Have you ideas of how to make this?
>
> Thank you, Alexei
>
>
> Alexei BOULBITCH, Dr., habil.
> IEE S.A.
> ZAE Weiergewan,
> 11, rue Edmond Reuter,
> L-5326 Contern, LUXEMBOURG
>
> Office phone : +352-2454-2566
> Office fax: +352-2454-3566
> mobile phone: +49 151 52 40 66 44
>
> e-mail: alexei.boulbitch@iee.lu
>
>
>
>
>









Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.