CEMETECH
Leading The Way To The Future
Login [Register]
Username:
Password:
Autologin:

Don't have an account? Register now to chat, post, use our tools, and much more.
Latest Headlines
Online Users
There are 109 users online: 10 members, 72 guests and 27 bots.
Members: Ashbad, critor, geekboy1011, HOMER-16, Link, tifreak8x, zeldaking.
Bots: Spinn3r (1), Magpie Crawler (4), VoilaBot (2), Yahoo! Slurp (1), Googlebot (18), MSN/Bing (1).
RSS & Social Media
SAX
You must log in to view the SAX chat widget
Author Message
Eiyeron


Member


Joined: 12 Dec 2011
Posts: 158

Posted: 02 Apr 2012 10:57:01 am    Post subject:

Using TWO trig functions will make SYSTEM Error
And color will work until Xstep or Ystep are above 100, then it's just color glich
_________________
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 02 Apr 2012 10:58:44 am    Post subject:

Eiyeron wrote:
Using TWO trig functions will make SYSTEM Error
And color will work until Xstep or Ystep are above 100, then it's just color glich
I don't think it's two trig functions specifically, just that my parentheses counting is off. Assuming that my PhD Qual oral exam today goes smoothly (I'm super-duper nervous about it at the moment), I'll look into repairing the parser later this evening. And that's interesting to hear about the Xsteps/Ysteps; I wouldn't expect that to happen unless malloc is doing something odd, but I swear that I check for that.
_________________


Back to top
Eiyeron


Member


Joined: 12 Dec 2011
Posts: 158

Posted: 02 Apr 2012 10:59:48 am    Post subject:

cos*sin => crash
Cos/sin => crash
cos + sin => crash...
_________________
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 02 Apr 2012 11:01:48 am    Post subject:

Eiyeron wrote:
cos*sin => crash
Cos/sin => crash
cos + sin => crash...
cos(sin()) -> No crash, I believe. Smile It's not the trig functions themselves, though, trust me on that. It's that I didn't quite fully understand how gCAS2's parse tree assembler worked, and the way that I hacked functions onto operators isn't quite right.
_________________


Back to top
merthsoft


File Archiver


Joined: 09 May 2010
Posts: 2735

Posted: 02 Apr 2012 11:24:10 am    Post subject:

AHelper wrote:
I see you ignored the labels on the casio and used the TI z80 layout Wink
Kerm seems to be in the "make it like a TI" camp (see also Tetris, where he uses the 2nd key). I try to stick to the Casio way of doing it (my games all use the F-keys).
_________________
Shaun
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 02 Apr 2012 11:24:51 am    Post subject:

merthsoft wrote:
AHelper wrote:
I see you ignored the labels on the casio and used the TI z80 layout Wink
Kerm seems to be in the "make it like a TI" camp (see also Tetris, where he uses the 2nd key). I try to stick to the Casio way of doing it (my games all use the F-keys).
I use the Function keys entirely here. What exactly am I doing that's TI-style?
_________________


Back to top
merthsoft


File Archiver


Joined: 09 May 2010
Posts: 2735

Posted: 02 Apr 2012 11:26:58 am    Post subject:

KermMartian wrote:
merthsoft wrote:
AHelper wrote:
I see you ignored the labels on the casio and used the TI z80 layout Wink
Kerm seems to be in the "make it like a TI" camp (see also Tetris, where he uses the 2nd key). I try to stick to the Casio way of doing it (my games all use the F-keys).
I use the Function keys entirely here. What exactly am I doing that's TI-style?


AHelper wrote:
I see you ignored the labels on the casio and used the TI z80 layout Wink


It's certainly not a problem or anything. Just two ways of approaching it.
_________________
Shaun
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 02 Apr 2012 11:28:51 am    Post subject:

Yes, I saw what he said, but I thought he was joking, since the Prizm labels are "Trace", "Zoom", "Window", "Sketch", "G-Solve", and "G-T", only half of which are relevant to Graph3DP. It doesn't make sense to me to have Trace, Zoom, Window, Z=, Info, Graph, as I would expect the first screen that any application puts me in to be the leftmost of its tabs.

Edit: Ah, ok, as long as it's not a problem. I just did it the way that I expected users would be most familiar with and would find most intuitive.
_________________


Back to top
flyingfisch


Super-Expert


Joined: 02 Feb 2012
Posts: 893
Location: Akron, OH

Posted: 02 Apr 2012 11:32:48 am    Post subject:

KermMartian wrote:
Yes, I saw what he said, but I thought he was joking, since the Prizm labels are "Trace", "Zoom", "Window", "Sketch", "G-Solve", and "G-T", only half of which are relevant to Graph3DP. It doesn't make sense to me to have Trace, Zoom, Window, Z=, Info, Graph, as I would expect the first screen that any application puts me in to be the leftmost of its tabs.

Edit: Ah, ok, as long as it's not a problem. I just did it the way that I expected users would be most familiar with and would find most intuitive.


The graph menu itself looks kind of ti-ish (block cursor, not as wide as the screen)

Also, when graphing to graphs at once, why not make one graph all one color and the other all another? (If that's already what you are doing, ignore me Razz)
_________________



Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 02 Apr 2012 11:34:20 am    Post subject:

Currently I'm putting them both into the Z-linked color scheme. I am going to be offering three color schemes eventually: the current system, some kind of white-to-aqua/black-to-aqua height-based system, and a third system where each graph is a single uniform color, as you propose.
_________________


Back to top
flyingfisch


Super-Expert


Joined: 02 Feb 2012
Posts: 893
Location: Akron, OH

Posted: 02 Apr 2012 11:37:23 am    Post subject:

KermMartian wrote:
Currently I'm putting them both into the Z-linked color scheme. I am going to be offering three color schemes eventually: the current system, some kind of white-to-aqua/black-to-aqua height-based system, and a third system where each graph is a single uniform color, as you propose.


In the finished product, will it remember what settings you chose? (black or white background, namely - I love the black background)

Also, instead of making f1 bring the trace, z=, etc. menu up, why not use shift like casio does? (or both)
_________________



Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 02 Apr 2012 11:38:49 am    Post subject:

Oh yes, and I also need to add an icon on the graph screen so that people know [F6] changes the background color and [F5] changes the graph color. Yes, I hope to make it both remember the settings you choose (colors, equations, and windows) in a file and be able to load them back.
_________________


Back to top
elfprince13


OVER NINE THOUSAND!


Joined: 23 May 2005
Posts: 10228
Location: A galaxy far far away......

Posted: 02 Apr 2012 12:06:03 pm    Post subject:

elfprince13 wrote:
Also, I'm curious if you have any plans to support implicit plots and/or parameterized functions? Being able to port my snow-man from Maple to a hand-held calculator would pretty cool (and might make a nice advertisement for your Youtube demos).

http://img812.imageshack.us/img812/6084/snowmang.jpg


*coughs politely*
_________________
StickFigure Graphic Productions || VSHI: Vermont Sustainable Heating Initiative


Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 02 Apr 2012 12:07:47 pm    Post subject:

I hadn't really considered the possibility of supporting parametrized functions, because it would be fairly challenging, at least for Graph3D v1.0. For a future version, I think it would be a good feature to add, especially if one could use it to graph snowmen!
_________________


Back to top
elfprince13


OVER NINE THOUSAND!


Joined: 23 May 2005
Posts: 10228
Location: A galaxy far far away......

Posted: 02 Apr 2012 12:52:51 pm    Post subject:

KermMartian wrote:
I hadn't really considered the possibility of supporting parametrized functions, because it would be fairly challenging, at least for Graph3D v1.0. For a future version, I think it would be a good feature to add, especially if one could use it to graph snowmen!

I have some really sweet (procedural/mathematical surface) visualizations in Maple that would be mind-blowing on a hand-held :D Even if I had to calculate the Frenet-Serret frame equations for my spacecurves by hand or not have reusable user-defined convenience functions, being able to use parameterized and/or implicit plots would be amazing. From a computational perspective, I don't think you're missing anything I used in the Maple spreadsheet I used to make the snowman (except for the Frenet-Serret calculations at the beginning). I've transcribed it here, sans the coloring/lighting/window options. Take a look and tell me if you think I'm wrong (as far as capabilities are concerned), but I could see this as a worthy end-goal for your program.

Quote:
> hatpath := t -> <2*t, 0, -(t-1)^2+1>:
> spacecurve(hatpath(t), t = -1 .. 4):
> TNB := TNBFrame(hatpath(t)):
> T := u -> subs(t = u, TNB[1]): N := u -> subs(t = u, TNB[2]): B := u -> subs(t = u, TNB[3]):
Because poofy hats are styling
> pompombumps := (θ, φ) -> 1+(3/32)*sin(16*θ)*sin(16*φ):
> hatfabric := (s,t) -> 4*cos(s)*N(t)+2*sin(s)*B(t):
Christmas-ish red and green lighting from light2
> mainhatplot := plot3d(hatpath(t)+hatfabric(s, t)*exp(.4*(-1-t)), t = -1 .. 4, s = 0 .. 2*π):
We'll re-use this bit a lot. save it as a convenience function
> ball := (ρ, θ, φ) -> <ρ*sin(φ)*cos(θ), ρ*sin(φ)*sin(θ), ρ*cos(φ)>:
> poofplot := plot3d(hatpath(4)+ball(pompombumps(θ, φ), θ, φ), θ = 0 .. 2*π, φ = 0 .. π):
> poofband := (q, r, s, t, u) -> hatfabric(s, t)+pompombumps(s, u)*(q*cos(u)*cos(s)*N(t)+q*cos(u)*sin(s)*B(t)+r*sin(u)*T(t)):
> bandplot := plot3d(hatpath(-1)+poofband(.5, 1, s, -1, u), s = 0 .. 2*π, u = 0 .. 2*π):
Making some snowballs
> snowman := seq(plot3d(ball(4+2*n, θ, φ)-<4, 0, 2+sum(2*((i+.5)*2), i = 1 .. n)>, θ = 0 .. 2*π, φ = 0 .. π), n = 1 .. 3):
Makes a segmented carrot by scaling the top end of the original segment down towards the tip.
> carrotsegment := (o, r, l, t, s) -> {<-7-o, 0, -7>+<r*t, sqrt(r^2-r^2*t^2)*cos(s), sqrt(r^2-r^2*t^2)*sin(s)>, <-7-o, 0, -7>+<-l*t, (r-r*t)*cos(s), (r-r*t)*sin(s)>}:
> carrot := seq(plot3d(carrotsegment(i, e^(-0.5e-1*i), 7-i, t, s), s = 0 .. 2*π, t = 0 .. 1), i = 0 .. 4);
Another convenience function. Eyes, mouth, buttons
> coal := (θ, φ) -> ball(.75, θ, φ):
> eyes := seq(plot3d(coal(θ, φ)+<-7, -3+6*n, -4.5>, θ = 0 .. 2*π, φ = 0 .. π), n = 0 .. 1):
Magic constants based on the snowball formulation above. This uses a spherical coordinate transform, with the ordered triplet rotated one position to the right so that "vertical" is along the x axis. This allows us to base the mouth curve on a single variable, rather than 2
> mouthsphere := (n, θ, φ) -> <6*cos((7/8)*π)-4, 6*sin((7/8)*π)*cos((9/8)*π+(3/16)*n*π), 6*sin((7/8)*π)*sin((9/8)*π+(3/16)*n*π)-8>+coal(θ, φ):
> mouthplot := seq(plot3d(mouthsphere(n, θ, φ), θ = 0 .. 2*π, φ = 0 .. π), n = 0 .. 4):
See above, only we can get away with just using normal spherical coordinates here, since the buttons only rotate along φ.
> button := (n, θ, φ) -> ball(8, π, (3/8)*π+(1/8)*n*π)-<4, 0, 18>+coal(θ, φ):
> buttons := seq(plot3d(button(n, θ, φ), θ = 0 .. 2*π, φ = 0 .. π), n = 0 .. 2):
> armpath := t -> <-3, t, abs(.25*t)-18>:
Taper the arms so they don't appear open at the end (even though they really are)
> armplot := plot3d(armpath(t)+<e^(-.1*abs(t))*cos(s), 0, e^(-.1*abs(t))*sin(s)>, s = 0 .. 2*π, t = -15 .. 15):
> display({armplot, buttons, carrot, eyes, snowman, bandplot, mainhatplot, mouthplot, poofplot});



Similarly, for this shell: http://img821.imageshack.us/img821/4992/shellrender.png
_________________
StickFigure Graphic Productions || VSHI: Vermont Sustainable Heating Initiative


Back to top
Deep Thought


Expert


Joined: 11 Mar 2010
Posts: 739
Location: The Universe

Posted: 04 Apr 2012 07:33:21 pm    Post subject:

I tried it today, and I love it, though I wish there were some way to rotate around that other axis in the graph...
_________________
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 04 Apr 2012 10:57:20 pm    Post subject:

Deep Thought wrote:
I tried it today, and I love it, though I wish there were some way to rotate around that other axis in the graph...
Yeah, that's the whole "dynamic axis" thing that I need to do. I want it to always rotate about a pair of virtual axes that are in-out of the screen in the horizontal and vertical directions. Smile
_________________


Back to top
zeldaking


Power User


Joined: 31 Jul 2011
Posts: 469
Location: Utah

Posted: 04 Apr 2012 11:33:52 pm    Post subject:

Great job Kerm. This is already better than the best ti-84 3d grapher; as this has color, multiple equations and is on the Prizm. Keep up the good work.
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55736
Location: Earth, Sol, Milky Way

Posted: 04 Apr 2012 11:36:02 pm    Post subject:

zeldaking wrote:
Great job Kerm. This is already better than the best ti-84 3d grapher; as this has color, multiple equations and is on the Prizm. Keep up the good work.
Thanks very much, Zelda. Smile I look forward to continuing to improve it.
_________________


Back to top
Ashbad


... I think redheaded girls are kind of cool


Joined: 01 Dec 2010
Posts: 2417
Location: Stomp Stomp Stomp, The Idiot Convention

Posted: 20 Apr 2012 05:52:06 pm    Post subject:

One thing I noticed, that probably needs to be fixed by the next version: Open Graph3D, press the [WINDOW] option, which IIRC is F2. Set XSteps or YSteps (or both!) to a high number, something along the lines of 500. Either when you press EXE to confirm the new [X|Y]Steps value(s), or when you next draw a graph, crashes galore. System memory error. I assume that you're allocating memory, or just pushing and array of vertexes of the graph onto the stack, and with such a high number of steps, I also assume you're filling memory and then some with them, causing the memory error.

If you want, I can test around later to find the safest, highest number of steps that don't cause a crash (on the current version), and report them here, so you can add a catch if any higher numbers are entered and say something along the lines of "TOO HIGH A NUMBER FOR FIELD".
_________________
-Ashbad
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    » Goto page Previous  1, 2, 3, 4  Next
» View previous topic :: View next topic  
Page 2 of 4 » All times are GMT - 5 Hours

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© Copyright 2000-2013 Cemetech & Kerm Martian :: Page Execution Time: 0.049434 seconds.