Replacement for KmPlot

todd rme toddrme2178 at gmail.com
Mon Jul 30 10:02:11 UTC 2012


On Mon, Jul 30, 2012 at 10:24 AM, Percy Camilo Triveño Aucahuasi
<percy.camilo.ta at gmail.com> wrote:
> On Sun, Jul 29, 2012 at 5:52 AM, todd rme <toddrme2178 at gmail.com> wrote:
>>
>> On Sat, Jul 28, 2012 at 1:28 PM, Percy Camilo Triveño Aucahuasi
>> <percy.camilo.ta at gmail.com> wrote:
>> > First aspect: the main goal of Khipu is to support the teaching process
>> > of
>> > math concepts, thats why the main clients of this application are
>> > teachers
>> > and this is the most important part, because it will avoid that Khipu
>> > become
>> > into a "just a utility for plotting". You know math concepts (and their
>> > properties) are easy to learn if you see it, indeed, I propose this
>> > basic
>> > work-flow for the application:
>> >
>> > Step 1: Consume a repository/collection* of mathematical objects** (this
>> > step allow to select objects from the repository) then
>> > Step 2: Categorize/group those selected objects
>> > Step 3: Study their specific properties
>> > Step 4: Provide a way to deploy/export the work
>> >
>> > *The repository is a collection of math expressions and meta-data that
>> > define each object
>> > **Here, objects are any kind of math concept that can be plotted
>> > (specially
>> > functions)
>> >
>> > For example, if a teacher want to work with plane curves (conics) he/she
>> > may
>> > use the repository of "Famous Conics" and, this way, have all the
>> > objects
>> > ready for study (step 1) Later, the teacher can group some objects with
>> > a
>> > criteria (his criteria): "This ones will be used for exam 1", "This
>> > others
>> > for the class" ... and so on (step 2) Step 3 will depend of what
>> > properties
>> > of conics (for each group) he/she wants to study. Step 4 involve some
>> > form
>> > of export their work (it could be a snapshots or animations inside the
>> > application): this way he/she can use the output for the class.
>> >
>> > Currently[2] there is an implementation for step 2 (and partially: step
>> > 1) I
>> > hope you can help me with ideas for step 3 and 4, and if is possible
>> > take
>> > advantage of the forums for this task.
>> >
>> > Second aspect is the technical part of this replacement process. First
>> > place, I will port all KmPlot's features (that I can) to Khipu: is
>> > important
>> > not to drop the work of KmPlot that can be useful.
>> >
>> > To avoid the duplication of code: all the features related to
>> > plotting/analysis of objects will be inside analitza (KAlgebra
>> > parser/symbolic library) in a library called analitzaplot: KAlgebra will
>> > use
>> > the library for plot some functions too. This library will focus on 4
>> > tasks:
>> >
>> > * Manage the core objects (like curves/surfaces/...)
>> > * Analyze those objects (its geometry, math properties, ...)
>> > * Draw/Animate those objects in a decoupled way (just painter/opengl
>> > code)
>> > ... this way we can use the code on widgets or other kind of GUI
>> > controls.
>> > Also, the colors of what be painted (objects and its attributes, drawing
>> > area, ...) will be chosen carefully to respect accessibility: in the
>> > same
>> > way you can change the colors of the background area in KmPlot, the
>> > library
>> > will expose the necessary API for this kind of customization.
>> > * Manage the repository of objects (GHNS comes to my mind) The text of
>> > the
>> > repository files will be translated by our exceptional l10n team. For
>> > example if one repository file contains the words "Spiral of Archimedes"
>> > this should be translated.
>> >
>> > Currently Khipu is in playground and analitzaplot is in a branch of
>> > analitza
>> > (the branch is called aucahuasi/analitzaplot)
>> >
>> > Remember this is a work in process (Khipu and analitzaplot) and even the
>> > library may change right now, however you can see a preview of the API
>> > in
>> > [3]
>> >
>> > Finally, I hope others applications can use this library to visualize
>> > math
>> > concepts (for example: currently many backends of Cantor show only
>> > images
>> > and not a widget that improve the graphical result) I ask to you: take a
>> > look in the work and tell me what do you think; I'm very open to listen
>> > others ideas, so please help me with yours.
>>
>> Let me clarify one thing: have the features from kmplot been moved to
>> kalgebra?  Are the additional plotting types it seems this provides
>> being integrated into kalgebra?
>>
>> I can fully understand the desire to have a teaching application based
>> on the plotting library.  However, I think it is important not to
>> forget that a major goal of teaching plotting is so people can use
>> those plots for practical purposes.  So I think it would be a mistake
>> to focus exclusively on the teaching and neglect the people who
>> actually need to use those plots in everyday life.
>>
>> -Todd
> Hi Todd, glad to see some comments.
>
>
>>have the features from kmplot been moved to kalgebra?
>
> No,
>
>
>>Are the additional plotting types it seems this provides
>>being integrated into kalgebra?
>
> Yes, the additional types will be available for KAlgebra too: because the
> plotting types are in the library (analitzaplot) not in Khipu nor KAlgebra.
> In the future, if someone add a new plotting type, then it will be available
> for any program that uses the library (KAlgebra or Khipu)

Good

>>However, I think it is important not to forget that a
>>major goal of teaching plotting is so people can use
>>those plots for practical purposes.
>
> Thats is why Khipu are being proposed: to have an application for practical
> purposes on regards to plotting functions. So don't worry, I'm not
> forgetting about that (unless, for you, "practical purposes" means just plot
> the function and nothing more)

Once you have been taught the properties of plots, you often don't
need such tools, just looking at the plot can tell you what you need
to know, as long as the plot is the right type of plot.

>>So I think it would be a mistake
>>to focus exclusively on the teaching and neglect the people who
>>actually need to use those plots in everyday life.
>
> Ok, so, you are talking about users that just want to plot the function and
> nothing more, if that is the case, then those users would use KAlgebra
> instead (that is the idea; again: KAlgebra will use analitzaplot) If the
> user want to analize the plots then he/she can use Khipu. For example, let
> me cite something you told time ago:
>
> ".. I think is absolutely critical for anyone using kalgebra or kmplot for
> advanced (i.e. above high-school) level work is to support logarithmic axes,
> both semilog
> and log-log."
>
> A feature like "logarithmic axes" are not supposed to be in KAlgebra, but in
> Khipu (in fact there is already a place to change the scale of the plotting
> area/plots)

What is your reasoning that logarithmic axes do not beling in
KAlgebra?  KAlgebra would be the tool used primarily by advanced
users, yet a plot type that is most important to advanced users will
not be available there.

Also, you said before that the plot types available in Khipu will
automatically be available in KAlgebra, but here you are saying one of
the most important plot types will not be available in KAlgebra.  This
leaves my pretty confused about what is happening.

-Todd

p.s. I am trying to build Khipu right now, but it depend on
libQGLViewer which I don't have yet, so I need to get that working
first.


More information about the kde-edu mailing list