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


Rendering Nice Characters In a 3D Engine

Let me tell you a developer story:Capture d’écran 2016-01-30 à 15.43.02

I always thought most vectorial font engines where limited when it comes to dynamise things a bit. I mean, drawing texts in applications: Everything is always static and monochrome.
With a Graphical API like OpenGL, and even more so, OpenGL ES for mobile, there is little hope to find a really interesting library that fits my needs.

Basically, I want all characters fitting one OpenGl texture, possibly colored, I also want my text drawing routine to make the characters dance, and finally I want to be able to create my own special characters within an existing font.
So I investigated on the best way to develop such a font engine…

Surprisingly, I found a way to not spend years creating my own font format. The two key words here are SVG and batik.

Capture d’écran 2016-01-30 à 15.19.33 SVG is a format for vectorial images, it is widely used to create nice colored vector images, and nice free applications like Inkscape are available to draw such images.
Batik is a set of open-source libraries maintained by Apache to draw and manipulate SVG, written in Java.

The interesting detail is that SVG is meant to have an inner Font format, some way to define a complete set of characters, within a SVG document. it seems obsolete, because none of the SVG tool I know use this “define my own font” feature. But there is an Open-Source “ttf to SVG Font” converter within batik. Here we are…

Capture d’écran 2016-01-30 à 15.16.41

I patched the java batik ttf converter to output another kind of SVG, that splits characters into Inkscape layers: So I can redraw  and optimize an existing font using Inkscape, and add my own characters in it.

Then I did a second tool, that converts SVG characters to a format I can draw on opengl textures. At this level, SVG helps again because it only contains simple quadratic bezier curves.Capture d’écran 2016-01-30 à 15.32.33.png

 Then I can directly use that for the real time rendering !
This engine was used to draw more funky texts in my previous game, and now it allows me to add specific mathematical symbols in my app. It inits the bitmaps very quickly, and allows each equations of Math Touch book to be drawn in one OpenGl call.
It was actually some weeks of work, but it really opened a lots of possibilities and works with all minimal OpenGl Configurations.