Raul, That was it! My algebraic skills have gotten rusty over the years. I'm going to have to work on polishing up my algebra, so I won't make these dumb mistakes. So here's the final result:
http://bit.ly/1Be186L Now I want to plot this in J. I'll see if I can figure out how to work the plot verbs. Where is the documentation on the 3D plotting verb? Skip Skip Cave Cave Consulting LLC On Sat, Mar 7, 2015 at 6:30 AM, Raul Miller <rauldmil...@gmail.com> wrote: > z = (c*(1 - ((x^2)%(a^2)) + ((y^2)%(b^2)))) > > is different from > > c * ((1 - ((x^2)%(a^2)) + ((y^2)%(b^2))))^0.5 > > When solving for z you need to take the square root of something. > > The equation you're working with looks like it got part of it chopped off. > > Perhaps it would be clearer if we reorganized things a bit: > > z =: c*(1 - rest) ^ 0.5 > > where > rest=: ((x%a)^2) + (y%b)^2 > > There's other ways of doing this, but basically you're working with a > root-mean-square type of equation. > > Thanks, > > -- > Raul > > On Sat, Mar 7, 2015 at 3:32 AM, Skip Cave <s...@caveconsulting.com> wrote: > > Well, I tried plotting the equation > > z = (c*(1 - ((x^2)%(a^2)) + ((y^2)%(b^2)))) > > > > And I don't get anything like a ellipsoid. Here's what I get... > > http://bit.ly/17Zou4t > > What is going wrong? > > > > Skip Cave > > Cave Consulting LLC > > > > On Sat, Mar 7, 2015 at 12:04 AM, Skip Cave <s...@caveconsulting.com> > wrote: > > > >> Yes, I just solved the Cartesian equation, and got the same answer. I > just > >> need the positive values of z, so I can take the absolute value of the > >> equation for the plot. > >> > >> Now I need to see if I can plot the ellipse by simply running x from > 1-10, > >> and then stepping y after each x pass. I want to see the zero values of > x > >> as well, making a plane that the half ellipse sets on. > >> > >> Skip > >> > >> On Mar 6, 2015 11:20 PM, "Raul Miller" <rauldmil...@gmail.com> wrote: > >> > > >> > Of course you realize that there are either two or zero values of z > >> > for every value of x and y. > >> > > >> > That said, > >> > (((x^2)%(a^2)) + ((y^2)%(b^2)) + ((z^2)%(c^2))) = 1 > >> > (((c^2)*((x^2)%(a^2)) + ((y^2)%(b^2)))+ ((z^2)) = c^2 > >> > (z^2) = (c^2)*(1 - ((x^2)%(a^2)) + ((y^2)%(b^2))) > >> > > >> > a=:3 > >> > b=:4 > >> > c=:5 > >> > > >> > z=:13 :'c * ((1 - ((x^2)%(a^2)) + ((y^2)%(b^2))))^0.5' > >> > z > >> > 5 * 0.5 ^~ 1 - (9 %~ 2 ^~ [) + 16 %~ 2 ^~ ] > >> > > >> > Or: > >> > z=:1 _1 */ c * 0.5 ^~ 1 - ((a^2) %~ 2 ^~ [) + (b^2) %~ 2 ^~ ] > >> > > >> > Does that help? > >> > > >> > Thanks, > >> > > >> > -- > >> > Raul > >> > > >> > On Sat, Mar 7, 2015 at 12:10 AM, Skip Cave <s...@caveconsulting.com> > >> wrote: > >> > > Raul, > >> > > > >> > > Yes. What I need is a function f (x,y) using the Cartesian > coordinates > >> x & > >> > > y that will produce the z dimension in the ellipse when I step x & y > >> over > >> > > the plane. > >> > > > >> > > Skip > >> > > > >> > > Skip Cave > >> > > Cave Consulting LLC > >> > > > >> > > On Fri, Mar 6, 2015 at 11:03 PM, Raul Miller <rauldmil...@gmail.com > > > >> wrote: > >> > > > >> > >> I imagine they'd go something like this: > >> > >> > >> > >> X=. a*((sin P) */ cos T) > >> > >> Y=. b*(((sin P) */ sin T) > >> > >> Z=. c*((cos P) +/ T*0)%2 > >> > >> > >> > >> The assumption would be that when they are omitted they are 1. > >> > >> > >> > >> The trick is recognizing how these parametric equations correspond > to > >> > >> your original expression. > >> > >> > >> > >> Thanks, > >> > >> > >> > >> -- > >> > >> Raul > >> > >> > >> > >> On Sat, Mar 7, 2015 at 12:00 AM, Skip Cave < > s...@caveconsulting.com> > >> > >> wrote: > >> > >> > Ok now I'm confused. Nowhere do I see where we set the length of > the > >> > >> three > >> > >> > axes a, b, and c. Also the step verb has lots of variables in it, > >> like a, > >> > >> > w, n, and z that I don't see defined anywhere. > >> > >> > steps=: 3 : 'a+(w)*(i.n+1)%n[w=.z-a[''a z n''=.y' > >> > >> > > >> > >> > How do I change the lengths of the axes a, b,and c? > >> > >> > > >> > >> > Skip Cave > >> > >> > Cave Consulting LLC > >> > >> > > >> > >> > On Fri, Mar 6, 2015 at 10:25 PM, Joe Bogner <joebog...@gmail.com > > > >> wrote: > >> > >> > > >> > >> >> I don't know what I'm doing other than copy/pasting, but the > >> example > >> > >> from > >> > >> >> the plot demo looks pretty close: > >> > >> >> > >> > >> >> load 'plot' > >> > >> >> pd 'clear' > >> > >> >> steps=: 3 : 'a+(w)*(i.n+1)%n[w=.z-a[''a z n''=.y' > >> > >> >> P=. steps 0 1p1 30 > >> > >> >> T=. steps 0 2p1 40 > >> > >> >> X=. ((sin P) */ cos T) > >> > >> >> Y=. ((sin P) */ sin T) > >> > >> >> Z=. ((cos P) +/ T*0)%2 > >> > >> >> > >> > >> >> pd 'backcolor blue' > >> > >> >> pd 'new 0 0 1000 1000' > >> > >> >> > >> > >> >> pd 'type surface' > >> > >> >> pd 'viewpoint 2 2 2;color grayscale' > >> > >> >> pd X;Y;Z > >> > >> >> pd 'show' > >> > >> >> > >> > >> >> > >> > >> >> > >> > >> >> On Fri, Mar 6, 2015 at 11:18 PM, Raul Miller < > >> rauldmil...@gmail.com> > >> > >> >> wrote: > >> > >> >> > >> > >> >> > This is something of an aside - I don't know what I'm doing > yet, > >> well > >> > >> >> > enough to implement this via jhs, but here's an ellipsoid: > >> > >> >> > > >> > >> >> > https://www.shadertoy.com/view/XtlGDX > >> > >> >> > > >> > >> >> > You can tweak the a, b, and c radius values near the top of > the > >> script > >> > >> >> > (which should display on the right side of the screen) and hit > >> the > >> > >> >> > play button to see the change. > >> > >> >> > > >> > >> >> > Thanks, > >> > >> >> > > >> > >> >> > -- > >> > >> >> > Raul > >> > >> >> > > >> > >> >> > On Fri, Mar 6, 2015 at 10:38 PM, Skip Cave < > >> s...@caveconsulting.com> > >> > >> >> > wrote: > >> > >> >> > > Looking a bit better, but no cigar: > >> > >> >> > > > >> > >> >> > > a=:3[b=:3[c=:3 > >> > >> >> > > > >> > >> >> > > X=:4 :0 > >> > >> >> > > > >> > >> >> > > a*(cos x)*cos y > >> > >> >> > > > >> > >> >> > > ) > >> > >> >> > > > >> > >> >> > > Y=:4 :0 > >> > >> >> > > > >> > >> >> > > b*(cos x)*sin y > >> > >> >> > > > >> > >> >> > > ) > >> > >> >> > > > >> > >> >> > > Z=:3 :0 > >> > >> >> > > > >> > >> >> > > c*(sin y) > >> > >> >> > > > >> > >> >> > > ) > >> > >> >> > > > >> > >> >> > > steps=: 3 : 'a+(w)*(i.n+1)%n[w=.z-a[''a z n''=.y' > >> > >> >> > > > >> > >> >> > > draw=:3 :0 > >> > >> >> > > > >> > >> >> > > angles=: steps _1p1 1p1 100 > >> > >> >> > > > >> > >> >> > > uangles =: steps _1.5708 1.5708 100 > >> > >> >> > > > >> > >> >> > > x=. uangles X"0 _ angles > >> > >> >> > > > >> > >> >> > > y=. uangles Y"0 _ angles > >> > >> >> > > > >> > >> >> > > z=. Z uangles > >> > >> >> > > > >> > >> >> > > 'surface' plot x;y;z > >> > >> >> > > > >> > >> >> > > ) > >> > >> >> > > > >> > >> >> > > draw'' > >> > >> >> > > > >> > >> >> > > > >> > >> >> > > output at: http://bit.ly/1wNlQe3 > >> > >> >> > > > >> > >> >> > > > >> > >> >> > > Skip Cave > >> > >> >> > > Cave Consulting LLC > >> > >> >> > > > >> > >> >> > > On Fri, Mar 6, 2015 at 9:18 PM, Raul Miller < > >> rauldmil...@gmail.com> > >> > >> >> > wrote: > >> > >> >> > > > >> > >> >> > >> steps=: 3 : 'a+(w)*(i.n+1)%n[w=.z-a[''a z n''=.y' > >> > >> >> > >> > >> > >> >> > >> Thanks, > >> > >> >> > >> > >> > >> >> > >> -- > >> > >> >> > >> Raul > >> > >> >> > >> > >> > >> >> > >> On Fri, Mar 6, 2015 at 10:08 PM, Skip Cave < > >> > >> s...@caveconsulting.com> > >> > >> >> > >> wrote: > >> > >> >> > >> > Here's what I got whaen I ran Jon's code: > >> > >> >> > >> > > >> > >> >> > >> > a=:3[b=:3[c=:3 > >> > >> >> > >> > > >> > >> >> > >> > X=:4 :0 > >> > >> >> > >> > > >> > >> >> > >> > a*(cos x)*cos y > >> > >> >> > >> > > >> > >> >> > >> > ) > >> > >> >> > >> > > >> > >> >> > >> > Y=:4 :0 > >> > >> >> > >> > > >> > >> >> > >> > b*(cos x)*sin y > >> > >> >> > >> > > >> > >> >> > >> > ) > >> > >> >> > >> > > >> > >> >> > >> > Z=:3 :0 > >> > >> >> > >> > > >> > >> >> > >> > c*(sin y) > >> > >> >> > >> > > >> > >> >> > >> > ) > >> > >> >> > >> > > >> > >> >> > >> > draw=:3 :0 > >> > >> >> > >> > > >> > >> >> > >> > angles=: steps _1p1 1p1 100 > >> > >> >> > >> > > >> > >> >> > >> > uangles =: steps _1.5708 1.5708 100 > >> > >> >> > >> > > >> > >> >> > >> > x=. uangles X"0 _ angles > >> > >> >> > >> > > >> > >> >> > >> > y=. uangles Y"0 _ angles > >> > >> >> > >> > > >> > >> >> > >> > z=. Z uangles > >> > >> >> > >> > > >> > >> >> > >> > 'surface' plot x;y;z > >> > >> >> > >> > > >> > >> >> > >> > ) > >> > >> >> > >> > > >> > >> >> > >> > draw'' > >> > >> >> > >> > > >> > >> >> > >> > |value error: steps > >> > >> >> > >> > > >> > >> >> > >> > | angles=: steps _3.14159 3.14159 100 > >> > >> >> > >> > > >> > >> >> > >> > > >> > >> >> > >> > Skip Cave > >> > >> >> > >> > Cave Consulting LLC > >> > >> >> > >> > > >> > >> >> > >> > On Fri, Mar 6, 2015 at 8:56 PM, Jon Hough < > >> jgho...@outlook.com> > >> > >> >> > wrote: > >> > >> >> > >> > > >> > >> >> > >> >> > >> > >> >> > >> >> I butchered Raul's script slightly. But the resulting > >> graph is > >> > >> >> still > >> > >> >> > >> >> weird. Not sure if it's an improvement. > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> a=:3[b=:3[c=:3 > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> X=:4 :0 > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> a*(cos x)*cos y > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> ) > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> Y=:4 :0 > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> b*(cos x)*sin y > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> ) > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> Z=:3 :0 > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> c*(sin y) > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> ) > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> draw=:3 :0 > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> angles=: steps _1p1 1p1 100 > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> uangles =: steps _1.5708 1.5708 100 > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> x=. uangles X"0 _ angles > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> y=. uangles Y"0 _ angles > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> z=. Z uangles > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> 'surface' plot x;y;z > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> ) > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > >> >> draw'' > >> > >> >> > >> >> > >> > >> >> > >> >> > From: jgho...@outlook.com > >> > >> >> > >> >> > To: programm...@jsoftware.com > >> > >> >> > >> >> > Date: Sat, 7 Mar 2015 02:46:35 +0000 > >> > >> >> > >> >> > Subject: Re: [Jprogramming] Plotting a 3D Ellipse > >> > >> >> > >> >> > > >> > >> >> > >> >> > It seems you are using [-pi,pi] as the range of all > your > >> > >> angles.I > >> > >> >> > >> think > >> > >> >> > >> >> you need to use [-pi/2,pi/2] as the range for the u > >> argument (in > >> > >> >> the > >> > >> >> > >> >> wikipedia page). > >> > >> >> > >> >> > > >> > >> >> > >> >> > > From: rauldmil...@gmail.com > >> > >> >> > >> >> > > Date: Fri, 6 Mar 2015 21:35:37 -0500 > >> > >> >> > >> >> > > To: programm...@jsoftware.com > >> > >> >> > >> >> > > Subject: Re: [Jprogramming] Plotting a 3D Ellipse > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > Hmm... > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > I notice that load'graph' no longer provides the > steps > >> verb > >> > >> >> > >> mentioned > >> > >> >> > >> >> > > in http://www.jsoftware.com/books/pdf/expmath.pdf > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > So here's a workalike: > >> > >> >> > >> >> > > steps=: 3 : 'a+(w)*(i.n+1)%n[w=.z-a[''a z n''=.y' > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > and that gives us an example of a surface plot. > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > Next, we need a parametric representation of the > >> ellipse, > >> > >> and > >> > >> >> > >> >> > > > >> http://en.wikipedia.org/wiki/Ellipsoid#Parameterization > >> > >> looks > >> > >> >> > like > >> > >> >> > >> a > >> > >> >> > >> >> > > plausible approach there. > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > Using that, and > >> > >> >> http://www.jsoftware.com/help/jforc/graphics.htm > >> > >> >> > >> as a > >> > >> >> > >> >> > > starting point, it seems to me that I ought to be > able > >> to > >> > >> draw > >> > >> >> an > >> > >> >> > >> >> > > ellipse like this: > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > a=:3[b=:4[c=:5 > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > X=:4 :0~ > >> > >> >> > >> >> > > a*(cos x)*/cos y > >> > >> >> > >> >> > > ) > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > Y=:4 :0~ > >> > >> >> > >> >> > > b*(cos x)*/sin y > >> > >> >> > >> >> > > ) > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > Z=:4 :0~ > >> > >> >> > >> >> > > c*(sin x)*/1: y > >> > >> >> > >> >> > > ) > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > draw=:3 :0 > >> > >> >> > >> >> > > angles=: steps _1p1 1p1 100 > >> > >> >> > >> >> > > x=. X angles > >> > >> >> > >> >> > > y=. Y angles > >> > >> >> > >> >> > > z=. Z angles > >> > >> >> > >> >> > > 'surface' plot x;y;z > >> > >> >> > >> >> > > ) > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > draw'' > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > Sadly, that's not an ellipse. > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > But I do not have enough familiarity with plot to > know > >> > >> whether > >> > >> >> > I've > >> > >> >> > >> >> > > screwed up my math or if there's a defect in plot > -- I > >> don't > >> > >> >> know > >> > >> >> > >> how > >> > >> >> > >> >> > > to isolate the problem. > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > That said, a quick test with a 3d model of a cube: > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > 'surface' plot ;/|:#:i.8 > >> > >> >> > >> >> > > |NaN error: ncile > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > ...suggests that plot isn't really designed to > >> represent 3d > >> > >> >> > solids. > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > Still, that does not eliminate any potential errors > on > >> my > >> > >> part. > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > On the other hand, maybe the right approach would be > >> to use > >> > >> jhs > >> > >> >> > and > >> > >> >> > >> >> > > generate a distance field renderer along the lines > of > >> what > >> > >> you > >> > >> >> > see > >> > >> >> > >> at > >> > >> >> > >> >> > > shadertoy.com. > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > I'll have to think a bit to see if I can pull off > >> something > >> > >> >> like > >> > >> >> > >> that. > >> > >> >> > >> >> > > (I think that that would only work for people who > have > >> > >> adequate > >> > >> >> > >> >> > > graphics hardware support. But I think you have a > >> suitable > >> > >> >> > graphics > >> > >> >> > >> >> > > card?) > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > Thanks, > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > -- > >> > >> >> > >> >> > > Raul > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > > >> > >> >> > >> >> > > On Fri, Mar 6, 2015 at 7:10 PM, Skip Cave < > >> > >> >> > s...@caveconsulting.com> > >> > >> >> > >> >> wrote: > >> > >> >> > >> >> > > > I want to plot a 3D ellipse (ellipsoid) and then > be > >> able > >> > >> to > >> > >> >> > change > >> > >> >> > >> >> the > >> > >> >> > >> >> > > > lengths of the three axes. The equation of an > >> ellipse with > >> > >> >> axis > >> > >> >> > >> >> lengths of > >> > >> >> > >> >> > > > a, b, & c is: > >> > >> >> > >> >> > > > > >> > >> >> > >> >> > > > ((x^2)%(a^2)) + ((y^2)%(b^2)) + ((z^2)%(c^2)) = 1 > >> > >> >> > >> >> > > > > >> > >> >> > >> >> > > > How can I arrange this so it can be plotted in a > 3-D > >> plot > >> > >> in > >> > >> >> J, > >> > >> >> > >> and > >> > >> >> > >> >> then be > >> > >> >> > >> >> > > > able to experiment with the lengths of the axes? > >> > >> >> > >> >> > > > > >> > >> >> > >> >> > > > Skip > >> > >> >> > >> >> > > > > >> > >> >> > >> >> > > > Skip Cave > >> > >> >> > >> >> > > > Cave Consulting LLC > >> > >> >> > >> >> > > > > >> > >> >> > >> >> > >> > >> >> > > >> ---------------------------------------------------------------------- > >> > >> >> > >> >> > > > For information about J forums see > >> > >> >> > >> >> http://www.jsoftware.com/forums.htm > >> > >> >> > >> >> > > > >> > >> >> > >> > >> > >> > ---------------------------------------------------------------------- > >> > >> >> > >> >> > > For information about J forums see > >> > >> >> > >> http://www.jsoftware.com/forums.htm > >> > >> >> > >> >> > > >> > >> >> > >> >> > > >> > >> >> > > >> ---------------------------------------------------------------------- > >> > >> >> > >> >> > For information about J forums see > >> > >> >> > >> http://www.jsoftware.com/forums.htm > >> > >> >> > >> >> > >> > >> >> > >> >> > >> > >> >> > > >> ---------------------------------------------------------------------- > >> > >> >> > >> >> For information about J forums see > >> > >> >> > http://www.jsoftware.com/forums.htm > >> > >> >> > >> >> > >> > >> >> > >> > > >> > >> >> > >> ---------------------------------------------------------------------- > >> > >> >> > >> > For information about J forums see > >> > >> >> > http://www.jsoftware.com/forums.htm > >> > >> >> > >> > >> > >> > ---------------------------------------------------------------------- > >> > >> >> > >> For information about J forums see > >> > >> >> http://www.jsoftware.com/forums.htm > >> > >> >> > >> > >> > >> >> > > > >> > >> > ---------------------------------------------------------------------- > >> > >> >> > > For information about J forums see > >> > >> http://www.jsoftware.com/forums.htm > >> > >> >> > > >> ---------------------------------------------------------------------- > >> > >> >> > For information about J forums see > >> > >> http://www.jsoftware.com/forums.htm > >> > >> >> > > >> > >> >> > >> ---------------------------------------------------------------------- > >> > >> >> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> > >> >> > >> > >> > > >> ---------------------------------------------------------------------- > >> > >> > For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> > >> > ---------------------------------------------------------------------- > >> > >> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> > >> > >> > > > ---------------------------------------------------------------------- > >> > > For information about J forums see > http://www.jsoftware.com/forums.htm > >> > ---------------------------------------------------------------------- > >> > For information about J forums see > http://www.jsoftware.com/forums.htm > >> > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm