Re: How show Locator point and its image under a function?
- To: mathgroup at smc.vnet.net
- Subject: [mg79915] Re: How show Locator point and its image under a function?
- From: Albert <awnl at arcor.net>
- Date: Wed, 8 Aug 2007 05:01:26 -0400 (EDT)
- References: <f990t4$c2d$1@smc.vnet.net>
Murray Eisenberg wrote:
> The following code displays a fixed point and its image under a
> specified function f:
>
> f[{x_,y_}]:={2x+1,y+2}
> Module[{pt = {-1, 0.5}},
> Row[{
> Framed@Graphics[Point[pt], PlotRange -> 5],
> Framed@Graphics[Point[f[pt]], PlotRange -> 5]
> }]
> ]
>
> Now I want to have the point in the left-hand graphic to be dynamic,
> controlled by a Locator, and to have its changed image under the
> function to be shown in the right-hand graphic.
>
> The idea is something like the following (WRONG!) code:
>
> DynamicModule[{pts={{0,0}}},
> Row[{
> LocatorPane[Dynamic[pts],Graphics[{},PlotRange->5]],
> Graphics[Dynamic[f/@pts],PlotRange->5]
> }]
> ]
>
> That code produces error messages, "1 is not a Graphics primitive or
> directive", "2 is not a Graphics primitive or directive".
this is because f/@pts just gives a List of Numbers, which is not a
Graphics primitive.
> How can it actually be done?
make the list of coordinates a list of Points:
DynamicModule[{pts = {{0, 0}}},
Row[{
LocatorPane[Dynamic[pts], Graphics[{}, PlotRange -> 5]],
Graphics[Dynamic[Point /@ f /@ pts], PlotRange -> 5]
}]
]
hth,
albert