[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Maalam Status
- To: developer at arabeyes dot org
- Subject: Maalam Status
- From: "Youcef-Rabah Rahal" <yrrahal42 at hotmail dot com>
- Date: Sun, 17 Nov 2002 08:09:37 +0100
Salam to All !
For those who forgot me (which would be quite normal ;)), I'm the author of
these two posts:
http://www.arabeyes.org/archives/developer/2002/July/msg00015.html
http://www.arabeyes.org/archives/developer/2002/September/msg00029.html
I have been quite busy working on my thesis, so forgive me for my silence,
but I swear that I'm still active ;)
In my second post I talked about a new project, which now I decided to name
Maalam ("coordinate plane" in English or "repère" in French). I have started
this program some months ago just to test xlib programming to draw
scientific plots. It became now very ambitious and is in a good progress
rate.
I'd like to describe the goals of this project and the achieved:
1- Maalam Goals:
----------------
Maalam main goal is to create "Scientific Quality" Plots totally in arabic.
By this I mean an arabic interface, and dealing with arabic strings in
creating a plot: labels, text, axis labels etc. There are now a lot of
features that I want to add to Maalam. The main ones are:
a- Fitting functions.
b- Symbolic computation.
c- 3D plots.
d- Displaying FITS format (which is an astronomical data image format).
e- Many others tiny features...
2- Work achieved:
-----------------
I have to precise that everything that have been done until today was done
with (STL) C++ strings and only in English. I have done this in order to
test the concept which seems to work ! And for the moment there is no GUI.
Everything was tested with an interpreter that understands commands like :
plot sin(x) -3.14 3.14
a- 2D plots display: It works correctly, except for some little bugs that
can be easily corrected. It is possible to draw any of the C functions,
user-definded functions or Data Points from an ASCII file. It is possible to
draw multiple plots in one frame, superpose them, configure colors, shapes,
zoom, etc etc.
b- Fitting: It is possible to fit Data with any user definded function. The
algorithm used is my creation and was done only for the purpose of testing.
It may be not efficient (tested only with fits like p0*x+p1) and including
another algorithme _may_be_ required. After the fit has converged, it is
possible to display the fit and/or the data points etc etc
c- Symbolic computation: I wrote a class that evaluate C-like expressions
like 2+3+(5*6)/sin(3.14/2)+x and returns the result (we have to define a
value for x). This class works very fine and is used in fitting with
user-defined functions. I started then to write a class for pure symbolic
computation. Until now I can derive functions. For exemple for the function
sin(x)*x, Maalam returns sin(x)+cos(x)*(x). I intend to add a simplification
method in this class and integration etc.
d- Displaying FITS image: FITS is an astronomical format used to store data
(images). Astronomers deal with it everyday and it may not interest all
future Maalam users... However I wanted to include it since it can display
any 2D maps (and also because I deal with this format everyday !) Handling
FITS is almost finished except for the zoom.
e- The plots created can be dumped in a postscript file. Scientists _love_
ps files, and it is the natural image format to write scientific articles ;)
3- Work to be done:
-------------------
My intention, beside finishing the 5 points cited above, is to create a GUI
for Maalam, because using Maalam for the moment is quite rough. I decided to
write this GUI with QT. The reasons are: simplicity and time saving (clean
c++ code), portability and nice arabic support (accelerators, mirroring).
The only problem with QT is the license, but since this project is aimed to
be free, so no problem... If you have a better suggestion, please correct me
quickly before I go too far in writing the GUI ;)
So now I'm working exclusively on the GUI. I think I will face some issues
when adapting some classes to use arabic strings. For example the Symbolic
Computations where the variable must be SIN and not x !
-----------------------------------------------
So thank you for reading such a long message. I just wanted to say that I'm
not dead yet ;) and give a report on the work achieved.
Nedless to say that I would be very glad and grateful to receive any
comments, queries, questions or suggestions from All.
Keep up the good work,
Salam,
Youcef.
_________________________________________________________________
MSN Search, le moteur de recherche qui pense comme vous !
http://search.msn.fr/worldwide.asp