Google Summer of Code 2015

GeoGebra Summer of Code 2015

This summer, GeoGebra was again part of Google Summer of Code (GSoC) supporting young and talented open source coders. We had a very strong field of 64 students applying and were able to choose 4 of them to work with us during this summer. There were also some impressive contributions submitted by many of the other candidates which have already been incorporated into GeoGebra.

Yi-Chun (Jacky) Kuo: Native iOS App

Jacky

Jacky

Our current iPad app is based on a WebView so we were interested to see if Jacky could make a prototype of a native app using the quite-new RoboVM cross-compiler to convert GeoGebra’s Java code into Objective C. As part of his application he managed to get the JLaTeXMath formula engine working which was very impressive in its own right. For the first half of his project he got the full GeoGebra kernel compiled and running and for the second half he worked on drawing objects and user-interaction.

There is still a lot to do before we can make a release (for example implementing the toolbar and equation editor) but Jacky will stay on with GeoGebra after GSoC to help!

iOS

GeoGebra running in Xcode

Georgios Ouzounis: Handwritten Equation Recognition

me

Georgios

Image showing handwritten 6x^4 + sqrt of 7x over 8+x = 4y^3 recognized and converted to an equation

Handwritten equation recognized!

Georgios made a nice web app as part of his application to collect example handwritten equations from phones and tablets and store them in a database. This was important as it allowed him to use that data when testing and training his algorithms. The three parts to his project were:

  • splitting the equation into its symbols
  • recognising the symbols
  • converting that back into GeoGebra syntax

and by the end of his project it was successfully recognizing indices, fractions and square-roots. At the moment the code is running server-side and is a little slow so the challenge for the future will be to get it running faster and client-side. Open Source libraries used: OpenCV

Thilina Madumal: Intersection Project

10582883_10204977405532520_6229297126131286820_o

Polygon Intersections in 2D and 3D

Polygon Intersections in 2D and 3D!

As part of Thilina’s application, he adapted the Clipper library to compile with Java 6 and with GWT and incorporated it into GeoGebra, which he then used as part of his main GSOC project to improve the polygon operations within GeoGebra.

He has also done a lot of work on improving the Intersect command to allow the intersection of many more object types to be calculated dynamically.

Shamshad Alam: Implicit Curves Project

shamshad

Family of curves cos(x y) = k

cos(x y) = k

3D plot of x^4+y^4+z^4=2

x⁴ + y⁴ + z⁴ = 2

Polygon shown with an extra thin "path" drawn all the way round the outside

Shamshad also made some nice experiments with the Clipper library as part of his application

The main focus of his GSoC project was to implement plotting of implicit curves and surfaces, namely:

  • plotting of non-polynomial implicit curves (for example you can try sin(x) – sin(y) = 1 in GeoGebra Beta)
  • plotting of implicit surfaces (eg x⁴ + y⁴ + z⁴ = 2)
  • extending commands for rotation, translation and other transformations to work with these object types

Thanks to all our GSoC students for a great job done during this summer!

Related Posts

  • Faster, Smaller GeoGebra Applets We were very pleased with how the switch to HTML5 on GeoGebraTube went at the end of last year, and with how the community responded by helping each other to sort out the minor changes […]
  • New GeoGebra Tablet Apps with 3D We are pleased to announce that our fully fledged GeoGebra 5 with 3D View is now also available for Android tablets and iPads. We’ve got a little more work to do before we can launch in […]
  • GeoGebra with 3D View As you may know we have been working on adding the 3D View to GeoGebra for a long time now. It’s been a much longer journey than we first imagined. In particular since 2008, the need has […]
  • Dashed lines in HTML5 With the release of Chrome 23, 3 out of 4 major browsers now support dashed curves in HTML5: Safari 5.1.2: FAIL Safari 6: OK Chrome 16.0.912.77: FAIL Chrome 23: OK Firefox 9: OK […]
  • Be intuitive Days are passing and the summer conference time is getting closer and closer. In two weeks we (Simon and I) will attend EACA 2012 in Spain, and then CADGME 2012 in Serbia. For both we are […]
Posted in Development

Follow

About GeoGebra

GeoGebra is free and multi-platform dynamic mathematics software for all levels of education that joins geometry, algebra, tables, graphing, statistics and calculus in one easy-to-use package. It has received several educational software awards in Europe and the USA.

Quick Facts

  • Graphics, algebra and tables are connected and fully dynamic
  • Easy-to-use interface, yet many powerful features
  • Authoring tool to create interactive learning materials as web pages
  • Available in many languages for our millions of users around the world
  • Free and open source software
© 2017 International GeoGebra Institute