MathGroup Archive 2011

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

Search the Archive

Re: Color grid with x and y args to visualize

  • To: mathgroup at smc.vnet.net
  • Subject: [mg116595] Re: Color grid with x and y args to visualize
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Mon, 21 Feb 2011 04:21:14 -0500 (EST)

rgns = {
   0 < x < 1 && 0 < y < 1, 0 < x < 1 && 1 < y < 2, 
   0 < x < 1 && 2 < y < 3,
   1 < x < 2 && 0 < y < 1, 1 < x < 2 && 1 < y < 2, 
   1 < x < 2 && 2 < y < 3,
   2 < x < 3 && 0 < y < 1, 2 < x < 3 && 1 < y < 2, 
   2 < x < 3 && 2 < y < 3};


Here are a couple ways of generating these

n = 3;

rgns1 = Table[xv < x < xv + 1 && yv < y < yv + 1,
    {xv, 0, n - 1}, {yv, 0, n - 1}] // Flatten;

rgns2 = Outer[And,
    Thread[Range[0, n - 1] < x < Range[n]],
    Thread[Range[0, n - 1] < y < Range[n]]] //
   Flatten;

rgns3 = Outer[And, Sequence @@ (
      Thread[Range[0, n - 1] < # < Range[n]] & /@
       {x, y})] // 
   Flatten;

rgns === rgns1 === rgns2 === rgns3

True


Bob Hanlon

---- "Christopher O. Young" <cy56 at comcast.net> wrote: 

=============
On 2/19/11 5:15 AM, in article ijo588$lk8$1 at smc.vnet.net, "Christopher O.
Young" <cy56 at comcast.net> wrote:

> I'm trying to get a simple kind of color chart function that I can pass x
> and as arguments to. I want to have it running across by hue and up by
> saturation and value. This is to illustrate 2D transformations, so I need to
> have arguments that I can _inversely_ transform in order to illustrate the
> effects of 2D transformations, whether linear or not.
> 
> One direct approach would seem to have nested loops, but I can't see how to
> do this if the body of the For loop in Mathematica is part of the function.
> 
> Any help getting a "jump start" in this kind of thing would be a huge help
> to me.
> 
> For[i = 0, i < 10, i++,
> 
>   For[j = 0, j < 10, j++,
> 
>       RegionPlot[(i < x < i + 1) && (j < y < j + 1), {x,0,10}, {y,0,10}]
> 
>   ]
>  
> ]


As shown at http://home.comcast.net/~cy56/Grid.nb, I finally got a color
grid with x and y as arguments, but it's hard to believe there isn't a
simpler way to do it. It's quite a struggle to figure out how to specify the
colors. If high school students are going to be comfortable with doing these
visualizations, there needs to be a way to simplify this radically, I think.

I need to have the arguments x and y since I want to be able to transform
the grid by transforming x and y using the inverse transform.

RegionPlot[
  {0 < x < 1 && 0 < y < 1,
   0 < x < 1 && 1 < y < 2,
   0 < x < 1 && 2 < y < 3,
   1 < x < 2 && 0 < y < 1,
   1 < x < 2 && 1 < y < 2,
   1 < x < 2 && 2 < y < 3,
   2 < x < 3 && 0 < y < 1,
   2 < x < 3 && 1 < y < 2,
   2 < x < 3 && 2 < y < 3},
  {x, 0, 3}, {y, 0, 3},
  ColorFunction ->  Function[{x, y},
     Hue[\[LeftFloor]x\[RightFloor]/3, .5 + .5 \[LeftFloor]y\[RightFloor]/3,
1]],
  ColorFunctionScaling -> False
 ]


I still can't figure out how to use Table or whatever to get the region
specifications into a general function. 





  • Prev by Date: Re: weibull plot on weibull scaled paper
  • Next by Date: Re: DeveloperContextFreeForm and local symbols in packages (more)
  • Previous by thread: Re: Vector Runge-Kutta ODE solver with compilation?
  • Next by thread: Re: DeveloperContextFreeForm and local symbols in packages (more)