[kde-edu]: An idea for a new application

Miguel Marco mmarco at unizar.es
Thu Jul 5 13:41:08 CEST 2007


El Martes, 12 de Junio de 2007 15:12, Andreas Nicolai escribió:

> For the program:
> - at first you need a mathematical token system that can handle symbolic
> expressions - something like a "Maple-light" version :-)
I think i can help here. I think i could design a data structure to contain 
the expressions we are dealing with, and the ways to operate it. I can't code 
in C++, but i think i could do it in python.

Another idea would be to use the core of a free computer algebra system, such 
as Maxima or Axiom. Maybe it is ot a good idea to add such a dependency, but 
in the other hand we would get rid of this part of the problem ;).

Sincerelly:

Miguel Angel Marco Buzunariz.
Departamento de Matematicas.
Universidad de Zaragoza.

> - next you'll need some tool that translates the mathematical expression
> in token form into a graphical representation (if drag/drop is involved,
> probably QGraphicsItems, but I also like the idea of identical operations
> better), when it comes to nice look and feel, the guys from
> KOffice/KFormula might have some ideas
> - then the mathematical operations (expand parenthesis, make common
> denominator etc.) need to be implemented: requires some way for the user
> to select a term in the equation and apply an operation (or select several
> terms for an inverse expand-parenthesis operation -  how is that operation
> called in english?)
>
> Considering the mathematical token system, which probably needs some kind
> of reverse polish notation implementation for both sides of the equation,
> I would rate this already as a higher difficulty level in terms of core
> programming. The user interface is probably not the major issue here.
> Actually, the way that the system works could be fairly straight forward:
>
> evaluate user operation -> manipulate binary token tree -> update
> graphical display
>
> For an example for the reverse polish notation and manipulation of the
> binary token tree see the attached figure.
>
> Regarding KAlgebra: I wouldn't think that the functionality of KAlgebra is
> similar enough to allow merging both applications in one. Also the
> internals are quite different. KAlgebra uses a MathML parser which enables
> you to evaluate mathematical expressions, but doesn't give you the ability
> to manipulate the equations in a mathematical sense (unless you do those
> operations on the MathML code directly, which would not work IMHO for
> anything but trivial equations).
>
> So, that's just my opinions on the project. It's a great idea and I would
> think also really useful - including a gaming perspective (how many
> "moves" you needed to solve the equation :-)
>
> I would have some ideas on the core implementation and could also help out
> with setting up the initial framework, but for the real coding part
> unfortunately I'm way too busy :-(
>
> Bye,
> Andreas


More information about the kde-edu mailing list