CodeWalrus

Development => Calculators => Calc Projects, Programming & Tutorials => Topic started by: KermMart̕ian on January 26, 2016, 09:15:19 PM

Title: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: KermMart̕ian on January 26, 2016, 09:15:19 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 TI-84 Plus C Silver Edition. In the time this project has gestated, the TI-84 Plus C Silver Edition (http://www.cemetech.net/tools/ti84pcse) has gone from the leading member of the TI-84 Plus family to a barely-remembered third cousin of the sleek new TI-84 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 TI-84 Plus C Silver Edition, capable of graphing up to five simultaneous equations in the form Z=f(X,Y). 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). As stated in the recent Open Beta 2 news article about Graph3DC, among its most distinguish features are: 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 TI-84+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 TI-84 Plus CE as a non-App program runnable using Doors CE 9 (http://dcs.cemetech.net). In fact, had I chosen to make Graph3DC a non-App 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 TI-84 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 split-screen mode, and so many more. Although I'll have to implement my own input routines for a theoretical Graph3DE for the TI-84 Plus CE, I suspect that the development time will be significantly decreased with the burden of interacting with the TI-OS 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 beta-tester 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 TI-84 Plus C Silver Edition

(https://www.cemetech.net/img/news/g3dc_ob2a.gif) (https://www.cemetech.net/img/news/g3dc_ob2b.gif)
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Dudeman313 on January 26, 2016, 10:20:50 PM
That is so cool!
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: c4ooo on January 26, 2016, 11:17:02 PM
Well, i guess a CE port will now be easier \m/
Also, if you have time, a greyscale Ti84+ port would be great ;)
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Dream of Omnimaga on January 27, 2016, 01:18:39 AM
The moment when a third-party 3D graphing add-on graphs several times faster than TI-OS' built-in 2D graphing...

Great job Kerm. I was sad when I read a post saying this might be dead and hoped you would still consider releasing Graph3DC. What I like the most in it is how well it is integrated into the TI-OS, as if it was part of it. :)
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: SiphonicSugar on January 27, 2016, 01:38:40 AM
Lol, however you integrate it to the OS, that's to complicated... :crazy:

But great job anyway! :D
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: alexgt on January 27, 2016, 01:11:32 PM
Wow, that is really nice ;)
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Max Leiter on January 27, 2016, 06:15:01 PM
It's an awesome project and looks incredibly helpful. Awesome job, @KermMartian.

Out of curiosity, where do these limitations come from?

Quote
17x17-point grid at normal resolution, or 27x27-point grid at high resolution.
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Snektron on January 27, 2016, 11:01:47 PM
Awesome! Im curious what the performance is :)
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Dudeman313 on January 27, 2016, 11:45:52 PM
I would love to try this, but I don't have that calculator.
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Dream of Omnimaga on January 28, 2016, 02:11:20 AM
Quote from: Cumred_Snektron on January 27, 2016, 11:01:47 PM
Awesome! Im curious what the performance is :)
I tried it and actually the speed is slower than 2D graphing because of the loading that happens before the graph actually shows up on the screen, but the speed is very good considering the calculator limitations.
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Ivoah on January 28, 2016, 02:16:19 AM
Quote from: c4ooo on January 26, 2016, 11:17:02 PM
Also, if you have time, a greyscale Ti84+ port would be great ;)

There's already a 3D graphing program for the TI-83+/TI-84+ family: http://www.ticalc.org/archives/files/fileinfo/247/24741.html
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Dudeman313 on January 28, 2016, 02:19:25 AM
Quote from: Ivoah on January 28, 2016, 02:16:19 AM
Quote from: c4ooo on January 26, 2016, 11:17:02 PM
Also, if you have time, a greyscale Ti84+ port would be great ;)

There's already a 3D graphing program for the TI-83+/TI-84+ family: http://www.ticalc.org/archives/files/fileinfo/247/24741.html
Yes, but it's not greyscale.
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: semiprocoder on January 28, 2016, 02:29:41 AM
Also, at least from its review, it is very limited in capabilities. It would be nice to have a fully functional and completed, grayscale, 3d graphing program for the ti 84.
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Dream of Omnimaga on January 28, 2016, 06:56:15 AM
Is grayscale really necessary, though? I don't think using all 4 shades of gray in a graph would look good, because one of the shade would be too hard to distinguish from the background, so automatically you would be stuck with the darkest or lightest shades (depending of if the background is black or white).
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: pimathbrainiac on January 28, 2016, 01:48:57 PM
Quote from: semiprocoder on January 28, 2016, 02:29:41 AM
Also, at least from its review, it is very limited in capabilities. It would be nice to have a fully functional and completed, grayscale, 3d graphing program for the ti 84.
*ti 84+
Anyways I think that's more due to the limitations of the monochrome calcs' screen.. There simply aren't enough pixels to put multiple graphs on that screen cleanly. As for grayscale, what DJ said is about right. Also because of the OS integration, grayscale would not be easy if possible at all.
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: calcplays on January 28, 2016, 11:37:51 PM
Interesting motivation for the creation of this project. If I had to guess, most educational programs are probably made by programmers for their own educational ends.

With Graph3DC, the ticalc.org logo can be recreated... in color.
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: Dream of Omnimaga on January 29, 2016, 12:14:55 AM
It depends. Such elaborate math program can benefit many people, since many people are not willing to spend $160 on a TI-89T or TI-Nspire just to have 3D graphing, especially if they already have a TI-84 Plus C Silver Edition.
Title: Re: Graph3DC 1.0: 3D Grapher for TI-84 Plus C SE Released
Post by: c4ooo on January 29, 2016, 01:02:55 AM
Quote from: semiprocoder on January 28, 2016, 02:29:41 AM
Also, at least from its review, it is very limited in capabilities. It would be nice to have a fully functional and completed, grayscale, 3d graphing program for the ti 84.
I would make one but i don know how to perform calculation on floating point numbers in asm/axe :(