Porting the App to an online Website !

Incredible ! I figured out I could just port MathTouchBook to a simple online page for any modern browser…  You can already use the beta port here

Capture du 2016-10-27 20:21:33.png

When I started the MathTouchBook project 2 years ago, I targeted tablets and phones, and I could never have guessed I would be able to port the whole work on an online page in a few days !

Since the source is thousands of C++ lines using OpenGL ES2, a special set of low level functionalities only meant for mobiles, I knew the Android and iOS ports would be possible, but certainly not a HTML5/Javascript port ! What happened ?

Well, First: WEBGL, the javascript version of OpenGL, was designed so it was very close to GLES2. And then I discovered the Emscripten compiler: it forked a well known C++ compiler, LLVM, so that javascript would be targeted as an assembler. And most of all, Emscripten offers direct bindings from C++/GLES2 to WebGL ! ( for the details: there’s a recent evolution of the javascript core with typed arrays: they had to implement this so WebGL could work. And the magic is Emscripten also use this to manage its “assembler”. )

In short, 2 Web technologies evolved exactly as they had to so I could port my work !

 

 

 

 

Graphs with Living Implicit Surfaces

Good news everyone !

Besides 3D Graphs that draws functions with (x,y) as parameters, you are now able to view implicit surfaces of a function in a graph with MathTouchBook ! Surfaces are then defined by space functions with (x,y,z) parameters, and will draw a skin where the value is zero !  Optional parameter t stands for time and will allow to animate anything as you can see in the Video.

A special method for computing values were used: more than 200 000 calls must be done through the whole graph of each function when the shape changes, and the CPU can hardly do that. The solution was to reuse the OpenGL Shading Language (GLSL) function exporter:  It translates the function into a source that can be compiled directly with OpenGL drivers, so it is executed 1000 times faster by the Graphical Processing Unit (GPU) of your Smartphone or Tablet.

Capture d’écran 2016-03-09 à 17.11.14.png

a function exported to a compilable GLSL function. (Here, a torus.)  The exporter is able to factorize some parts of the Code. vt is the “t” variable, vv is a space coordinate.

The new update also brings a better keyboard , with fractional numbers, and many improvements and corrections.

You can find the new Android version here

The new iOS version is here.

Next update will have 3D Graphs !

Version 1.0 is released, but I plan to add some more features in the forthcoming weeks: 3D Graphs are currently developed , for functions with 2 parameters , and even 3: I will use something like raytracing to display f(x,y,z) functions with “implicit surfaces”.

Note the Math Engine already knew how to give the normal vectors at the surface, which is used for lighting:  it’s just the cross product of the derivatives.

This is rendered using Shaders and GPU, which means your device will be used smartly !

I also plan to add Function Compositions, that will allow to use a fonction as a parameter of another one. I have to manage a special keyboard mode for this. Both with 3D Graphs, it will open a lot more capabilities for the whole app !

Link For Android Smartphones and tablets !
Link For iPhone and iPad !

Math Touch Book officially released

The Application for Apple and Android Smartphones and tablets is here, after 14 months of development !

The main goal of this App is to practice Mathematics, using the screen like a living rough draft assisted by Artificial Intelligence, and automatic layout.

Math Touch Book allows to manipulate equations and functions in a vectorial space, which suits very fine to haptic screens. You can resolve equations and look their transformations in real time, find derivatives and integrals, organize a notebook with your work, experiment in many ways and share your work with social networks, amongst many other features.

Physicist and Nobel Prize Richard Feynman, considered one of the brightest mind in the world, once said:

When I see equations, I see the letters in colors – I don’t know why. [..] And I wonder what the hell it must look like to the students.

Making these kinds of visions available for anyone was a guiding line during the development: Maths should be something tangible and clear to work with, both for students and confirmed Mathematicians.This is why a lot of research about interfaces has been done for this project.

If you have Math brain friends, developers or handymen friends, bring the good news and share this We need  your help, because this original product was created independently with no advertisement budget !
Take One minute to download this app, that weight less than 3 mb, do a little share and tell what you think about it !
Link For Android Smartphones and tablets !
Link For iPhone and iPad !

Capture d’écran 2016-02-12 à 12.46.06

Available both on Apple Store and Google Play

 

Flyers for french Universities

It arrived today ! I developed the App, but I also do a bit of marketing about it, it’s part of the job when you are independent. I will give out these little papers at the Paul Sabatier Science University in Toulouse next week ! I will not translate or explain the jokes written on the flyer. nudge nudge. wink wink. My private secretary at the right is here to oversee the execution of the process. She indeed validated, but expressed doubts about the absence of kibbles.

flyermtb

1 049 352 …. Bytes !!!

1 049 352 bytes !!  Ironically just 776 bytes after 1 MegaByte !!

(which is 1024*1024= 1048576 bytes)

To my surprise, this will be more or less the final size of #MathTouchBook for Android, that is to be released within the coming week (for sure, I promise, btw it’s a scoop !).

Capture d’écran 2016-02-05 à 22.50.35

The Apple iPhone/iPad version is more likely to weight 3 or 4 Mb, due to some external program libraries that iOS needs.

I wasn’t expecting less than One Mega for this App, this is great news to discover that thin number ! As light as powerful !

What happened ? I planned to include the Facebook SDK at first (3Mb), but I realised the “Share with Intent” system from Android was better. So I cleaned all the useless stuffs and logs from the App…

The tool is primarily using only my own C++ libraries, but I was a bit afraid because of the use of templates at some points in the code: C++ templates can really be useful for coding Maths because they allow to “Overload” simple operators (Addition,Substraction,Multiplication, whatever else.) by making abstraction of the actual type of your data. (Well, more or less.)

EN3

But C++ is an old language and C++ templates have a big disadvantage: Every template’s functions operators and methods you use is recompiled each time you use it. I mean: when you read a data in a map (C++’s hash table) , the whole read code is compiled for each call. ( for the record, only allocators are external with templates, and C++ libs like boost stands in includes and not .cpp for these reasons.)

But even if it has a funky side, MathTouchBook is an App with 95% Code and 5% data, so it’s really a “Algorithms and nothing else” approach. Beside that, I only have some little mp3 and PNG out there ! – Just what you need ! Capture d’écran 2016-02-04 à 13.11.58