Skip to content

vaibhav-jani/AndroidGraphExperiments

Repository files navigation

Android Graphs Experiments

Graphing experiments on Android.

Mathematics has always been fascinating, and the work of visual and recreational mathematicians is incredibly inspiring. Creators like Grant Sanderson (3Blue1Brown) and Khan Academy have played a huge role in shaping an intuitive understanding of mathematical concepts, making abstract ideas visually engaging and accessible.

Android Graph Experiments is my first pet project, which I started during my internship at my first job while learning calculus, pre-calculus, and Android development. It reflects a deep interest in mathematical visualizations and function plotting.

Features:

  • Function plotting with smooth rendering.
  • Support for various mathematical equations.
  • A dynamic and interactive graphing experience.

Known issues [WIP]:

  • Remove AsyncTask in SurfaceRenderer
  • Migrate to Kotlin
  • Bug fixes, refactoring drawing policies and attributes
  • Add Jetpack Compose support

Example: Butterfly Curve

One of the visually striking curves that can be plotted is the Butterfly Curve, defined by the parametric equations:

$$ x = \sin(t) \left(e^{\cos(t)} - 2\cos(4t) - \sin^5\left(\frac{t}{12}\right)\right) $$

$$ y = \cos(t) \left(e^{\cos(t)} - 2\cos(4t) - \sin^5\left(\frac{t}{12}\right)\right) $$

Butterfly Curve


Here are few samples I plotted:

Spiral Test Phone


Tablet (10" resolution 2560x1600):

A Box

Complex Diamond

Eight Boxes

First ISO Space

Four adjacent boxes

Four stack boxes

Test Boxes

Two Nested Boxes

O Circles

Parabola Hyperbola Ellipse

Protons

Pyramid Diamond

Simple Diamond

Ellipses With Circle

Filled Pyramid Diamond 3

Filled Pyramid Diamond 2

Sin Cos Tan

Curve Test 2

Spiral1

Spiral2

Spiral3

Spiral4

Spiral5

Spiral6

Spiral7

The Ring

Uranus

Planets

Complex ISO Empty

Complex ISO

X Complex ISO

Complex ISO Perspective


MIT License

About

Graphing experiments on Android.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published