New student - want to apply for GSoC - Improving plotting modules

111 views
Skip to first unread message

Yaser

unread,
Apr 11, 2021, 1:03:31 AM4/11/21
to sympy
Greetings All.
I'm Yaser, an undergraduate computer science student, in my first year. I have, however, a long experience with programming, worked on different projects and learned .
 beyond my current studies level.
Here's my github page if needed.
I wish to contribute to SymPy during the GSoC.

The project idea that caught my eye and I think have good experience in is Improving the plotting module.
I have experience creating visualizations using matplotlib and other python plotting libraries.
One such project is this.

l would like to get some insight into the priority of different ideas, as I haven't found many issues related in github.
Also, some insight about how many ideas is expected from a GSoC student to implement.

Here's what I think:
  1. Start with Implementing high-level features to make plotting easier 
  2. Fix any important bugs related to the plotting module.
  3. Then possibly extending the objects that can be plotted , such as the mentioned vector fields, contours and vector or matrix transformations effects 

This will make work on a subsequent idea(s) easier
  • I presume supporting animations is quite useful, so I could work on doing animations, similar to what desmos.com supports
            (such as looping a constant between intervals)
  • An important idea (I think) is the intelligent routine which notices regions that could be plotted
  • Another probably important idea is the intelligent routine that corrects sharp edges for 3D.
  • This is possible to do using a method that compares the angle between two tangents throughout the curve. 
  • However this will require more work and research on my side for possibly better algorithms.

I know I'm a little late, still I would appreciate any input on the matter.
Thanks.

Alan Bromborsky

unread,
Apr 11, 2021, 6:29:00 PM4/11/21
to sy...@googlegroups.com
You might want to look at Asymptote which can generate publication quality graphics (look at the galleries in the link) -


The problem is that there is no good python wrapper for Asymptote which has it's own programming language.

On 4/10/21 2:05 PM, Yaser wrote:
https://asymptote.sourceforge.io/Greetings All.
--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/86742478-5159-4286-a3f7-360e23522fc6n%40googlegroups.com.


Yaser

unread,
Apr 12, 2021, 4:07:26 AM4/12/21
to sympy
Thanks for replying.
This asymptote package (language) looks quite useful. I found this python wrapper called PyAsy, but I suppose it's still not as good as needed.
I could work on improving it but I need time to research.
Also May I ask if there is still interest in adding animations to the plot module?
I have taken a look at some discussion about the plot module, and it seemed there is an idea (issue 19098) to make sympy output into a suitable format for passing into matplotlib functions
as well as other plotting libraries
I don't know if everybody agrees with this but it might make things easier?

Alan Bromborsky

unread,
Apr 12, 2021, 8:07:39 AM4/12/21
to sy...@googlegroups.com
In the Asymptote galleries look at webgl and movies.  I especially like the klein bottle in webgl that you can rotate -


Clicking on klein.asy under the thumbnail shows the code.

Yaser

unread,
May 6, 2021, 7:16:25 AM5/6/21
to sympy
It's certainly impressive.
I probably won't be able to contribute this summer, 
but I have googled some and there is some work on porting Asymptote to python that you might want to check.

Alan Bromborsky

unread,
May 6, 2021, 1:13:46 PM5/6/21
to sy...@googlegroups.com
The currently available wrappers are not good enough.  Asymptote is not new.  I corresponded with the developers and they said if they were starting from scratch today they would probably use python.  Here is a diagram of a Foucault pendulum I did using Asymptote -

Yaser

unread,
May 7, 2021, 3:07:32 PM5/7/21
to sympy
Hi.
 I see.
 After some research I saw a discussion about it, as you said, python wrappers and not good enough., but maybe something can be build on top of them.

The diagram is interesting as well, I'm starting to understand why you want asymptote over other libraries.
Reply all
Reply to author
Forward
0 new messages