# GSOC 2019 - Idea for a new Library

**URL:** <https://discourse.processing.org/t/gsoc-2019-idea-for-a-new-library/8842>\
**Category:** Summer of Code\
**Created:** [March 1, 2019, 2:23pm UTC](https://discourse.processing.org/t/gsoc-2019-idea-for-a-new-library/8842 "2019-03-01T14:23:22Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![liceroy](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/liceroy/32/3047_2.png) [@liceroy](https://discourse.processing.org/u/liceroy)\
**Post date:** [March 1, 2019, 2:23pm UTC](https://discourse.processing.org/t/gsoc-2019-idea-for-a-new-library/8842/1 "2019-03-01T14:23:22Z")

</div>

I am thinking of making Library for Processing for algorithms and data structure visualization.  
The main aim will be to show array, graphs, etc in an interactive matter at every step of the algorithm with some text description for a better understanding of the process. It is helpful for both teachers and students.  
I just wanna know if it’s something Processing need or not. I have made a sample of it  
It’s pretty bad tho but it’s just to show what I planned to do

[![](https://img.youtube.com/vi/1mv-HLsN4fs/maxresdefault.jpg "heap 12 01 2019 15 15 35") ](https://www.youtube.com/watch?v=1mv-HLsN4fs)

---

<div class="post-metadata">

**Author:** ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)\
**Post date:** [March 3, 2019, 1:44am UTC](https://discourse.processing.org/t/gsoc-2019-idea-for-a-new-library/8842/2 "2019-03-03T01:44:50Z")

</div>

Interesting topic!

It looks like you are more interested in graphs / tree diagrams / network diagrams, is that right?

Two commonly used graphing libraries for Processing (the default Java mode) are grafica and giCentre

[https://www.gicentre.net/utils/chart](https://www.gicentre.net/utils/chart)  
[https://jagracar.com/sketches/defaultPlot.php](https://jagracar.com/sketches/defaultPlot.php)

They focus on dot plots and bar charts. You might be interested in looking at how they approach data, and how that might influence your approach – or if you would be thinking about contributing to or extending what they do.

I have some Processing-based utilities that do graph based data manipulation and rendering. Currently they use the GraphStream library, which is not Processing specific – although there are other Java graphing libraries.

> **[GraphStream](https://en.wikipedia.org/wiki/GraphStream)**
>
> GraphStream is a graph handling Java library that focuses on the dynamics aspects of graphs. Its main focus is on the modeling of dynamic interaction networks of various sizes.
> The goal of the library is to provide a way to represent graphs and work on it. To this end, GraphStream proposes several graph classes that allow to model directed and undirected graphs, 1-graphs or p-graphs (a.k.a. multigraphs, that are graphs that can have several edges between two nodes).
> GraphStream allows to store ...

I believe that there is also a very old demo viewer for GraphStream for Processing 2

> **[graphstream/gs-processing](https://github.com/graphstream/gs-processing)**
>
> A viewer for GraphStream that uses Processing - graphstream/gs-processing
