MathGroup Archive 2012

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

Search the Archive

Automatically colred and indexed custom locators

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124541] Automatically colred and indexed custom locators
  • From: Chris Young <cy56 at comcast.net>
  • Date: Tue, 24 Jan 2012 05:05:20 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com

After quite a bit of re-reading the help on LocatorPane, I discovered 
the following very helpful hint:

With Appearance->{Subscript[g, 1],Subscript[g, 2],...}, the i\[Null]^th 
locator is displayed as Subscript[g, i]. »

Putting this into effect, and putting my graphics in the following 
function, I came up with a handy way to index and color auto-created 
locators in a Manipulate, so you know at a glance which point is which. 
Another nice feature when LocatorPane is used is that you can get very 
smooth snapping to a grid just by including that in the range 
specification. Below,  it's the third list in {{-2, -2}, {2, 2}, {.25, 
..25}}.

Only two small problems:

1) When first created, the points don't get snapped to the grid.

2) If the locators are made too small,  offsetting the text labels 
nudges them away from the correct positions.

http://home.comcast.net/~cy56/Mma/CustomLocators.nb
http://home.comcast.net/~cy56/Mma/CustomLocatorsPic1.png
http://home.comcast.net/~cy56/Mma/CustomLocatorsPic2.png

Chris Young
cy56 at comcast.net

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[
  {P, n},

  P = {{0, 0}, {1, 1}};

  Dynamic @
   LocatorPane[
    Dynamic @ P,

    Dynamic @
     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}]
      )
    ]
  ],
 {{locSize, 15}, 5, 80, 1},
 {{opac, 0.75}, 0, 1},
 {{offset, {0, 0}}, {-2, -2}, {2, 2}, {0.25, 0.25}}
 ]




  • Prev by Date: Mapping Distribute, losing constant factor
  • Next by Date: Re: Locators disappearing in LocatorPane (although working)
  • Previous by thread: Re: Mapping Distribute, losing constant factor
  • Next by thread: Re: Automatically colred and indexed custom locators