I am trying to write a program that can - do 3d plot with mouse rotation and scaling - allows users to input a transformation matrix and transform the plot
I would like this program to be cross-platform and so thinking of writing as a Java Applet so that it can be embedded in the webpage. But I don't know which Math 3D Graphic Library to use. Also, I also want to run it on tablets (maybe in both iOS and Android) and gives the touch interface. Then, I figure that Java Applet would not be the best.
Any suggestion on platform and library and any other choice of tools that will do the above things with really good performance?
With jzy3d you can easily draw 3d surfaces, scatters, barcharts, and other common mathematical charts. It has full mouse/keyboard support. It does not hide access to raw opengl so that you remain free to customize whatever you want.
Version 0.9 relies on jogl2 (opengl bindings for java), which let you run the API easily on win, mac & unix. Although not provided by Jzy3d, you may easily use the JOGL applet launcher to run 3d over the web. JOGL2 is also able to run on Android so jzy3d should also be able to run Android.
Concerning iOS, are you sure it supports applets? Anyway, I fear JOGL2 won't support iOS. You might discuss that point on jogamp which as a very reactive forum.
Jzy3d API is BSD licensed, so you can use it in any commercial project.
Hope that helps!
Martin
(disclaimer: I'm the author)