CEMETECH
Leading The Way To The Future
Login [Register]
Username:
Password:
Autologin:

Don't have an account? Register now to chat, post, use our tools, and much more.
Latest Headlines
Online Users
There are 139 users online: 4 members, 99 guests and 36 bots.
Members: charlessprinkle, mattedimarco, tr1p1ea.
Bots: VoilaBot (4), Spinn3r (1), MSN/Bing (3), Magpie Crawler (3), VoilaBot (7), Googlebot (18).
RSS & Social Media
SAX
You must log in to view the SAX chat widget
    » Goto page 1, 2  Next
» View previous topic :: View next topic  
Author Message
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55886
Location: Earth, Sol, Milky Way

Posted: 03 Mar 2012 12:51:49 am    Post subject: Cemetech to Bring Full-Color Prizm 3D Graphing

Following a proud tradition of doing ridiculous things because we can, Cemetech's latest side-side-side project will do something a bit more useful. Long have I yearned for a beautiful 3D graph add-in to accompany the beautiful, high-resolution color screen on my trusty Casio Prizm calculator. Unfortunately, issues such as time constraints and no system calls that hook Casio's CAS have prevented this from becoming a reality. That changed a few months ago when Cemetech user AHelper, well-known for his upcoming GlassOS third-party TI-84+ operating system, decided to release source and information about his gCAS2 library. This nifty set of functions and support routines turns a string holding an equation into an AST (a tree representing the equation) and can then produce a numerical answer. It's currently still somewhat limited, and I tracked down a number of errors, but with that plus some custom color-mapping and 3D rendering code of my own, I produced a program that can graph any 3D equation.

Of course, it is still quite rudimentary. Although I've begun a single-line text input routine for entering equations, currently the equation to be graphed is compiled into the program (although it still calculates all points and colors on-the-fly on the Prizm!). Things like an adjustable window and zoom and rotation are coming soon, although I have a good idea of how they'll work. Trig functions including sin, cos, and tan are not yet in gCAS2, and there are glitches with certain types of coefficients. Nevertheless, as I find time, I hope to gradually bring this to an educational-grade, very useful 3D graphing program!

As always, feedback, comments, and suggestions are welcome. And don't forget that if you pre-order my upcoming beginner programming / TI-BASIC book, Programming the TI-83+/84+ before March 6th, there's a 50% off code, "TI8384".

The following is a graph of Z=((X*X+Y*Y)/4)-5;

_________________


Back to top
Eiyeron


Member


Joined: 12 Dec 2011
Posts: 158

Posted: 03 Mar 2012 02:16:21 am    Post subject:

NIce thing! I want to try this as fast I can!
_________________
Back to top
helder7


Member


Joined: 23 Dec 2011
Posts: 136

Posted: 03 Mar 2012 06:37:22 am    Post subject:

very nice Kerm!


_________________
SiO2 + CaCO3 ----------> CaSiO3 + CO2
Back to top
gbl08ma


Power User


Joined: 26 Nov 2011
Posts: 478
Location: Portugal

Posted: 03 Mar 2012 07:04:30 am    Post subject:

Wonderful. This would have been more useful some months ago when I was learning basic equations and conditionals in space at school, but I'm sure it will be very interesting to play with now too Smile

Keep up the good work, Kerm!
_________________
My blog, where I write about random things... | tiny URL shortener
View JPEG images on your Prizm | Utilities for the Casio Prizm - clock, stopwatch, calendar/agenda, add-in manager and more!
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55886
Location: Earth, Sol, Milky Way

Posted: 03 Mar 2012 10:36:51 am    Post subject:

Thanks, guys! Once I get rotation working and have manual equation entry at least sort of functional, I'll release an alpha for you all to play with.
_________________


Back to top
krazylegodrummer56


Power User


Joined: 20 Nov 2011
Posts: 405

Posted: 03 Mar 2012 12:27:08 pm    Post subject:

you should have it so you can enter in diffrent equations, like xyz plot, x=, y=, z=, and maybe plain old 0=ax+by+cz.
_________________
Projects: Learn how to program in Prizm C
First C program!
Tic-Tac-Toe: Get it HERE!




Back to top
Deep Thought


Expert


Joined: 11 Mar 2010
Posts: 740
Location: The Universe

Posted: 03 Mar 2012 12:50:56 pm    Post subject: Re: Cemetech to Bring Full-Color Prizm 3D Graphing

KermMartian wrote:
Following a proud tradition of doing ridiculous things because we can,
That's the spirit!

But I really can't wait for this. There aren't too many add-ins for the Prizm yet, but as far as I can see it's nearly all high-quality stuff that's really useful or fun.

And color 3D graphs are epic.
_________________
Back to top
krazylegodrummer56


Power User


Joined: 20 Nov 2011
Posts: 405

Posted: 03 Mar 2012 12:56:45 pm    Post subject:

Also I would love it more if the rainbow effect stayed.
_________________
Projects: Learn how to program in Prizm C
First C program!
Tic-Tac-Toe: Get it HERE!




Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55886
Location: Earth, Sol, Milky Way

Posted: 03 Mar 2012 01:37:26 pm    Post subject:

Krazy, the latter is like z=-(ax+by)/c. I see that the Nspire will get parametric graphing in OS 3.2, so I should add it, but that's a secondary concern.
_________________


Back to top
TheStorm


NOU!


Joined: 26 Mar 2007
Posts: 2375

Posted: 03 Mar 2012 01:40:51 pm    Post subject:

It's sad that Casio didn't allow for a way for us to take advantage of their internal math routines, though I'm not surprised and from what I saw in the docs for their older calculators it seems they re-implement the math routines in every addin which is rather retarded.

That said, Nice work Kerm, this is rather impressive. And props to AHelper as well.
_________________

"Always code as if the person who will maintain your code is a maniac serial killer that knows where you live" -Unknown

"If you've done something right no one will know that you've done anything at all" -Futurama

"Have a nice day, or not, the choice is yours." Tom Steiner

<Michael_V> or create a Borg collective and call it The 83+
<Michael_V> Lower your slide cases and prepare to be silent linked. Memory clears are futile.
Back to top
AHelper


LONG LIVE COMICTECH


Joined: 30 Jan 2011
Posts: 1685
Location: Aufhelperstan, Utopian Republic

Posted: 03 Mar 2012 04:21:56 pm    Post subject:

Very nice work, KermM! Glad to see that gCAS2 eventually worked! Will there be a proof-of-concept add-in released (just to see it on a real screen, not necessarily for the source)?

If you modified the library source, can you post a patch? Also, if anyone wants to help expand gCAS2, please do! I currently have too many projects being worked on right now.

Lastly, about the input, you can look at Clock's code. I have a custom text-input routine in there, however the text input routine that I added documentation for on the prizm wiki is probably what you are looking for Smile
_________________
°ᴥ° Get Lucky

<BrandonW> "You don't even want to know what TI Connect does when it's just detecting your calculator...It ACTUALLY ERASES THE SWAP SECTOR on every communication attempt...EVERY SINGLE ATTEMPT...Yes, TI Connect will kill your calculator..What do I have to do to get your attention?!....Such a bloated protocol."
Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55886
Location: Earth, Sol, Milky Way

Posted: 05 Mar 2012 04:28:46 pm    Post subject:

Quote:
Lastly, about the input, you can look at Clock's code. I have a custom text-input routine in there, however the text input routine that I added documentation for on the prizm wiki is probably what you are looking for Smile
Superb, I will definitely look into that. And yes, I need to upstream my patches soon.

Jonimus: Yeah, it's quite unfortunate. And thanks for the props; I'm excited about this project.

Everyone: So I decided to switch to doing real perspective rendering, instead of my own effective (but hacky) method. Wikipedia gave me the basics of 3D projection. SourceForge provided information about the ex/ey/ez variables, which Wikipedia did not describe well. I also found a thread about fast/accurate sine and cosine that did better than other Taylor and polynomial series-based methods. With a bit of rotation code added to graph3DP, the result is recognizeable as a graph, but seriously needs some proper frustrum-based discard and intelligently-sloped clipping.

Fixed your link ~elfprince
_________________


Back to top
DJ_O


Retired TI-83+ coder


Joined: 18 Mar 2005
Posts: 1497
Location: Quebec (Canada)

Posted: 05 Mar 2012 05:57:57 pm    Post subject:

Looks pretty promising Kerm. Some people complains is that the PRIZM lacks many features the TI-Nspire has, especially since OS 3.1. 3D graphing is often a cited one. Hopefully more math tools adding features the Nspire has are made for the Prizm, to bring it on-par for school users and, hopefully, increase their sales (and the amount of Prizm users)
_________________
Retired Omnimaga/TIMGUL founder. ►►►Please PM Omni issues to the right admins, not me, else you'll be ignored.◄◄◄

Bandcamp|Facebook|Youtube|Twitter
Back to top
elfprince13


OVER NINE THOUSAND!


Joined: 23 May 2005
Posts: 10248
Location: A galaxy far far away......

Posted: 05 Mar 2012 09:53:12 pm    Post subject:

KermMartian wrote:
I also found a thread about fast/accurate sine and cosine that did better than other Taylor and polynomial series-based methods.

It would be most awesome if you had an algorithm for general exponentiation with complex arguments.
_________________
StickFigure Graphic Productions || VSHI: Vermont Sustainable Heating Initiative


Back to top
Kaslai


Member


Joined: 16 Nov 2011
Posts: 172
Location: ???, WA

Posted: 06 Mar 2012 03:10:02 am    Post subject:

For technical things, such as graphs, I prefer an orthographic projection over a perspective projection. I'm probably never going to use this program, but I'm just putting that out there. It would also be computationally less expensive, as you'd only have to find the translation factor for one point, and it could be used for all the points.
_________________



Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55886
Location: Earth, Sol, Milky Way

Posted: 06 Mar 2012 10:49:33 am    Post subject:

I would prefer an orthographic projection as well, and it would certainly make my life easier, but I think I at least need a perspective option. I was very surprised to go pull out my TI-89 just now and realize it does indeed do orthographic projection, which I did not think was the case.

Elfprince: you mean A^B for all A, B? It already does that, if so. Smile
_________________


Back to top
AHelper


LONG LIVE COMICTECH


Joined: 30 Jan 2011
Posts: 1685
Location: Aufhelperstan, Utopian Republic

Posted: 06 Mar 2012 11:39:09 am    Post subject:

@Elfprince: Unless you mean complex numbers like 1+2i, or if you mean x^(y^2/2)
_________________
°ᴥ° Get Lucky

<BrandonW> "You don't even want to know what TI Connect does when it's just detecting your calculator...It ACTUALLY ERASES THE SWAP SECTOR on every communication attempt...EVERY SINGLE ATTEMPT...Yes, TI Connect will kill your calculator..What do I have to do to get your attention?!....Such a bloated protocol."
Back to top
tifreak8x


Guru


Joined: 16 Mar 2005
Posts: 9104
Location: Sol System

Posted: 06 Mar 2012 11:48:40 am    Post subject:

That's an impressive display. I sadly would have no use for a program such as this, but it looks great Smile Can't wait to see some more awesome screenshots come about.
_________________
Projects: AOD Series: 70% | FFME: 80% | Pokemon: 18% | RPGSK: 60% | Star Trek: 70% | Star Trek 83+: 40% | TI-City: 5%

Look here for Assembly Resources.
Back to top
elfprince13


OVER NINE THOUSAND!


Joined: 23 May 2005
Posts: 10248
Location: A galaxy far far away......

Posted: 06 Mar 2012 11:40:06 pm    Post subject:

KermMartian wrote:
you mean A^B for all A, B?

in particular, where A, B are elements of C, rather than R?
_________________
StickFigure Graphic Productions || VSHI: Vermont Sustainable Heating Initiative


Back to top
KermMartian


Site Admin


Joined: 14 Mar 2005
Posts: 55886
Location: Earth, Sol, Milky Way

Posted: 07 Mar 2012 12:08:57 am    Post subject:

elfprince13 wrote:
KermMartian wrote:
you mean A^B for all A, B?

in particular, where A, B are elements of C, rather than R?
Hmm, I hadn't really considered that. Can Matlab and/or the TI-89 do such magic?
_________________


Back to top
Display posts from previous:   
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
    » Goto page 1, 2  Next
» View previous topic :: View next topic  
Page 1 of 2 » All times are GMT - 5 Hours

 
Jump to:  
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

© Copyright 2000-2013 Cemetech & Kerm Martian :: Page Execution Time: 0.046444 seconds.