Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
The Casio Prizm is a powerful graphing calculator, and led the charge of color-screen calculators. It already has plenty of fun games available, most written by the fair members of our Cemetech community, but educational Add-Ins for the device have been somewhat lacking. Shaun "Merthsoft" McFall's Periodic Table for the Prizm was a great start, and AHelper's gCAS2 brought the Prizm's first semi-symbolic CAS, but few other educational add-ins have been made. I am happy to announce the first full release of Graph3DP, the culmination of six months of sporadic work.

Graph3DP is a powerful 3D graphing application for the Casio Prizm (fx-CG10/fx-CG20). Enter one to six 3D equations, and rotate and zoom the resulting graph. You can adjust the window and trace over the mesh to examine X, Y, and Z value. This final 1.0 release has been thoroughly tested, and the underlying equation-parsing system, AHelper's gCAS2, has been overhauled for speed and correctness. Graph3DP understands thirteen built-in math functions, from sin() to atan() to sqrt() to ln(), plus addition, subtract, multiplication, division, grouping, and exponentiation. Give it a download and try it today; this will surely become an permanent fixture on your Casio Prizm.

Download
Graph3DP 1.0: A Casio Prizm 3D Grapher
Video highlighting Graph3DP features

I just found out that implied multiplication still doesn't work.

Besides that, awesome job, KermMartian!

Smile
flyingfisch wrote:
I just found out that implied multiplication still doesn't work.

Besides that, awesome job, KermMartian!

Smile
Yup, I decided it wasn't sufficiently important to spend another dozen hours wrestling with the gCAS2 state machine to add it. Thanks!
KermMartian wrote:
flyingfisch wrote:
I just found out that implied multiplication still doesn't work.

Besides that, awesome job, KermMartian!

Smile
Yup, I decided it wasn't sufficiently important to spend another dozen hours wrestling with the gCAS2 state machine to add it. Thanks!


Yeah, I thought that was the case. Smile
It's something I might implement in the future, to be sure, but it wasn't pressing. I'm happy to hear (or rather, fail to hear) that there are no major problems that people have encountered with Graph3DP so far. I pinged one of my marketing contacts at Casio as well, just to see how things are going and to bring this project to their attention, but I haven't heard back from them yet.
Cool, nice to hear. Smile

Also, regarding this:

KermMartian wrote:
Spenceboy98 wrote:
It is fun to make pretty looking graphs with this. I will probably use it when I'm bored in class. Smile
Great to hear. Smile I'm surprised that Casio doesn't have their own in-built 3D grapher; I'm debating whether to contact them about working with me to get this pre-loaded on their calculators. Then again, they reinvented the wheel with their own Periodic Table despite Merthsoft's efforts, so I'd probably be barking up a vain tree.


They actually didn't reinvent the wheel at all. They simply colorized the physium application for fx9860. Wink
True, but Merth had already made an awesome periodic table that is much smaller and more optimized than theirs. Smile
KermMartian wrote:
True, but Merth had already made an awesome periodic table that is much smaller and more optimized than theirs. Smile


And doesn't have the same information as Casio's table.
Question about graph3dp. How do you do absolute value?
krazylegodrummer56 wrote:
Question about graph3dp. How do you do absolute value?
As mentioned in the readme, the [a b/c] key will paste the abs( function into the equation editor.
ok thanks
Edit: didn't see that in the read me
krazylegodrummer56 wrote:
ok thanks
Edit: didn't see that in the read me
Not a problem, totally understandable. Let me know if you have any questions or comments on the finished Graph3DP 1.0.
KermMartian wrote:
It's something I might implement in the future, to be sure, but it wasn't pressing. I'm happy to hear (or rather, fail to hear) that there are no major problems that people have encountered with Graph3DP so far. I pinged one of my marketing contacts at Casio as well, just to see how things are going and to bring this project to their attention, but I haven't heard back from them yet.
If you ever get a response for this addin, please share their response if possible Very Happy
I certainly shall, but I'm not getting my hopes up. Based on their part discussions with me, the Powers that Be have asked them to be wary at best of third-party development, so to shield us (?) from possible crackdowns, it sounded like they're turning a blind eye to our work.
So, in one part, they are worse than TI since TI actually linked to third-part asm programs...

I am perfectly OK from having them not pay attention to us in order to prevent bad things. I was just hoping for a little involvement.

All hail the Powers that Be Good Idea

<offtopic amount="too much">We need a prizm calc icon for the forums, not just ti calcs</offtopic>
Some suggestions after using it for the first time Very Happy I am just listing things off that I see, not saying fixes are needed, just noting.
  • Changing the color shouldn't change the orientation as the data doesn't change order (or shouldn't) when recoloring. I also see that it also recalculates the values. I think that it is possible to generate the colors using the unrotated x,y,z coords.
  • Having the arrow heads rotated to be facing the viewport would be a visual nicety. This can be dome with a bit of math for rotation.
  • Can you allow the use of the screen capture key? I don't recall what key input routines let you get it. However, I know that there is a syscall that lets you inject "special key presses" to the OS that lets it handle things without key reading. For example, you can call the syscall with the key value for SHIFT-Ac/ON and it turns it off. It may be possible to do the same with SHIFT-Capture.
  • Debounce key input in the cmd window so it doesn't register the exit key for the cmd and about page.
  • Have exit get out of trace mode. Why not just hit graph? Graph recalculates everything and is not needed.
  • Is it possible to use OS routines for drawing the string? The cursor just looks odd.
  • Have del be backspace. This is the way that all other input works on the Prizm and a news to me.
  • What is shift-del? I have no idea what an arrow is. Again, use the syscall (I still may have the source to Graph3DP somewhere, I can see if I have the menu code.).
  • shift-del both changes the mode and deletes a character.
If you use PRGM_GetKey or want a fast get key routine, you can use the direct keyboard routine on wikiprizm. For example, "keydownlast(KEY_PRGM_UP) && !keydownhold(KEY_PRGM_UP)" will be true only on pressing, not after.

Great add-in! I hope to use this for actual math purposes in the future!

edit:

Two things to add, one as something the user should have, one is a big problem.
  • If the gCAS2 parser gets an error, you should display the error message that it reports and set the cursor to the spot of error that it tells you. This would be very helpful to users.
  • If there is an error, I am guessing that you malloc the vertex data, parse, store, blah blah. If there is an error, you don't free the vertex data and I get a memory error after just having gCAS2 report parsing errors. To reproduce, enter some garbage like X^, turn on that Z function, and just keep pressing GRAPH until you hit the memory error. I speed it up by having X and Y step as 50.
AHelper wrote:
Some suggestions after using it for the first time Very Happy I am just listing things off that I see, not saying fixes are needed, just noting.

Changing the color shouldn't change the orientation as the data doesn't change order (or shouldn't) when recoloring. I also see that it also recalculates the values. I think that it is possible to generate the colors using the unrotated x,y,z coords.
Yes, it is possible, but my choices were (1) save the values in an array, taking up xsteps*ysteps*sizeof(float)*enabled_graphs more memory all the time or (2) run xstep*ysteps*enabled_graphs iterations of the equation system again. It suddenly occurs to me that I'm doing the second option anyway. Ah well.

Quote:
Can you allow the use of the screen capture key? I don't recall what key input routines let you get it. However, I know that there is a syscall that lets you inject "special key presses" to the OS that lets it handle things without key reading. For example, you can call the syscall with the key value for SHIFT-Ac/ON and it turns it off. It may be possible to do the same with SHIFT-Capture.
Ah yes, I have played around with that injection before. I should see if I can indeed do captures that way, as it would be quite handy.
Quote:
  • Debounce key input in the cmd window so it doesn't register the exit key for the cmd and about page.
  • Have exit get out of trace mode. Why not just hit graph? Graph recalculates everything and is not needed.
  • Is it possible to use OS routines for drawing the string? The cursor just looks odd.
  • Have del be backspace. This is the way that all other input works on the Prizm and a news to me.
  • What is shift-del? I have no idea what an arrow is. Again, use the syscall (I still may have the source to Graph3DP somewhere, I can see if I have the menu code.).
  • shift-del both changes the mode and deletes a character.
If you use PRGM_GetKey or want a fast get key routine, you can use the direct keyboard routine on wikiprizm. For example, "keydownlast(KEY_PRGM_UP) && !keydownhold(KEY_PRGM_UP)" will be true only on pressing, not after.
[EXIT] does leave trace mode, but it brings you to the equation editor. I tossed a coin and decided that was more logical than having it bring you to the Graph mode. I think it's about a balanced argument both ways. As far as [DEL] goes, it backspaces if the cursor is at the end of the line, and I figured that performing deletion instead of backspacing when in the middle of a line would make more sense to users in general. Yes, I know I need to start being more Casio-y with some of my UI choices, but I don't have to respect Casio as the ultimate authority on all things UI. Wink

Quote:
Great add-in! I hope to use this for actual math purposes in the future!
Many thanks! I hope you are able to as well, and moreover, I am crossing my fingers that it is useful and accurate for real math usage. Smile
KermMartian wrote:
AHelper wrote:
Some suggestions after using it for the first time Very Happy I am just listing things off that I see, not saying fixes are needed, just noting.

Changing the color shouldn't change the orientation as the data doesn't change order (or shouldn't) when recoloring. I also see that it also recalculates the values. I think that it is possible to generate the colors using the unrotated x,y,z coords.
Yes, it is possible, but my choices were (1) save the values in an array, taking up xsteps*ysteps*sizeof(float)*enabled_graphs more memory all the time or (2) run xstep*ysteps*enabled_graphs iterations of the equation system again. It suddenly occurs to me that I'm doing the second option anyway. Ah well.

Ok. But you still didn't address the core of my concern: rotation.
KermMartian wrote:
Quote:
Can you allow the use of the screen capture key? I don't recall what key input routines let you get it. However, I know that there is a syscall that lets you inject "special key presses" to the OS that lets it handle things without key reading. For example, you can call the syscall with the key value for SHIFT-Ac/ON and it turns it off. It may be possible to do the same with SHIFT-Capture.
Ah yes, I have played around with that injection before. I should see if I can indeed do captures that way, as it would be quite handy.
Quote:
  • Debounce key input in the cmd window so it doesn't register the exit key for the cmd and about page.
  • Have exit get out of trace mode. Why not just hit graph? Graph recalculates everything and is not needed.
  • Is it possible to use OS routines for drawing the string? The cursor just looks odd.
  • Have del be backspace. This is the way that all other input works on the Prizm and a news to me.
  • What is shift-del? I have no idea what an arrow is. Again, use the syscall (I still may have the source to Graph3DP somewhere, I can see if I have the menu code.).
  • shift-del both changes the mode and deletes a character.
If you use PRGM_GetKey or want a fast get key routine, you can use the direct keyboard routine on wikiprizm. For example, "keydownlast(KEY_PRGM_UP) && !keydownhold(KEY_PRGM_UP)" will be true only on pressing, not after.
[EXIT] does leave trace mode, but it brings you to the equation editor. I tossed a coin and decided that was more logical than having it bring you to the Graph mode. I think it's about a balanced argument both ways. As far as [DEL] goes, it backspaces if the cursor is at the end of the line, and I figured that performing deletion instead of backspacing when in the middle of a line would make more sense to users in general. Yes, I know I need to start being more Casio-y with some of my UI choices, but I don't have to respect Casio as the ultimate authority on all things UI. Wink
For the EXIT key, understandable.

For Casio calc users, the DEL being flipped is like a text editor reversing backspace and del on the TI89/92/v200 calcs. It is alien to how they learned to use the calculator. Del on the z80 calcs is that way, yes, ok, but this calc doesn't have a z80 cpu, isn't made by TI, and has a completely different philosophy for the key layout. Think of another example: What if the latest UT decided that games before weren't the ultimate authority of UI? What if they replaced WASD with YFJB? That makes no sense to a person who has used WASD and is accustomed to it on that platform. Will it make sense to people who never used WASD? That could be true since they know of no other alternatives. What if notepad++ decided that backspace, even though used as a backspace key for all (hopefully) Windows programs, should become a delete key? The other programs's aren't an ultimate authority of the UI.

What about users who haven't used a TI calc? They wouldn't be able to say "Oh, this is just like on my TI84+!" if they never had one. It just lacks user friendliness for people who use the Prizm as a Casio product, not a TI z80 calc.
KermMartian wrote:
Quote:
Great add-in! I hope to use this for actual math purposes in the future!
Many thanks! I hope you are able to as well, and moreover, I am crossing my fingers that it is useful and accurate for real math usage. Smile

Now just to find out when I get to use it Razz
AHelper wrote:

For Casio calc users, the DEL being flipped is like a text editor reversing backspace and del on the TI89/92/v200 calcs. It is alien to how they learned to use the calculator. Del on the z80 calcs is that way, yes, ok, but this calc doesn't have a z80 cpu, isn't made by TI, and has a completely different philosophy for the key layout. Think of another example: What if the latest UT decided that games before weren't the ultimate authority of UI? What if they replaced WASD with YFJB? That makes no sense to a person who has used WASD and is accustomed to it on that platform. Will it make sense to people who never used WASD? That could be true since they know of no other alternatives. What if notepad++ decided that backspace, even though used as a backspace key for all (hopefully) Windows programs, should become a delete key? The other programs's aren't an ultimate authority of the UI.

What about users who haven't used a TI calc? They wouldn't be able to say "Oh, this is just like on my TI84+!" if they never had one. It just lacks user friendliness for people who use the Prizm as a Casio product, not a TI z80 calc.


Totally agreed. I never owned a TI-Calc and I have to admit that the user input UI is really quite foreign to me. Not saying it is imposible to get used to, just saying I would like a casio-type line editor better.
For those of you who have gotten an fx-CG50, I have updated Graph3DP for the new calculator. I find Casio's own 3D grapher to be quite limited (see our Casio fx-CG50 review), so it seemed worthwhile to make Graph3DP compatible with the new calculator:

Download
Graph3DP 1.0: A Casio Prizm 3D Grapher
  
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 GMT - 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