MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Automatically colred and indexed custom locators


Thanks, that fixed the problem with the snapping not working when the 
point is created. The only problem is, the points can now only be 
dragged one grid unit at a time.

I'm working on something that will work completely, but it looks like I 
may have to give up using Manipulate. I really don't want to have to 
click and drag only 1 unit at a time.


On Jan 24, 2012, at 7:54 AM, Heike Gramberg wrote:

> Looks nice. To make the locators snap to the grid on creation you can 
do something like this:
>
> locGraphics[k_, n_, locSize_, opac_, offset_] :=
> Graphics[{Opacity[opac], Hue[0.85 (k - 1)/(n - 1)], Disk[{0, 0}],
>   Opacity[1], Black, Circle[{0, 0}], Line[{{-1.5, 0}, {1.5, 0}}],
>   Line[{{0, -1.5}, {0, 1.5}}], Text[k, {0, 0}, offset]},
>  ImageSize -> locSize]
>
> Manipulate[
> DynamicModule[{n},
>  P = Round[P, .25];
>  LocatorPane[Dynamic[P],
>   Show[Graphics[{Thick, Line[P]}], Axes -> True, PlotRange -> 2,
>    GridLines -> {Range[-2, 2, 0.25], Range[-2, 2, 0.25]},
>    GridLinesStyle -> LightGray], {{-2, -2}, {2, 2}, {.25, .25}},
>   LocatorAutoCreate -> True, Appearance -> (n = Length[P];
>     Table[locGraphics[k, n, locSize, opac, offset], {k, 1, n}])]],
> {{P, {{0, 0}, {1, 1}}}, None},
> {{locSize, 15}, 5, 80, 1}, {{opac, 0.75}, 0,
>  1}, {{offset, {0, 0}}, {-2, -2}, {2, 2}, {0.25, 0.25}}]
>
> Basically, all I've done her is changing P from being a local variable 
of the DynamicModule to a
> controller of the enclosing Manipulate and adding the line P = 
Round[P, .25];
>
> Heike
>
> By the way, changing P to a controller should also solve the problem 
in your other
> post about morphing Bezier curves.


  • Prev by Date: Colored, indexed, resizable locators
  • Next by Date: Re: Mathematica 8 + OS X + McAfee = trouble; help?
  • Previous by thread: Automatically colred and indexed custom locators
  • Next by thread: Re: Automatically colred and indexed custom locators