I'm proud to present the first public beta of Graph3DP, a 3d graphing application for the Casio Prizm. Enter one to six 3D equations Z=f(X,Y) in terms of X and Y, adjust the window as need, and spin and zoom the resulting graph! This public beta demonstrates most of the major features of the program, including entering multiple equations, graphing, adjusting settings, and even tracing graphs. Additional work is still to be done on many of the features:

:: Debugging and expanding the parser
:: Debugging input routines
:: Adding the zoom menu
:: Adding real-time zooming
:: Improving the rotation algorithms to support dynamic axes
:: Complete tracing features
:: More graph-coloring schemes.

Give it a download and try it today! In other news, Cemetech's developers have been hard at work expanding Cemetech's WikiPrizm reference resource for Prizm users and programmers alike, and have been ardently working to learn more about the Prizm's hardware. Ashbad and myself, aided by Fishbot, new Cemetech member brijohn, and others, have been working with things like overclocking and directly accessing the data lines in the Prizm's serial / I/O port. Brijohn, using his experience with Casio's electronic dictionaries and translators, correctly pegged the CPU core as an SH7724 chip from Renesas, whereas previous guesses had ranged from the SH7721 to the SH7730 even to the fx-9860G's SH7705 CPU. With this information, Ashbad has now succeeded in tweaking the CPU speed in software, and will be reporting further findings soon. I'm poring over possible port numbers to determine how to poke the MSIOF port; if I'm successful, bidirectional transfers on both the RxD and TxD lines might be possible, meaning that CALCnet and stereo audio might be coming soon. If you don't have a Prizm, I highly recommend that you grab one today and join the development of open-source software on a device that the manufacturer isn't actively trying to lock down.

Download
[Casio Prizm] Graph3DP v1.0 Beta 1


Question: Will this allow for multi-graphs to be show at once? Nice color, I really want to try this out.
zeldaking wrote:
Question: Will this allow for multi-graphs to be show at once? Nice color, I really want to try this out.

It already does, but it breaks the coloring feature.
I see you ignored the labels on the casio and used the TI z80 layout Wink

I will try this later on when I am not busy.

Since you mentioned "Debugging and expanding the parser", I assume you mean the gCAS2 parser? If so, then I should roll out my prototype parser that will eliminate a step to making a tree. Also, I will add in functions and leveled evaluation to hopefully speed up tree evaluation and save memory from unnecessary operations. (When I get around to it, I will post in the gCAS2 thread)
@ Kerm: I typed this and it gave me the reboot menu, I don't think it was supposed to happen.

Code:

sin(X)^2+cos(X)

Is this an operator error?
Must be how functions were added. Try using (sin(x))^2 instead.

Also, the icon for the hidden menu looks nice
AHelper: I don't think so, I was trying out different functions, and once again I got the rebbot menu.
KermM would need to post a diff on gcas.c for me to be of any help.
Reo wrote:
zeldaking wrote:
Question: Will this allow for multi-graphs to be show at once? Nice color, I really want to try this out.

It already does, but it breaks the coloring feature.
No, it just does global coloring, so that the minimum Z of all the graphs is used as the global coloring minimum, and the maximum Z of all the graphs is used as the global coloring maximum.

Zeldaking wrote:
@ Kerm: I typed this and it gave me the reboot menu, I don't think it was supposed to happen.
That's what I meant about debugging the parser. Or more specifically, the thing that assembles the tree from the parsed list of tokens. Apparently the way that I hacked functions into it is incorrect, which is something I sort of suspected anyway. I admit I didn't entirely understand exactly how it counts parentheses and constructs subtrees, so that is something I need to revisit. If it helps, I noticed that the first line below crashes, while the second does not:
Z=(1/X)*sin(Y)
Z=sin(Y)*(1/X)

AHelper wrote:
Also, the icon for the hidden menu looks nice
Thanks very much!
Did you get the camera stuff worked out?
elfprince13 wrote:
Did you get the camera stuff worked out?
I'm afraid I haven't had time to work on it yet, hence the line about dynamic axes. Smile
KermMartian wrote:
elfprince13 wrote:
Did you get the camera stuff worked out?
I'm afraid I haven't had time to work on it yet, hence the line about dynamic axes. Smile


Fair enough. 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).

Wow this looks great Kerm. I have seen the photos a while ago and I'm happy it has progressed more. I hope to find some time to try this while I'm not lost into ice hockey forums. Many people complained about the lack of 3D graphing on the PRIZM and how they might go with a TI-Nspire CX instead. Not that I discourage a CX if you want nDoom and the nintendo emulators immediately, but the PRIZM has much more freedom for programming, thanks to Casio being more lax on 3rd-party development. Smile
As a small update, I'm still looking over the USB logs, to verify that I understand everything correctly. It's still just SCSI for Mass Storage over USB, so I'm assuming that changing into "OS Update Mode" simply changes something on the prizm side of things.

If my initial guess is correct, during OS update mode, a special "virtual filesystem" is given, and not the actual mass storage device usually given. This guess is based on what looks to be some really strange addresses. More on this later.

In the mean time, I have to go get a book on SCSI to make sure I'm reading the protocol correctly. There's one in my Library, so I'll get it tomorrow.

On a side note, I'm sick, so progress is going slowly.
Great work Kerm, I got the chance to play around with this some last night (I entertained myself immensely trying to make a small pyramid with it). I also can't wait until you can make this run at 87MHz, then moving around the graphs would be very much more smooth. I'll post some overclocking routines today that you can just throw right in.

EDIT: just actually tried Graph3D at 87MHz -- very cool Cool
Very great !
But i didn't succeed in drawing this graph : cos(0.5(x^2+Y^2))*3/(x^2+Y^2+1) which according to my teacher is very nice.
There is a massive amount of amazing and win in the original post.

Just Saiyan. Cool
Purobaz wrote:
Very great !
But i didn't succeed in drawing this graph : cos(0.5(x^2+Y^2))*3/(x^2+Y^2+1) which according to my teacher is very nice.
I was able to graph that with (3/(x^2+Y^2+1))*cos(0.5*(x^2+Y^2)). Continues to go to show what needs to be tweaked in the parser and the failures with functions and parentheses. Smile

tifreak8x wrote:
There is a massive amount of amazing and win in the original post.

Just Saiyan. Cool
Thanks tifreak8x! Very Happy Glad you like it.

ashbad wrote:
Great work Kerm, I got the chance to play around with this some last night (I entertained myself immensely trying to make a small pyramid with it). I also can't wait until you can make this run at 87MHz, then moving around the graphs would be very much more smooth. I'll post some overclocking routines today that you can just throw right in.

EDIT: just actually tried Graph3D at 87MHz -- very cool Cool
Neat, I'll have to have a Turbo setting in the Window screen. Very Happy
sin(X)+cos(Y) does not work. I get an error and reboot. This reminds me of what used to happen with vanhoa's 3D grapher for fx-9860. I don't know how he fixed it though...
flyingfisch wrote:
sin(X)+cos(Y) does not work. I get an error and reboot. This reminds me of what used to happen with vanhoa's 3D grapher for fx-9860. I don't know how he fixed it though...
Once again, there are small glitches in my parentheses counting for functions that I added to AHelper's gCAS2, nothing that I can't fix. Smile I knew about the problem before I released the beta, and I released it anyway so that you guys could get an idea about what I've been working on. Also, if you press [MENU] at the error screen, your calculator won't reboot.
  
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 1, 2, 3, 4, 5  Next
» View previous topic :: View next topic  
Page 1 of 5
» All times are UTC - 5 Hours
 
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

 

Advertisement