MathGroup Archive 2011

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

Search the Archive

Re: Ploting a transformation of a set

  • To: mathgroup at smc.vnet.net
  • Subject: [mg123409] Re: Ploting a transformation of a set
  • From: Barrie Stokes <Barrie.Stokes at newcastle.edu.au>
  • Date: Tue, 6 Dec 2011 03:12:33 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <4EDCB5F0.813B.006A.0@newcastle.edu.au>

Hi Ray

Very nice.

This is exactly what I had in mind when I went to use colour in ListPlot, but as I said , ListPlot seems to need Joined->True,  and then colours the lines.

Based entirely on your code, I offer the following Manipulate, suggesting other ways to explore/understand the (slightly generalised) transformation.


xy = .08 Flatten[Table[{x, y}, {x, 0, 25}, {y, 0, 25 - x}], 1]; 
Manipulate[
 mapping = (s \[Function] {(s[[1]] + c s[[2]])^p, (s[[2]] + c s[[1]])^
     p}); 
 With[{plotstuff = {AspectRatio -> Automatic, Frame -> True},
         h = Hue[.5 Plus @@ #] &}, 
  Show[GraphicsRow[
    {Graphics[{PointSize[.02], {h@#, Point@#} & /@ xy}, plotstuff],
      Graphics[{PointSize[.02], {h@#, Point@mapping@#} & /@ xy}, 
      plotstuff]}], 
   ImageSize -> 600]], 
 {{c, 0.5}, 0, 1, 0.05},
 {{p, 0.5}, 0.1, 1, 0.05}]

Cheers

Barrie

>>> On 05/12/2011 at 7:49 pm, in message
<485951015.465117.1323074989841.JavaMail.root at jaguar8.sfu.ca>, Ray Koopman
<koopman at sfu.ca> wrote:
> Here are two static plots that should help clarify 
> which points on the left map into which points on the right.
> The only difference between the two plots is the definition of h.
> 
> xy = .08 Flatten[Table[{x,y}, {x,0,25},{y,0,25-x}], 1]; 
> UV = Sqrt[#.{{1,.5},{.5,1}}]&;
>  
> With[{plotstuff = {AspectRatio -> Automatic, Frame->True},
>       h = Hue[.5Plus@@#]&}, 
> Show[GraphicsRow[
> {Graphics[{PointSize[.03],{h@#,Point@#}&/@xy}, plotstuff],
>  Graphics[{PointSize[.03],{h@#,Point@UV@#}&/@xy}, plotstuff]}], 
> ImageSize -> 600]]
> 
> With[{plotstuff = {AspectRatio -> Automatic, Frame->True},
>       h = Hue[(Subtract@@#+2)/4]&}, 
> Show[GraphicsRow[
> {Graphics[{PointSize[.03],{h@#,Point@#}&/@xy}, plotstuff],
>  Graphics[{PointSize[.03],{h@#,Point@UV@#}&/@xy}, plotstuff]}], 
> ImageSize -> 600]]
> 
> ----- Barrie Stokes <Barrie.Stokes at newcastle.edu.au> wrote:
>> Hi Ray, Hi Justin
>> 
>> Ray, I like your idea for displaying this transformation, but wanted
>> to be sure myself which xy points were going to which uv points.
>> 
>> The first thing I tried was to get colour into the picture,
>> but the following is deceptive:
>> 
>> xy = .2 Flatten[ 
>>     Table[ {x, y}, {x, 0, 10, 0.2}, {y, 0, 10 - x, 0.2} ], 1 ];
>> uv = Sqrt[ xy.{{1, .5}, {.5, 1}} ];
>> With[ {plotstuff = {Joined -> True, AspectRatio -> Automatic, 
>>     Frame -> True, Axes -> None,  Prolog -> PointSize[ .02 ]}},
>>  Show[ GraphicsRow[ {ListPlot[ xy, plotstuff, 
>>      ColorFunction -> "Rainbow" ], 
>>     ListPlot[ uv, plotstuff, ColorFunction -> "Rainbow" ]} ],
>>        ImageSize -> 600 ] ]
>> 
>>  as I found when I tried
>> 
>> Manipulate[ 
>>  (xy = .2 Flatten[ 
>>      Table[ {x, y}, {x, 0, 10, 0.25}, {y, 0, 10 - x, 0.25} ], 1 ];
>>   uv = Sqrt[ xy.{{1, .5}, {.5, 1}} ];
>>   With[ {
>>     plotstuff1 = {AspectRatio -> Automatic, Frame -> True, 
>>       Axes -> None,
>>                        
>>       Prolog -> {PointSize[ .02 ], {PointSize[ .04 ], Hue[ 0 ], 
>>          Point[ u ]}}},
>>     plotstuff2 = {AspectRatio -> Automatic, Frame -> True, 
>>       Axes -> None,                       
>>       Prolog -> {PointSize[ .02 ], {PointSize[ .04 ], Hue[ 0 ], 
>>          Point[ {Sqrt[
>> \!\(\*SubscriptBox[\(u\), \(\(\[LeftDoubleBracket]\)\(\ \)\(1\)\(\ \)\
>> \(\[RightDoubleBracket]\)\)]\) + 0.5 
>> \!\(\*SubscriptBox[\(u\), \(\(\[LeftDoubleBracket]\)\(\ \)\(2\)\(\ \)\
>> \(\[RightDoubleBracket]\)\)]\)], Sqrt[
>> \!\(\*SubscriptBox[\(u\), \(\(\[LeftDoubleBracket]\)\(\ \)\(2\)\(\ \)\
>> \(\[RightDoubleBracket]\)\)]\) + 0.5 
>> \!\(\*SubscriptBox[\(u\), \(\(\[LeftDoubleBracket]\)\(\ \)\(1\)\(\ \)\
>> \(\[RightDoubleBracket]\)\)]\)]} ]}}}},
>>    Show[ GraphicsRow[ {ListPlot[ xy, plotstuff1 ], 
>>       ListPlot[ uv, plotstuff2 ]} ],
>>          ImageSize -> 600 ] ]),
>>  {u, {0, 0}, {2, 2}}, ControlType -> Slider2D ]
>> 
>> As the latter shows clearly, the xy diagonal maps to the curved end
>> of the "fan" region in the uv plane, but the colours (only possible
>> easily with Joined->True, at a quick look) in the first plot cover
>> the spectrum from red (0,2) to purple (2,0) along the xy diagonal,
>> whereas the colours across the end of the "fan" are in the red to
>> orange range only.
>> 
>> I'll bet there are other ways to show the details of such mappings, but
>> I like to try to find uses for Manipulate, hence my red dot animation.
>> 
>> Cheers
>> 
>> Barrie
>> 
>> On 02/12/2011 at 11:20 pm, in message <201112021220.HAA01862 at smc.vnet.net>,
>> Ray Koopman <koopman at sfu.ca> wrote:
>>> On Nov 30, 12:19 am, Justin <justin.vala... at gmail.com> wrote:
>>>> Hello,
>>>> I would like to plot the following transformation of the set
>>>> {x,y; x+y<2 & x>0 & y>0} => {(x+.5y)^.5, (y+.5x)^.5}.
>>>> Is there any way to do this in mathematica?
>>>> thanks
>>> 
>>> xy = .2 Flatten[Table[{x,y},{x,0,10},{y,0,10-x}],1];
>>> uv = Sqrt[xy.{{1,.5},{.5,1}}];
>>> With[{plotstuff = {AspectRatio->Automatic, Frame->True, Axes->None,
>>>                  Prolog->PointSize[.02], DisplayFunction->Identity}},
>>> Show[GraphicsArray[{ListPlot[xy,plotstuff],ListPlot[uv,plotstuff]}],
>>>      ImageSize->600]]



  • Prev by Date: Re: FindShortestTour Function- Roundtrip & Constructive Heuristic
  • Next by Date: Re: How to simplify ArcSin formula
  • Previous by thread: Re: Ploting a transformation of a set
  • Next by thread: Re: Ploting a transformation of a set