Omnimaga
Omnimaga => News => Topic started by: KermMartian on January 26, 2016, 04:15:09 pm

After nearly two years of work, a closed beta (http://www.cemetech.net/news.php?id=749), and an open beta (https://www.cemetech.net/news.php?id=783), I'm proud to present Graph3DC for the TI84 Plus C Silver Edition. In the time this project has gestated, the TI84 Plus C Silver Edition (http://www.cemetech.net/tools/ti84pcse) has gone from the leading member of the TI84 Plus family to a barelyremembered third cousin of the sleek new TI84 Plus CE (http://www.cemetech.net/tools/ti84pce), but completionist that I am, I refused to let the work I put into Graph3DC go to waste. Therefore, I present today a 3D graphing App for the TI84 Plus C Silver Edition, capable of graphing up to five simultaneous equations in the form Z=f(X,Y). It integrates with the TIOS, like TI's Transformation Graphing and Inequality Graphing Apps, and thus can offer 3D graphing within the TIOS graphing tools that students and teachers already know how to use (while leaving 2D graphing instantly available to avoid any confusion). As stated in the recent Open Beta 2 news article about Graph3DC, among its most distinguish features are:
 Rendering and rotation of 3D graphs on up to a 17x17point grid at normal resolution, or 27x27point 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.
 Userconfigurable grid colors, background colors, bounds and axis display, axis labels, and more.
 Usersettable window and zoom.
 TIOS integration with the Y=, Window, Zoom, Trace, and Graph tools.
 Full compatibility with horizontal splitscreen mode.
As I once stated in the Graph3DC Closed Beta 1 (http://www.cemetech.net/news.php?id=749) news article, and have repeated ever since, one of my primary motivations behind creating (and finishing) Graph3DC was "to show TI that by releasing the keys necessary for us to write free Apps for their TI84+CE, they'll be only strengthening that platform's appeal to students, teachers, and programmers." I wanted TI to know that the community can not only create powerful, fast games and useful programming tools for students, but can also create educational applications that are genuinely helpful in the classroom. For better or for worse, that appears to no longer be feasible, but I can say with some confidence that if I have the time, I will port Graph3DC to the TI84 Plus CE as a nonApp program runnable using Doors CE 9 (http://dcs.cemetech.net). In fact, had I chosen to make Graph3DC a nonApp program from the beginning, I think the program would have been released months, if not years, earlier. Why? The vast majority of the time I spent creating Graph3DC was not invested in the 3D graphing, computation, and rendering code, but in building hook after hook to integrate with the OS, and more importantly, to work around OS bugs. Examining how TI's own Transform and Inequality Graphing Apps work reveals an intricate set of hooks to make the Y= menu work properly when augmented by an App's extra features and much more. Graph3DC drew heavily on my experience creating Doors CSE for the TI84 Plus CSE, requiring me to make cursor hooks to make the flashing Plot1 to Plot 3 cursor in the Y= menu work properly, a key hook to skip to a correct Z= equation in the Z= menu when the OS's own features didn't quite work properly, myriad redisplay hooks to work around quirks in the OS's implementation of horizontal splitscreen mode, and so many more. Although I'll have to implement my own input routines for a theoretical Graph3DE for the TI84 Plus CE, I suspect that the development time will be significantly decreased with the burden of interacting with the TIOS removed.
Without further ado, please enjoy Graph3DC at the download link below. If you'd like to explore some fun 3D equations right out of the box, take a look at the included readme PDF, and also refer to the equations and screenshots posted by tireless betatester PT_ (https://www.cemetech.net/forum/viewtopic.php?p=244728#244728). In fact, I'd like to thank everyone in the community who helped test Graph3DC and who encouraged me to press onwards even when the project felt insurmountable. If you're a teacher, I would especially be interested in hearing from you, but I hope anyone will feel free to share comments, questions, and suggestions for future versions.
Claims of an easter egg embedded in the App are completely unfounded.
Download
(https://www.cemetech.net/img/icon/dl.gif) Graph3DC 1.0 (https://www.cemetech.net/programs/index.php?mode=file&id=1416) 3D grapher for the TI84 Plus C Silver Edition
(https://www.cemetech.net/img/news/g3dc_ob2a.gif) (https://www.cemetech.net/img/news/g3dc_ob2b.gif)

First off, it does look impressive, congratz!
A couple of questions come to my mind, though:
1. Performance: How long does it take to draw those two 3D plots (in the pictures) with such an engine (TI84 Plus).
2. Algorithms: It reminds me quite a bit of gnuplot (eg: http://gnuplot.sourceforge.net/demo/surface1.html). Are there any gnuplot's algorithms embedded in Graph3DC or did you do them all from scratch?
Lastly, what do you exactly mean by an easter egg embedded ?
*Edit* typo!

1. The initial computation takes about twenty or more seconds, depending on the complexity of the equation(s) being graphed. Once you are rotating the graph, it can redraw each frame in a second or two.
2. The algorithms are entirely my own, based on code I developed (again, from scratch) for Graph3DP ( https://www.cemetech.net/forum/viewtopic.php?t=8167 ).
Thank you for the kind words! Assuming you're familiar with the concept of am Easter Egg, I was slyly saying there are no Easter Eggs in the program. ;)

Oops, I forgot to +1 you :[. Also, thanks for the explanations, they're good enough for me ;)