I was surprised at how different the plot looked in jqt compared to the image in jhs. This certainly a starting point.
Linda -----Original Message----- From: programming-boun...@forums.jsoftware.com [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Joe Bogner Sent: Friday, March 6, 2015 11:25 PM To: programm...@jsoftware.com Subject: Re: [Jprogramming] Plotting a 3D Ellipse 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