Re: Sage and JSXGraph

39 views
Skip to first unread message

William Stein

unread,
Jul 19, 2009, 3:39:03 PM7/19/09
to Alfred Wassermann, sage-devel
On Tue, Jul 14, 2009 at 2:05 AM, Alfred
Wassermann<Alfred.W...@uni-bayreuth.de> wrote:
> Dear William,
> Tatsuyoshi Hamada from the Knoppix/Math project told me about
> your wonderful projects Sage (in fact I have heard about it before)
> and Sage notebook.
> Do you think our project JSXGraph (http://jsxgraph.org) would be
> interesting for you and we can cooperate in some way?
> (JSXGraph does function plotting and Dynamic Geometry in JavaScript.)
>

Probably I've cc'd this respond to the sage-devel mailing list to see what
the many other sage developers think:

http://groups.google.com/group/sage-devel

William

Rob Beezer

unread,
Jul 19, 2009, 11:35:09 PM7/19/09
to sage-devel
William Stein wrote:
> Probably I've cc'd this respond to the sage-devel mailing list to see what
> the many other sage developers think:

I spent a few minutes looking at this. Most of the examples look like
many Sage interacts - sliders controlling plots or graphics.
Disclaimer: I'm always on the lookout for ways to use graphics as
graph editors, so I'm interested in using these sorts of tools for
*input* and not just output.

For those who want to peek here's three examples I selected, plus what
I would think of as pros and cons relative to the usefullness for
Sage.

Typical example:
http://jsxgraph.uni-bayreuth.de/wiki/index.php/Power_Series

JQuery controls:
http://jsxgraph.uni-bayreuth.de/wiki/index.php/Circles_on_circles

Potential for graph theory:
Controls are movable points in 2-D
http://jsxgraph.uni-bayreuth.de/wiki/index.php/Include_JSXGraph_together_with_jQuery

Pros:
LGPL license
Fairly smooth updates as sliders vary
Good browser support
Zoom and pan well-supported
Plays nicely with JQuery

Cons:
Must use Javascript for defining mathematical functions
Very limited library of math functions (about 20 functions)
Duplicates Sage interacts
No obvious facility to use as an input device?
Nothing for 3-D?

Rob

David Joyner

unread,
Jul 20, 2009, 8:05:17 AM7/20/09
to sage-...@googlegroups.com
On Sun, Jul 19, 2009 at 11:35 PM, Rob Beezer<goo...@beezer.cotse.net> wrote:
>
> William Stein wrote:
>> Probably  I've cc'd this respond to the sage-devel mailing list to see what
>> the many other sage developers think:
>
> I spent a few minutes looking at this.  Most of the examples look like
> many Sage interacts - sliders controlling plots or graphics.
> Disclaimer: I'm always on the lookout for ways to use graphics as
> graph editors, so I'm interested in using these sorts of tools for
> *input* and not just output.
>
> For those who want to peek here's three examples I selected, plus what
> I would think of as pros and cons relative to the usefullness for
> Sage.
>
> Typical example:
> http://jsxgraph.uni-bayreuth.de/wiki/index.php/Power_Series
>
> JQuery controls:
> http://jsxgraph.uni-bayreuth.de/wiki/index.php/Circles_on_circles
>
> Potential for graph theory:
> Controls are movable points in 2-D
> http://jsxgraph.uni-bayreuth.de/wiki/index.php/Include_JSXGraph_together_with_jQuery



Very cool!

Jason Grout

unread,
Jul 20, 2009, 8:36:02 AM7/20/09
to sage-...@googlegroups.com, Alfred Wassermann


This is very interesting! I've wondered if there was a nice solution to
integrate an interactive geometry environment, for example.

Ondrej: would this be a nice interface to Sympy's geometry capabilities?
Does Sympy export to the "geonext" format. I've never heard of that
format before.

(for the jsxgraph developers) How does JSXGraph compare with Geogebra?
I couldn't find much on the web comparing the two.

Thanks,

Jason

William Stein

unread,
Jul 20, 2009, 3:19:50 PM7/20/09
to sage-...@googlegroups.com, Alfred Wassermann, Markus Hohenwarter
One is written in Java and another in Javascript, which has major implications.
E.g., geogebra can run as a standalone desktop app. I think Geogebra is also
more mature and well developed (it's been under very active development
for about 4 years, at least), and has several hundred thousand users.

I think JSXGraph is very cool though, and having immediate
no-annoying-java javascript is very nice, and has the benefit of being
able to work nicely with other javascript libraries such as jquery.

I could see both a lightweight "geogebra viewer" and JSXGraph having a
place in the Sage notebook, personally.

I've cc'd Markus Hohenwarter (lead developer of Geogebra) in case he
can look at JSXGraph and make some comments comparing it to Geogebra.

Markus: Have you worked more on making a standalone "geogebra viewer",
which could get embedded in the Sage notebook? I would love to make
that easily available/usable in Sage...

> I couldn't find much on the web comparing the two.
>
> Thanks,
>
> Jason
>
> >
>



--
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org

William Stein

unread,
Jul 20, 2009, 9:39:17 PM7/20/09
to sage-devel
(Just in case Markus isn't subscribed.)


---------- Forwarded message ----------
From: Markus Hohenwarter <mar...@geogebra.org>
Date: Mon, Jul 20, 2009 at 6:24 PM
Subject: Re: [sage-devel] Re: Sage and JSXGraph
To: William Stein <wst...@gmail.com>
Cc: sage-...@googlegroups.com, Alfred Wassermann
<Alfred.W...@uni-bayreuth.de>, Michael Borcherds
<mic...@geogebra.org>


Dear William,

I have created a first version of a "geogebra_basic.jar" file (under
GPL) that you can include in Sage. It is under GPL, allows to open ggb
files, and does not use any user interface elements of GeoGebra like
toolbar, menubar, spreadsheet, etc. Please see an example at
http://www.geogebra.org/webstart/test/test.html and find the jar file
at
http://www.geogebra.org/webstart/test/
By setting up the webserver to support pack200, the jar file size is
only about 200K (without much optimizing from my side).

Note that you can communicate with the GeoGebra applet (also the
"basic" version) via a public interface (see
http://www.geogebra.org/en/wiki/index.php/GeoGebra_JavaScript_Methods).
We'd be happy to help extend this interface to include special methods
for interaction with Sage if necessary.

Concerning JSXGraph: this is an interesting project (successor project
of Geonext) and I guess that Sage could include both GeoGebra and
JSXGraph. You will probably want to do some testing with both systems
in various browsers. JSXGraph is a viewer, while GeoGebra also makes
authoring easy (see http://www.geogebra.org/webstart/) and has a large
community (half a million visitors per month) with many ggb files out
there already (see http://www.geogebra.org/wiki).

We'll be happy to work together both with Sage and JSXGraph in the future!

All the best,
Markus
--
Markus Hohenwarter, PhD
Florida Center for Research in Science, Technology, Engineering, and Mathematics
Florida State University, www.fcrstem.org

GeoGebra: www.geogebra.org
IGI: www.geogebra.org/IGI
CPALMS: www.cpalms.org

alfredw

unread,
Jul 21, 2009, 4:25:57 AM7/21/09
to sage-devel
Dear sage-developers,
as Markus said, JSXGraph is a viewer for the web browser: it can
a) display geometric construction in the GEONExT file format (http://
geonext.de)
or the evolving Intergeo file format (http://i2geo.net/),
b) display constructions coded directly in JavaScript.
This second point b) may be the interesting part of JSXGraph for sage.
The URL
http://jsxgraph.uni-bayreuth.de/wiki/index.php/Analyze_data_with_the_Statistics_software_R
contains an example where on every mouseUp event data is sent from the
client to some
high-level functions of the statistics package R on server side.
Finally, the result of the R computation
is sent back to the web browser and the construction is updated
accordingly. The
client-server connection is easily done with AJAX.
Hopefully, this is one step closer to Robs idea of a tool for output
and *input*.

Best wishes,
Alfred

On 21 Jul., 03:39, William Stein <wst...@gmail.com> wrote:
> (Just in case Markus isn't subscribed.)
>
> ---------- Forwarded message ----------
> From: Markus Hohenwarter <mar...@geogebra.org>
> Date: Mon, Jul 20, 2009 at 6:24 PM
> Subject: Re: [sage-devel] Re: Sage and JSXGraph
> To: William Stein <wst...@gmail.com>
>
> Cc: sage-...@googlegroups.com, Alfred Wassermann
> <Alfred.Wasserm...@uni-bayreuth.de>, Michael Borcherds
> <mich...@geogebra.org>
>
> Dear William,
>
> I have created a first version of a "geogebra_basic.jar" file (under
> GPL) that you can include in Sage. It is under GPL, allows to open ggb
> files, and does not use any user interface elements of GeoGebra like
> toolbar, menubar, spreadsheet, etc. Please see an example athttp://www.geogebra.org/webstart/test/test.htmland find the jar file
> athttp://www.geogebra.org/webstart/test/
> By setting up the webserver to support pack200, the jar file size is
> only about 200K (without much optimizing from my side).
>
> Note that you can communicate with the GeoGebra applet (also the
> "basic" version) via a public interface (seehttp://www.geogebra.org/en/wiki/index.php/GeoGebra_JavaScript_Methods).
> We'd be happy to help extend this interface to include special methods
> for interaction with Sage if necessary.
>
> Concerning JSXGraph: this is an interesting project (successor project
> of Geonext) and I guess that Sage could include both GeoGebra and
> JSXGraph. You will probably want to do some testing with both systems
> in various browsers. JSXGraph is a viewer, while GeoGebra also makes
> authoring easy (seehttp://www.geogebra.org/webstart/) and has a large
> community (half a million visitors per month) with many ggb files out
> there already (seehttp://www.geogebra.org/wiki).
>
> We'll be happy to work together both with Sage and JSXGraph in the future!
>
> All the best,
> Markus
>
> On Mon, Jul 20, 2009 at 15:19, William Stein<wst...@gmail.com> wrote:

Pat LeSmithe

unread,
Jul 21, 2009, 11:06:49 AM7/21/09
to sage-...@googlegroups.com
Rob Beezer wrote:
> I spent a few minutes looking at this. Most of the examples look like
> many Sage interacts - sliders controlling plots or graphics.
> Disclaimer: I'm always on the lookout for ways to use graphics as
> graph editors, so I'm interested in using these sorts of tools for
> *input* and not just output.

I've added JSXGraph to

http://wiki.sagemath.org/JavascriptResources

Everyone is welcome to make improvements. Should we start a similar
page for Python / Cython resources?

By the way, SVG *may* be a better choice than canvas for an application
like a unified graph / knot editor. In particular, SVG objects have a
document object model (DOM) similar to the browser's DOM. It's possible
to manipulate and add event handlers to individual elements (or groups).
Further, scripted SVG animation does not require redrawing an entire
scene when just part of it changes. The SVG spec is very large, but it
seems that most of the major browsers, except IE, support the
essentials. IE, of course, supports VML.

For what it's worth... In the immediate future, I plan to focus on
"closing" a few open tickets on which I've been working. On a [much]
longer time scale, I'd like to try to make some mathematical
contributions to Sage, as a happy byproduct, I hope, of learning some
interesting pure mathematics. Knots, quandles, and racks, say. Are
there problems of current interest on which topologists could use some
capability native to Sage? Or do the packages at

http://wiki.sagemath.org/topology

cover the space? Thanks for any advice you can offer!

Rob Beezer

unread,
Jul 21, 2009, 12:58:41 PM7/21/09
to sage-devel
alfredw wrote:
> contains an example where on every mouseUp event data is sent from the
> client to some
> high-level functions of the statistics package R on server side.
> Finally, the result of the R computation
> is sent back to the web browser and the construction is updated
> accordingly. The
> client-server connection is easily done with AJAX.
> Hopefully, this is one step closer to Robs idea of a tool for output
> and *input*.

Alfred,

Very good! Thanks for pointing out this example and capability.

Rob
Reply all
Reply to author
Forward
0 new messages