After the previous Cemetech news article revealing that Cemetech Labs would be creating a full-color 3D graphing utility for the Casio Prizm, I've had a few scattered minutes to work on it. Instead of my own half-hearted perspective renderer, I implemented a true 3D rendering engine complete with camera, viewing plane, frustrum, and all those exciting things. I also augmented Graph3DP's CAS, based on AHelper's gCAS2, to be able to handle functions like sin, cos, tan, and sqrt. I implemented rotation, and for fun, made the background switchable between black and white. Check out the video and images below; as soon as I get an equation input routine written (rather than using an equation string compiled into the add-in, here sin(sqrt(X^2+Y^2))), I'll release a demo for you to try.

In other Casio Prizm news, Cemetech member Souvik astutely observed that Casio released OS 1.04 for the Prizm. It doesn't seem to add much more than auto-closing parentheses and tweaks to the Geometry application, but we'll be continuing to investigate what else might have changed. BrandonW and Graphmastur have respectively been sniffing the USB traffic for screen captures and OS updates over USB, so we hope to reveal either information or tools to work with each soon.

Graph3DP Images and Video
That looks pretty awesome.
Can't wait for the demo! XD
Great job! Can't wait for the release.
That looks really good, Kerm. Can't wait to see how much further this will go.
Nice work, nice choice of music! What about nth roots and exponentiation and logarithms and things like that?
Firstly, very nice work so far with drawing the graph, rotation (key repeat?), and functions!

Second, due to a limitation in both gCAS2 and SDCC's powf function, having decimal or negative exponents will fail. Once I find a nice way to work around this (most likely handling it in gCAS rather than using floating point math), it will work as expected. Logarithms would be function-based and since KermM added function support... Smile

*AHelper gives KermM a cookie for adding functions
Woo cookie! I can easily add logarithms, I think. Are you sure about __ieee754_powf having that limitation? I swear I was using it to raise e to decimal numbers and having no problems.
Quote:
...SDCC's powf function...

It just effects GlassOS. Actually, I may use the powf from that libc library (the one you are using is from it) in GlassOS instead of SDCC's.
That looks amazing, and the black/white background switching is a nice touch.

As for inputs, what about the Prizm's own math routines, or are they unavailable/too slow?
This looks pretty great Kerm. Smile I like how fast the graphs are generated too. Smile
Deep Thought wrote:
That looks amazing, and the black/white background switching is a nice touch.

As for inputs, what about the Prizm's own math routines, or are they unavailable/too slow?
Unavailable; we know of no way to hook into them. In fact, we suspect that each Add-In implements its own math subsystem, which is needless to say a bit unfortunate. DJ_O, thanks. Yes, it's very speedy to recalculate all those vertices, calculate the transforms to put them into perspective space, and map that into pixel coordinates. Smile
The 3d graphing looks awesome! Can you graph more than one surface? Smile
Dingus wrote:
The 3d graphing looks awesome! Can you graph more than one surface? Smile
It see no reason why I can't give you the capability to graph more than one surface at a time; I certainly have the memory and spare CPU power for it. That will come after a few other features, though.
KermMartian wrote:
Dingus wrote:
The 3d graphing looks awesome! Can you graph more than one surface? Smile
It see no reason why I can't give you the capability to graph more than one surface at a time; I certainly have the memory and spare CPU power for it. That will come after a few other features, though.


Good. There are a ton of math problems that involve intersecting surfaces and being able to graph the surfaces and see the intersection would be very helpful.
Mmm, I didn't think of that, but I certainly agree now that you mention it. Once I have actual free time again, the first thing on my list will be finishing the graph equation input routine, then defining the window and settings. After that I'll look at adding multiple surfaces.
  
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
Page 1 of 1
» 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