[kde-edu]: An idea for a new application
Aleix
aleixpol at gmail.com
Tue Jun 12 16:17:27 CEST 2007
On 6/12/07, Andreas Nicolai <Andreas.Nicolai at gmx.net> wrote:
> Hi there,
>
> while I still see some work on the program design, here's some information
> about those who want to start with the actual coding.
>
> For KDE newbies: my general suggestion is to get an introduction into Qt4
> programming first (e.g. "C++ Programming with Qt4" or something like
> that). Understanding the Qt4 framework is the basis for KDE programming -
> once you get that, you'll know how to read and apply all the classes and
> widgets that come with the KDE framework and make your life even easier.
>
> For the program:
> - at first you need a mathematical token system that can handle symbolic
> expressions - something like a "Maple-light" version :-)
> - 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).
KAlgebra doesn't use a MathML parser, it has a MathML parser. That
means that if there is new needs, new features can be added. I don't
know if you have seen the MathML Content Markup (Chapter 4 IIRC), but
it is quite powerful and it is an standard. Have an standard layer is
always better IMHO.
Why can't you manipulate equations in a mathematical sense? MathML is
very semantic, it is based on trees and you can add/remove a branch
where you want.
>
> 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
>
> --
> Andreas Nicolai anicolai at syr.edu
> PhD Candidate, M.A.M.E (315) 443-2641
> Syracuse University
> 151 Link Hall
> Syracuse, NY, 13244
> _______________________________________________
> kde-edu mailing list
> kde-edu at mail.kde.org
> https://mail.kde.org/mailman/listinfo/kde-edu
>
>
>
More information about the kde-edu
mailing list