Since summer 2014, I've been working on Graph3DC, a 3D grapher for the TI-84 Plus C Silver Edition. Based on the computation and rendering engine I built for Graph3DP for the Casio Prizm, it is a full-featured 3D graphing App written entirely in z80 assembly. It integrates with the TI-OS, like TI's Transformation Graphing and Inequality Graphing Apps, and thus can offer 3D graphing within the TI-OS graphing tools that students and teachers already know how to use (while leaving 2D graphing instantly available to avoid any confusion). Back in July, I released a closed Beta 1 of the tool that three Cemetech members helped me beta-test. Unfortunately, subsequent events demotivated me to continue working on this tool. I originally intended it as a demonstration of the powerful educational tools that the community can make when it has access to App keys for TI's graphing calculators, and when I heard that despite my efforts an App key for the TI-84 Plus CE would likely not be forthcoming, I ceased work on this project.

However, considering the hundreds if not thousands of hours of work that went into this project and its predecessor, Graph3DP for the Casio Prizm, it seemed only right to finish it off at last. I'm happy to present Graph3DC 1.0 Open Beta 2, available here for beta-testing by the community. I ask that you please load it onto your TI-84 Plus C Silver Edition and put it through its paces, reporting any and all bugs that you find in the attached discussion topic. I plan to release the final Graph3DC 1.0 at latest in one week, on January 25, 2016, and will subsequently be bringing it to TI's T^3 2016 as a demo.

As a reminder, among the features Graph3DC offers are the following:
  • Rendering and rotation of 3D graphs on up to a 17x17-point grid at normal resolution, or 27x27-point grid at high resolution.
  • Simultaneous graphing of up to 5 3D equations at normal resolution, or 2 3D equations at high resolution.
  • Tracing over graphs to examine the (X, Y, Z) coordinates of points.
  • User-configurable grid colors, background colors, bounds and axis display, axis labels, and more.
  • User-settable window and zoom.
  • TI-OS integration with the Y=, Window, Zoom, Trace, and Graph tools.
  • Full compatibility with horizontal splitscreen mode.

Download
Graph3DC 1.0 Open Beta 2

I don't have a CSE but this looks amazing and powerful, great work! Out of curiosity, what's the performance like?
MaxLeiter wrote:
I don't have a CSE but this looks amazing and powerful, great work!
Thank you, I really appreciate it! I can't believe how much time I wasted making it work well with the TI-OS, but I'm happy that the product is polished.
MaxLeiter wrote:
Out of curiosity, what's the performance like?
This is real-time rotation and rendering from earlier in summer 2015:

According to Ivoah, I should post my bugs here Very Happy
As I said, changing from Radian to Degree or vice versa doesn't change the graph, while it should.


EDIT1:
When you're in horizontal mode, and focused on the graphscreen, and then press Apps and Select G3DC, the screen is a little bit messed up.
I do have an image, but uploading doesn't work for me at this moment Razz

EDIT2:
Directly after installing G3DC, and press GRAPH, a line below Plot1, Plots2 etc is erased.
And when going in 3D mode, a black line is left above Plot1 or Plot2 or Plot3, which one is On

EDIT3:
When going back from 3D to 2D mode, when Plot1 is On, and you just changed the color or the linestyle of an equation, the selected Plot1 is erased.
Awesome work Kerm! I'm in awe of how seamlessly it integrates with TI-OS, great job. I'm glad I could help by beta testing the first version. I have a suggestion though. Would it be possible to implement a "quick rotating" mode, where instead of redrawing the graph each time it rotates, only draw the axes if the arrow is still being held down, and draw the entire graph once the user releases the button.

EDIT: Bug report!
Fresh install of G3DC
Switch to horizontal mode
switch to 3d graphing mode from Y= menu
Blammo! LCD is freaking out and calc needs a hard reset.
A bug I've found...
When the app is installed, the whole ZOOM menu in 2D mode just sends me to the graph, clicking on any of the options or clicking on the right arrow to move to the MEMORY menu all just sends me to the graph screen without doing anything.
Here's what I have so far from you kind and patient people:
  • Directly after installing G3DC, and press GRAPH, a line below Plot1, Plots2 etc is erased.
  • And when going in 3D mode, a black line is left above Plot1 or Plot2 or Plot3, which one is On
  • When going back from 3D to 2D mode, when Plot1 is On, and you just changed the color or the linestyle of an equation, the selected Plot1 is erased.
  • Horizontal splitscreen mode sometimes causes an LCD panic. To replicate: Switch to horizontal mode, then switch to 3d graphing mode from Y= menu.
  • When the app is installed, the whole ZOOM menu in 2D mode just sends me to the graph, clicking on any of the options or clicking on the right arrow to move to the MEMORY menu all just sends me to the graph screen without doing anything.
  • G3DC does not recompute the graph when the user switches between Degree and Radian mode.
  • When you're in horizontal mode, and focused on the graphscreen, and then press Apps and Select G3DC, the screen is a little bit messed up.
Thank you so much for the bug reports, and please keep them coming. I'll try to sit down and churn through them when I have some free time, but certainly before next Monday!
Will it be for TI 84+CE?
KKZiomek wrote:
Will it be for TI 84+CE?
Depending on the response I get about the TI-84 Plus C Silver Edition, I may port it to the TI-84 Plus CE. It will have to be a non-App unless things change substantially, and while that will mean I can strip out all the mind-bogglingly annoying workarounds for TI-OS quirks and bugs, it also means I'll have to implement some new input and menu routines of my own, which will no doubt be time-consuming.
Great job, and it is quite a wonderful app for the creative mathematical mind. This program would be impeccable were it not for a few minor bugs.
-When you try to 2nd-mode in the graphscreen the screen goes haywire until you reset, and using Mathprint or alpha menus in horizontal graph mode results in the screen reverting to 2d functions.
-Also, using Mathprint in 2d y= menu then pressing 3D mode results in there being lines of color between the lines.

Keep up the good work!
CalcMeister wrote:
Great job, and it is quite a wonderful app for the creative mathematical mind. This program would be impeccable were it not for a few minor bugs.
Thank you for those kind words!
Quote:
-When you try to 2nd-mode in the graphscreen the screen goes haywire until you reset, and using Mathprint or alpha menus in horizontal graph mode results in the screen reverting to 2d functions.
I'm afraid I can't replicate that. Can you please try to come up with instructions to replicate it from a fresh install?
Quote:
-Also, using Mathprint in 2d y= menu then pressing 3D mode results in there being lines of color between the lines.
This I can replicate. I'll try to come up with a solution for this.
  • Directly after installing G3DC, and press GRAPH, a line below Plot1, Plots2 etc is erased. I see what you mean: the inversion is one pixel row shorter when G3DC does it than when the OS does it. However, because of the way I'm inverting the Plot text, I'm going to punt on this. It's sufficiently minor that I don't think most people will notice.
  • And when going in 3D mode, a black line is left above Plot1 or Plot2 or Plot3, which one is On. Fixed by writing a new, faster routine to erase the PlotX line of the Y= menu
  • When going back from 3D to 2D mode, when Plot1 is On, and you just changed the color or the linestyle of an equation, the selected Plot1 is erased. Replicated, not yet fixed
  • Horizontal splitscreen mode sometimes causes an LCD panic. To replicate: Switch to horizontal mode, then switch to 3d graphing mode from Y= menu. Replicated. Seems to occur just after the Y= menu screen gets fully erased? Also replicable by switching to 3D mode, then Horizontal, then returning to the homescreen.
  • When the app is installed, the whole ZOOM menu in 2D mode just sends me to the graph, clicking on any of the options or clicking on the right arrow to move to the MEMORY menu all just sends me to the graph screen without doing anything. Replicated. Fixed.
  • G3DC does not recompute the graph when the user switches between Degree and Radian mode. Replicated, fixed. Graph3DC now stores the angle mode when the graph is computed, and if it changes, it recomputes the graph.
  • When you're in horizontal mode, and focused on the graphscreen, and then press Apps and Select G3DC, the screen is a little bit messed up. CANNOT replicate. PT_: Can you give me steps to replicate this?
  • Using Mathprint in 2d y= menu then pressing 3D mode results in there being lines of color between the lines. Replicated, fixed. Should be tested on hardware.
KermMartian wrote:
  • When you're in horizontal mode, and focused on the graphscreen, and then press Apps and Select G3DC, the screen is a little bit messed up. CANNOT replicate. PT_: Can you give me steps to replicate this?

Well, I can't replicate it either, but I do have an image of it:

If I find it, I will post it!

EDIT: find a new (funny Razz) one:
Hmm, I can't replicate that one on OS 4.2, using the steps I saw in the video:
1. Install Graph3DC
2. Switch to Horizontal mode, press [2nd][MODE]
3. Press [2nd][Y=]
4. Press [ENTER]?
KermMartian wrote:
Hmm, I can't replicate that one on OS 4.2, using the steps I saw in the video:
1. Install Graph3DC
2. Switch to Horizontal mode, press [2nd][MODE]
3. Press [2nd][Y=]
4. Press [ENTER]?

1. Install Graph3DC
2. Switch to Horizontal mode, press [CLEAR] (return to homescreen)
3. Press [2nd][Y=]
4. Press [CLEAR]

It sometimes gives me that weird screen, sometimes it resets the whole calc, such that jsTIfied crashes (can't scroll the webpage for example)

I've OS 4.2 too.
Completed/Ignored:
  • Directly after installing G3DC, and press GRAPH, a line below Plot1, Plots2 etc is erased. I see what you mean: the inversion is one pixel row shorter when G3DC does it than when the OS does it. However, because of the way I'm inverting the Plot text, I'm going to punt on this. It's sufficiently minor that I don't think most people will notice.
  • And when going in 3D mode, a black line is left above Plot1 or Plot2 or Plot3, which one is On. Fixed by writing a new, faster routine to erase the PlotX line of the Y= menu
  • Using Mathprint in 2d y= menu then pressing 3D mode results in there being lines of color between the lines. Replicated, fixed. Tested on hardware.
  • Horizontal splitscreen mode sometimes causes an LCD panic. To replicate: Switch to horizontal mode, then switch to 3d graphing mode from Y= menu. Replicated. Seems to occur just after the Y= menu screen gets fully erased? Also replicable by switching to 3D mode, then Horizontal, then returning to the homescreen. Repaired. Had to switch back to LCD org mode before calling _PutC/_PutS, and I missed that in one location.
  • When the app is installed, the whole ZOOM menu in 2D mode just sends me to the graph, clicking on any of the options or clicking on the right arrow to move to the MEMORY menu all just sends me to the graph screen without doing anything. Replicated. Fixed.
  • G3DC does not recompute the graph when the user switches between Degree and Radian mode. Replicated, fixed. Graph3DC now stores the angle mode when the graph is computed, and if it changes, it recomputes the graph.


To Do:
  • In splitscreen mode, on the 3D Z= menu, pressing [up][down] (to the Plots line, then back to Z1=) makes the 3D plot be replaced with the 2D plot.
  • When you're in horizontal mode, and focused on the graphscreen, and then press Apps and Select G3DC, the screen is a little bit messed up. CANNOT replicate. PT_: Can you give me steps to replicate this?
  • When going back from 3D to 2D mode, when Plot1 is On, and you just changed the color or the linestyle of an equation, the selected Plot1 is erased. Replicated, not yet fixed
Bug report for your newest beta-version:
when in 2D mode, press [ZOOM], [ZSQUARE]. It will give you a memory error.

EDIT: When mode Sequential and have Y1 as "X" and Y2 as "Y", press [GRAPH ] - it will give an error. Press 2:Goto -> 3D mode is disappeared.
I don't know if this has to do with the app or I've just found an unrelated bug, but when I go in 2D Horizontal mode, then go to the Y= menu, then press the left arrow to get to the linestyle menu, the go down and select CLEAR, it makes my calc go crazy, I've tried this with the app installed and uninstalled (from the app) and I get the same bug, could someone else try this out to see if it's just me, and to see if it has anything to do with this app at all... By the way, wonderful work Kerm, can,t wait for an official release, keep up the good work Very Happy
I've tried it in Jstified, and when the app was not installed (not even on the calc), I didn't get this bug, but when it was, it bugged (so I'm assuming it was the app) , however, it was not the screen going crazy, but rather just a memory error. Here is a screenshot of what Jstified does
PT_: I'm afraid I can't replicate the Zoom, ZSquare error. What were you doing when you pressed [ZOOM]? (Edit: I replicated it successfully, by being in horizontal splitscreen mode. I regret wanting to support splitscreen mode immensely.)

With the current replicated bugs, that updates my list to:

To Do:
  • In splitscreen mode, on the 3D Z= menu, pressing [up][down] (to the Plots line, then back to Z1=) makes the 3D plot be replaced with the 2D plot.
  • When you're in horizontal mode, and focused on the graphscreen, and then press Apps and Select G3DC, the screen is a little bit messed up. CANNOT replicate. PT_: Can you give me steps to replicate this?
  • When going back from 3D to 2D mode, when Plot1 is On, and you just changed the color or the linestyle of an equation, the selected Plot1 is erased. Replicated, not yet fixed
  • If an edit buffer is open, abort trying to re-draw the graph, because _PushOP1 will throw a memory error. (See: mr womp womp's bug report about ERR:MEMORY in splitscreen mode). No, this is not quite the problem. I removed the _PushOP1/_PopOP1 via caching it in OP5, and the problem persists. More serious is that the 3D graph is getting redraw in 2D mode.
  • Changing 2D function line color in 2D horizontal splitscreen mode makes the 3D re-render process begin (and also throw a memory error).
  • 2D errors make the "3D Mode" text disappear from Y=, because of reasons we already know about.
I don't think anyone has posted about this bug yet so I will say something about it.
Go into the 3d graph z= thing and put anything in, like sin(x) or something. Then press graph, and while it is still calculating the points press the ON button. Choose GOTO ERROR, and there is the bug. It goes to the 2d y= thing, scrolls down to Y0, and the yellow status circle just keeps spinning. When this happens, you have to reset the calculator.
  
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 2
» 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